Official Dev Tools

GitLab

Anthropic's official GitLab server for repos, MRs, and pipelines.

Works with: Claude DesktopClaude CodeCursorWindsurfCline
Quick install
npx -y @modelcontextprotocol/server-gitlab

How to install the GitLab MCP server

Add this to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-gitlab"
      ]
    }
  }
}

Add this to your Claude Code MCP configuration:

npx -y @modelcontextprotocol/server-gitlab

Add this to your Cursor MCP configuration:

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-gitlab"
      ]
    }
  }
}

Add this to your Windsurf MCP configuration:

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-gitlab"
      ]
    }
  }
}

Add this to your Cline MCP configuration:

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-gitlab"
      ]
    }
  }
}

The GitLab MCP server is Anthropic’s official integration with GitLab. It gives Claude full read and (optionally) write access to your repositories, merge requests, issues, and CI/CD pipelines. Mirrors the GitHub server’s API surface, so workflows built around one move easily to the other.

Why use it

For teams running GitLab (especially self-hosted), this is the equivalent of the GitHub MCP server for the GitLab ecosystem. Same productivity wins: collapse dozens of tab-switches into single prompts.

Self-hosted GitLab is where this server especially earns its keep. Most agentic dev tools assume GitHub. Having Claude natively understand your GitLab MRs and pipelines closes the gap.

What it actually does

Read and search repos, list and filter merge requests, create and comment on MRs, manage issues, fetch CI/CD pipeline status, browse releases, manage labels and milestones.

Practical patterns:

  • “Show me all open MRs in our group that have been waiting for review for more than three days.”
  • “Create an issue in repo X titled ‘fix sitemap lastmod’, label it ‘bug’.”
  • “What’s the status of the last pipeline on main?”

Gotchas

Personal access tokens are scoped to a single user. For team workflows, each user runs their own server with their own token. Don’t share tokens.

Rate limits on self-hosted instances depend on your GitLab admin’s configuration. If you hit limits, scope queries narrowly or coordinate with your admin.

GitLab MCP server: FAQs

Does it work with self-hosted GitLab?

Yes. Set GITLAB_API_URL to your instance URL. The server uses standard GitLab REST endpoints, so private and self-hosted instances work the same as gitlab.com.

What permissions does it need?

A personal access token with the scopes you intend to use. Common ones: read_repository, read_api, api (for write). Scope narrowly; don't grant admin access unless you specifically need it.

Can it trigger pipelines?

Yes, with write API scope. Claude can create or retry pipelines, but most workflows just read pipeline status to inform decisions.

How is it different from GitHub MCP?

Same shape, different platform. If you mirror code to GitLab, you can run both servers and let Claude pick. Most teams use one or the other.

Does it expose group-level data?

Yes. Group hierarchies, members, projects within groups, and group-level merge requests are all accessible.