MCP server · Code and developer tools
GitLab MCP server
Gives an assistant access to GitLab projects, issues, merge requests, pipelines and search through an MCP endpoint built into GitLab.
- Maintainer
- GitLab (official)
- Licence
- MIT
- Runs
- Remote (URL)
- Sign-in
- OAuth sign-in in the app
- Registry version
- 0.0.1 (updated 2025-10-02)
- Last activity
- 2026-10-12
Overview
What it does
The GitLab MCP server is part of GitLab itself rather than a separate package. Every GitLab.com, Self-Managed and Dedicated instance exposes it at /api/v4/mcp over HTTP. Clients sign in with OAuth 2.0 and register themselves through dynamic client registration, or send a fine-grained personal access token with the MCP tool permission. It is generally available from GitLab 19.5 and included in the Free tier from 19.2. Clients that only speak stdio can connect through mcp-remote.
It suits teams whose code, issues and CI already live in GitLab and who want an assistant to read merge requests, check failing pipelines or file work items. Tools come in toolsets: core, merge_requests, work_items, repository and ci are on by default, while wikis and code_security are opt-in. You choose toolsets with the X-Gitlab-Enabled-Mcp-Server-Toolsets header or name single tools with X-Gitlab-Enabled-Mcp-Server-Tools. Vulnerability tools need GitLab Ultimate, and GitLab Duo agent tools appear only where Duo Agent Platform is available.
Tools
What the assistant can do
- Create and read issues and work items, and link work items
- Read, review, comment on and merge merge requests
- Read repository files, trees, commits, branches and tags, and add commits
- List, inspect and manage CI/CD pipelines and jobs
- Search projects, groups, labels and code, including semantic search
- Opt-in wiki pages and vulnerability tools
Install
Install GitLab MCP server in your app
You need:
- A GitLab.com account or a GitLab Self-Managed or Dedicated instance (replace gitlab.com in the URL with your host)
- MCP server access allowed for your top-level group on GitLab.com, or for the instance on Self-Managed and Dedicated
- Node.js 20 or newer, only if your client needs mcp-remote
Run in your project. --scope local keeps the servers private to you in this project; use user for every project.
claude mcp add --scope local --transport http gitlab https://gitlab.com/api/v4/mcp
- gitlab: if the server needs a sign-in, the app will ask (run /mcp in Claude Code).
Project root. Commit it to share the servers with your team; each person sets the variables in their own shell.
{
"mcpServers": {
"gitlab": {
"type": "http",
"url": "https://gitlab.com/api/v4/mcp"
}
}
}
- gitlab: if the server needs a sign-in, the app will ask (run /mcp in Claude Code).
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json (Settings → Developer → Edit Config). Restart Claude after saving.
{
"mcpServers": {}
}
- gitlab is a remote server: add it as a custom connector (Customize → Connectors → + Add → Add custom connector; on Team and Enterprise plans an owner adds it under Organization settings → Connectors), with the URL https://gitlab.com/api/v4/mcp.
In your project, or ~/.cursor/mcp.json for every project.
{
"mcpServers": {
"gitlab": {
"url": "https://gitlab.com/api/v4/mcp"
}
}
}
- gitlab: if the server needs a sign-in, the app will ask.
In your workspace. VS Code asks for each secret the first time a server starts and stores it securely.
{
"servers": {
"gitlab": {
"type": "http",
"url": "https://gitlab.com/api/v4/mcp"
}
}
}
- gitlab: if the server needs a sign-in, the app will ask.
macOS/Linux: ~/.config/devin/mcp_config.json · Windows: %APPDATA%\devin\mcp_config.json. Read by the default Devin Local agent and by the legacy Cascade agent.
{
"mcpServers": {
"gitlab": {
"url": "https://gitlab.com/api/v4/mcp"
}
}
}
- gitlab: if the server needs a sign-in, the app will ask.
Want it alongside other servers? Open GitLab MCP server in the MCP config generator and add the rest; it writes one file per app. The snippets follow the setup in the server’s README, checked on 2026-10-14.
Before you install
- The default toolsets include write tools such as add_commit, accept_merge_request and manage_pipeline, so the assistant can push commits, merge and run pipelines with your permissions.
- The docs describe no read-only switch. Narrow what is exposed with the X-Gitlab-Enabled-Mcp-Server-Toolsets or X-Gitlab-Enabled-Mcp-Server-Tools header.
- Legacy personal, project and group access tokens are rejected with 403. Use OAuth or a fine-grained personal access token scoped to the MCP tool resource.
- A remote server sees whatever the assistant sends it. Sign in with the narrowest access the service offers. See how to choose a safe server.
Why it’s listed
Why we list it
GitLab’s own server, available on every tier and deployment type, with header-based toolset selection for keeping the tool list small.
Related
More MCP servers
- GitHub MCP ServerLets an assistant read code, manage issues and pull requests, and check Actions runs in the GitHub repositories you can access.
- Sentry MCPLets a coding assistant search Sentry errors, traces and logs, triage issues and read Sentry docs while you debug.
- Figma MCP serverGives a coding assistant design context from Figma files, such as layout, variables and components, and can write back to the canvas.
- Semgrep MCP serverLets an assistant scan code for security issues with Semgrep, write custom rules and pull findings from Semgrep AppSec Platform.
- SonarQube MCP ServerConnects an assistant to SonarQube Cloud or Server to analyse code, review issues and hotspots, and check quality gates.
- Postman MCP ServerConnects an assistant to your Postman workspaces, collections, specs and environments, and can generate client code from APIs.
All MCP serversMCP config generatorGuide: MCP servers in Claude CodeGuide: what is MCP?