How to connect Gitlab MCP with VS Code

How to connect Gitlab MCP with VS Code VS Code is the most popular code editor out there. With its recent AI makeover, it can do more than just help you write code. You can connect your applications to it and let LLMs automate many of the mundane tasks in your workflow. In this guide, I will explain how to connect Gitlab with VS Code in the most secure and robust way possible via Composio.

Gitlab logoGitlab
Oauth2

Gitlab is a web-based DevOps platform for managing source code, issues, and CI/CD pipelines. It streamlines software development with integrated collaboration and automation tools.

58 Tools

How to connect Gitlab MCP with VS Code

VS Code is the most popular code editor out there. With its recent AI makeover, it can do more than just help you write code. You can connect your applications to it and let LLMs automate many of the mundane tasks in your workflow.

In this guide, I will explain how to connect Gitlab with VS Code in the most secure and robust way possible via Composio.

Also integrate Gitlab with

Why use Composio?

Composio provides:

  • Access to 1,000+ managed apps from a single MCP endpoint. This makes it convenient for agents to run cross-app workflows.
  • Programmatic tool calling. Allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
  • Large tool response handling outside the LLM context. This minimizes context bloat from large tool responses.
  • Dynamic just-in-time access to thousands of tools across hundreds of apps. Composio loads the tools your agent needs, so LLMs are not overwhelmed by tools they do not need.

Integrate Gitlab MCP with VS Code

1. Install with one click

Click the button below to add Composio to VS Code. You will be prompted to authorize. This requires VS Code 1.99+ with GitHub Copilot.

+Install in VS Code

2. Or add manually

Open or create .vscode/mcp.json in your project root and add the following configuration:

bash
{
  "servers": {
    "composio": {
      "type": "http",
      "url": "https://connect.composio.dev/mcp"
    }
  }
}

3. Authorize

Click the install button to authorize VS Code to connect to Composio. VS Code will detect OAuth and prompt you to sign in.

VS Code MCP server install screen for Composio

A browser window will open to authorize.

Composio authorization browser window

4. Authenticate Gitlab and start working

Back in VS Code chat, ask the agent to connect to Gitlab or give it any Gitlab-related task.

For example, ask it to:

  • "Create new GitLab group for QA team"
  • "Open bug issue in frontend project"
  • "Create branch from latest main commit"

It will prompt you to authenticate and authorize access to Gitlab.

That is it. Composio tools are now available in VS Code, and your Gitlab account is ready to use.

Way Forward

Now that Gitlab is connected, extend your setup by connecting the other apps you already use every day, so your agent can run true cross-app workflows end to end.

  • Connect Calendar to turn threads into scheduled meetings automatically.
  • Connect Slack or Teams to post summaries, approvals, and alerts where your team works.
  • Connect Notion, Linear, Jira, or Asana to convert requests into tickets, tasks, and docs.
  • Connect Drive, Dropbox, or OneDrive to fetch, file, and share attachments without manual steps.
  • Connect HubSpot or Salesforce to log customer context, update records, and draft follow-ups.

Start with one workflow you do repeatedly, then keep adding apps as you find new handoffs. With everything behind a single MCP endpoint, your agent can coordinate multiple tools safely and reliably in one conversation.

TOOLS

Supported Tools

Every Gitlab action and event your agent gets out of the box.

Archive Project

Tool to archive a project.

Create GitLab Group

Tool to create a new group in GitLab.

Create Project

Tool to create a new project in GitLab.

Create Project Issue

Tool to create a new issue in a GitLab project.

Create Repository Branch

Tool to create a new branch in a project.

Delete Project

Tool to delete a GitLab project by its ID.

Download Project Avatar

Tool to download a project's avatar image.

Erase Job

Tool to erase the content of a specified job within a project.

Get Commit References

Tool to get all references (branches or tags) a commit is pushed to.

Get Commit Sequence

Tool to get the sequence number of a commit in a project by following parent links from the given commit.

Get Group Details

Tool to retrieve information about a specific group by its ID.

Get Group Member

Tool to retrieve details for a specific group member.

Get Groups

Get Groups

Get Job Details

Tool to retrieve details of a single job by its ID within a specified project.

Get Merge Request Notes

Tool to fetch comments on a merge request.

Get Project

Tool to get a single project by ID or URL-encoded path.

Get Project Languages

Tool to list programming languages used in a project with percentages.

Get Project Member

Tool to retrieve details for a specific project member.

Get Project Member All

Tool to retrieve details for a specific project member (including inherited and invited members).

Get Project Merge Request

Tool to fetch full details for a single merge request when the MR IID is known.

Get Merge Request Commits

Tool to get commits of a merge request.

Get Project Merge Requests

Tool to retrieve a list of merge requests for a specific project.

Get Projects

Tool to list all projects accessible to the authenticated user.

List Merge Request Diffs

Tool to list all diff versions of a merge request.

Get Repository Branch

Tool to retrieve information about a specific branch in a project.

Get Repository Branches

Retrieves a list of repository branches for a project.

Get Single Commit

Tool to get a specific commit identified by the commit hash or name of a branch or tag.

Get Single Pipeline

Tool to retrieve details of a single pipeline by its ID within a specified project.

Get User

Tool to retrieve information about a specific user by their ID.

Get User Preferences

Tool to get the current user's preferences.

Get Users

Tool to retrieve a list of users from GitLab.

Get User Status

Tool to get a user's status by ID.

Get User Status

Tool to get the current user's status.

Get User Support PIN

Tool to get details of the current user's Support PIN.

Import project members

Tool to import members from one project to another.

List All Group Members

Tool to list all members of a group including direct, inherited, and invited members.

List All Project Members

Tool to list all members of a project (direct, inherited, invited).

List Billable Group Members

Tool to list billable members of a top-level group (including its subgroups and projects).

List Group Members

Tool to list direct members of a group.

List Group Projects

Tool to list projects within a GitLab group by group ID or full path.

List Pending Group Members

Tool to list pending members of a group and its subgroups and projects.

List Pipeline Jobs

Tool to retrieve a list of jobs for a specified pipeline within a project.

List Project Groups

Tool to list ancestor groups of a project.

List Project Invited Groups

Tool to list groups invited to a project.

List Project Issues

Tool to list issues for a project with filtering options (state, labels, search, assignee, author, etc.

List Project Pipelines

Tool to retrieve a list of pipelines for a specified project.

List Project Shareable Groups

Tool to list groups that can be shared with a project.

List Project Repository Tags

Tool to retrieve a list of repository tags for a specified project.

List Project Transfer Locations

Tool to list namespaces available for project transfer.

List project users

Tool to list users of a project.

List Repository Commits

Tool to get a list of repository commits in a project.

List User Projects

Tool to list projects owned by a specific user.

Create Support PIN

Tool to create a support PIN for your authenticated user.

Update User Preferences

Tool to update the current user's preferences.

Set User Status

Tool to set the current user's status.

Share Project With Group

Tool to share a project with a group.

Start Housekeeping Task

Tool to start the housekeeping task for a project.

Update Project Issue

Tool to update an existing issue in a GitLab project (title, description, labels, assignees, state, etc.

FAQ

Frequently asked questions

With a standalone Gitlab MCP server, the agents and LLMs can only access a fixed set of Gitlab tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Gitlab and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. VS Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Gitlab tools.

Yes, absolutely. You can configure which Gitlab scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Gitlab data and credentials are handled as safely as possible.

Start with Gitlab.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Gitlab tool your agent needs.Free to start.

Start building