Open source GitLab MCP server for AI assistants: 2-tool dynamic find/execute over 850+ GitLab actions (1,000+…
GitLab MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**All of GitLab for your AI assistant.** Up to 1,098 actions over GitLab's REST and GraphQL APIs, from Free to Ultimate and on GitLab.com, in one self-contained binary that works with Claude, Cursor, VS Code, Codex and any other MCP client. You ask in plain language; it does the GitLab work.
**11,343 tokens of startup context by default, the same on every GitLab tier (1,941 with GITLAB_MCP_CAPABILITY_SURFACE=minimal).** Two tools reach the whole catalog, where listing every tool as its own costs from 573,871 to 730,505 tokens. Measured with the cl100k_base tokenizer and checked in CI. How it is measured
> "Review merge request !15: is it safe to merge?" · "Why did the last pipeline fail?" · "List open issues assigned to me" · "Generate release notes from v1.0 to v2.0"
Why this server
- **Every tier and every instance.** Free/CE, Premium and Ultimate, self-managed or GitLab.com with its Orbit knowledge graph. The tier is detected and the catalog follows it.
- **The token you already have.** A personal, project or group access token with api, or read_api for the actions GitLab accepts from it; a fine-grained token, judged action by action from its grant; OAuth in HTTP mode. Each action's tool reference entry says which scope and which fine-grained permissions it needs.
- **Guard rails.** Read-only mode, safe mode (a preview of each write instead of the write), tools excluded by name, and a confirmation before anything destructive.
- **Three surfaces, two transports.** Two discovery tools by default, one tool per domain or one per action; stdio for a desktop client, or HTTP for a shared deployment that keeps each credential apart. 45 resources and 37 prompts besides.
- **Releases you can verify.** Signed checksums, an SBOM per binary and build provenance for every artifact.
Install
The buttons register the Docker image, so they need Docker; the Claude Desktop row downloads a native extension instead. Create a personal access token with the api scope (or read_api for the actions GitLab accepts from it; add GITLAB_MCP_READ_ONLY=true when nothing may be written).
Client
One-click button
Token step
VS Code
prompts you (masked)
Cursor
edit YOUR_GITLAB_TOKEN
LM Studio
edit YOUR_GITLAB_TOKEN
Kiro
edit YOUR_GITLAB_TOKEN
Claude Desktop
settings UI
**Claude Code.** The registration command never carries the token: -e GITLAB_TOKEN forwards it from the environment Claude Code hands docker.
**Any other client** runs one of these as the server's command, with GITLAB_TOKEN in the environment it passes:
For a self-managed instance, set GITLAB_URL=https://gitlab.example.com beside the token; with the Docker image, also forward it by adding -e GITLAB_URL to the docker arguments, since the container receives only the variables named there (Docker install). Every channel, per-client configuration and verification step is in the installation guide, and an assistant installing it for you will find the same in llms.txt.