gitlab-mcp
zereight · zereight/gitlab-mcp
A comprehensive MCP server for GitLab providing over 100 tools to manage projects, issues, merge requests, and pipelines directly from your agent.
MCP server for GitLab: 100+ tools for projects, MRs, issues, pipelines, wikis and more via the GitLab REST/GraphQL API
Preview
What you can do with it
- Review and manage GitLab merge requests within Claude Code or Cursor.
- Trigger and monitor CI/CD pipelines through agent commands.
- Create and organize GitLab issues based on code analysis results.
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
GitLab MCP Server
English | 한국어 | 简体中文 | Português (Brasil)
📖 Documentation → Setup guides, environment variables, and the full tool reference live on the hosted docs site.
Install @zereight/mcp-gitlab with the recommended local personal-access-token setup. These commands use the same arguments as the Claude Code and Codex guides.
Install the zereight-mcp-gitlab binary first with npm install -g @zereight/mcp-gitlab, or Homebrew brew tap zereight/gitlab-mcp https://github.com/zereight/gitlab-mcp and brew install zereight/gitlab-mcp/zereight-mcp-gitlab.
Read the token without echo, then export it. The shell history keeps the variable name.
read -rs GITLAB_PERSONAL_ACCESS_TOKEN && export GITLAB_PERSONAL_ACCESS_TOKEN
| Client | Install |
|---|---|
| Claude Code | claude mcp add gitlab --transport stdio --scope local --env GITLAB_PERSONAL_ACCESS_TOKEN="$GITLAB_PERSONAL_ACCESS_TOKEN" --env GITLAB_API_URL=https://gitlab.com/api/v4 -- zereight-mcp-gitlab |
| Codex | codex mcp add gitlab --env GITLAB_PERSONAL_ACCESS_TOKEN="$GITLAB_PERSONAL_ACCESS_TOKEN" --env GITLAB_API_URL=https://gitlab.com/api/v4 -- zereight-mcp-gitlab |
| Cursor | Cursor setup guide |
| VS Code | VS Code setup guide |
| JSON clients | JSON-based MCP clients setup guide |
@zereight/mcp-gitlab
Agent-workflow-optimized GitLab MCP — manage projects, merge requests, issues, pipelines, wiki, releases, tags, milestones, and more through stdio, SSE, and Streamable HTTP.
Supports PAT, OAuth, read-only mode, dynamic API URLs, and remote authorization for VS Code, Claude, Cursor, Copilot, and other MCP clients.
Why use this GitLab MCP?
- 276 tools: 274 in toolsets +
execute_graphql+discover_tools— start with a small toolset; activate more at runtime without CQRS-style grouping - MR 2-step review —
list_merge_request_changed_files→ batchedget_merge_request_file_diff - Agent Skill built in — workflow guidance in
skills/gitlab-mcp/ - Flexible auth — Personal Access Token, local OAuth2 browser flow, MCP OAuth proxy, and per-request remote authorization
- Multiple transports — stdio for local clients, SSE for legacy clients, and Streamable HTTP for modern remote deployments
- Client-friendly setup — examples for Claude Code, Codex, Antigravity, OpenCode, Copilot, Cline, Roo Code, Cursor, Kilo Code, and Amp Code
- Self-hosted ready — works with custom GitLab instances, proxy settings, and dynamic API URL routing
- JMESPath result filtering — optional
jmespathon tool calls (seetools/list) shrinks JSON results without changing GitLab API requests; when response masking is enabled, JMESPath runs on masked data.
How we compare
| @zereight/mcp-gitlab | GitLab MCP A (community CQRS-style) | GitLab official MCP server | |
|---|---|---|---|
| Best for | AI agent workflows | Enterprise multi-instance / grouped tools | Built into GitLab, no separate install |
| Tool model | 276 tools: 274 in toolsets + execute_graphql + discover_tools | ~50–60 grouped browse_* / manage_* tools | Toolsets chosen with an HTTP header |
| MR review | 2-step batched diff | Varies | get_merge_request with diffs |
| Node.js | >=18.17 | Often >=24 | Node.js 20+ for stdio via mcp-remote |
| License | MIT | Varies | Part of GitLab |
Full comparison with GitLab MCP A →
GitLab also ships an official MCP server.
- Free, Premium, and Ul