GitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more
100K+
Agent-workflow-optimized GitLab MCP server — manage projects, merge requests, issues, pipelines, wiki, releases, tags, milestones, and more from AI clients such as Claude Code, VS Code, Cursor, and Copilot.
discover_tools for on-demand activationdocker pull zereight050/gitlab-mcp:latest
docker run -d --name gitlab-mcp -p 127.0.0.1:3002:3002 \
-e GITLAB_PERSONAL_ACCESS_TOKEN="<your-token>" \
-e GITLAB_API_URL="https://gitlab.com/api/v4" \
-e STREAMABLE_HTTP=true \
-e HOST=0.0.0.0 \
zereight050/gitlab-mcp:latest
With Docker Compose, copy the compose file from the
repository, set at least
GITLAB_PERSONAL_ACCESS_TOKEN, STREAMABLE_HTTP=true, and HOST=0.0.0.0 in your .env
(or environment), and run docker compose up -d. Without HOST=0.0.0.0 the server binds
to container loopback and the published port stays unreachable.
| Variable | Default | Description |
|---|---|---|
GITLAB_PERSONAL_ACCESS_TOKEN | — | GitLab personal access token (required for PAT) |
GITLAB_API_URL | https://gitlab.com/api/v4 | GitLab API endpoint, self-hosted supported |
STREAMABLE_HTTP | false | Set true for Streamable HTTP transport (port 3002) |
SSE | false | Set true for legacy SSE transport |
HOST | 127.0.0.1 | Set 0.0.0.0 inside containers |
PORT | 3002 | HTTP port for SSE / Streamable HTTP |
GITLAB_READ_ONLY_MODE | false | Set true to expose read-only tools |
GITLAB_ALLOWED_PROJECT_IDS | — | Comma-separated project allowlist |
REMOTE_AUTHORIZATION | false | Multi-user mode, each caller sends its own token |
Full list: environment variables.
latest — latest stable releasevX.Y.Z — pinned releases, e.g. zereight050/gitlab-mcp:v2.1.59Content type
Image
Digest
sha256:126398a2d…
Size
65.4 MB
Last updated
about 8 hours ago
docker pull zereight050/gitlab-mcp