
GitLab MCP Server (zereight)
Popular community GitLab MCP server for projects, MRs, issues, pipelines, wikis and releases.
Add to your client
Copy the config for your MCP client and paste it into its config file.
npx -y @zereight/mcp-gitlabPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"gitlab-mcp-server-zereight": {
"command": "npx",
"args": [
"-y",
"@zereight/mcp-gitlab"
],
"env": {
"GITLAB_API_URL": "https://gitlab.com/api/v4",
"GITLAB_PERSONAL_ACCESS_TOKEN": "<your-gitlab-token>"
}
}
}
}Before you start
- Node.js 18 or later (or Docker to run the zereight050/gitlab-mcp image)
- A GitLab Personal Access Token with at least the `api` scope (create it under GitLab > User Settings > Access Tokens)
- Your GitLab API URL, e.g. https://gitlab.com/api/v4 for SaaS or your self-hosted instance URL
- An MCP-capable client (Claude Desktop, Cursor, VS Code, etc.)
About GitLab MCP Server (zereight)
A widely-used community MCP server that exposes the GitLab REST and GraphQL APIs to AI assistants over stdio (with optional streamable HTTP). It works against both gitlab.com and self-hosted GitLab instances, and covers the full project lifecycle: repositories and files, merge requests, issues, pipelines/CI-CD, wikis, releases, tags, milestones, and labels.
The server is broad (well over a hundred tools) and supports several auth modes: a personal access token, a local browser OAuth flow, an MCP OAuth proxy, and per-request remote authorization for multi-user deployments. A GITLAB_READ_ONLY_MODE flag restricts the toolset to read-only operations, which is useful when you want the assistant to inspect but not mutate a project.
It is distributed as the @zereight/mcp-gitlab npm package and as the zereight050/gitlab-mcp Docker image. This is a community project (not maintained by GitLab Inc.) but is one of the most popular GitLab MCP integrations.
Tools & capabilities (12)
create_merge_requestCreate a new merge request in a project
get_merge_request_diffsFetch the diffs/changed files for a merge request
create_merge_request_noteAdd a comment or review note to a merge request
create_issueCreate a new issue in a project
list_issuesList and filter issues in a project
update_issueEdit or close an existing issue
list_pipelinesList CI/CD pipelines for a project
get_pipeline_job_outputRetrieve the log output of a pipeline job
get_file_contentsRead a file from a repository at a given ref
create_or_update_fileCommit a new or changed file to a repository
search_repositoriesSearch for projects/repositories
create_releaseCreate a release; companion tools cover tags, milestones and wiki pages
When to use it
- Use it when you want an assistant to open, review, comment on, or merge GitLab merge requests directly from your editor
- Use it when triaging or bulk-creating issues across one or more GitLab projects
- Use it when debugging CI failures and you need pipeline status and job log output without leaving your chat
- Use it when you maintain a self-hosted GitLab instance and need a token-based, read-only-capable MCP integration
- Use it when you want the assistant to read and edit repository files, wikis, or releases as part of a coding task
Quick setup
- 1Create a GitLab Personal Access Token with the `api` scope
- 2Add the server to your MCP client config, running `npx @zereight/mcp-gitlab` (or the Docker image)
- 3Set the `GITLAB_PERSONAL_ACCESS_TOKEN` and `GITLAB_API_URL` environment variables
- 4Optionally set `GITLAB_READ_ONLY_MODE=true` to restrict to read-only tools
- 5Restart your MCP client and confirm the GitLab tools are listed
- 6Verify by asking the assistant to list issues or merge requests for a known project
Security notes
A GitLab PAT can read and write across all projects you can access; scope it to read_api or specific projects where possible. Point GITLAB_API_URL at your own instance and verify TLS for self-hosted setups.
GitLab MCP Server (zereight) FAQ
Is this the official GitLab MCP server?
No. It is a popular community project (the @zereight/mcp-gitlab package), not maintained by GitLab Inc. It is licensed MIT.
Does it work with self-hosted GitLab?
Yes. Set `GITLAB_API_URL` to your instance's API endpoint; it works against both self-managed GitLab and gitlab.com.
What token scope do I need?
A Personal Access Token with at least the `api` scope. The token's own permissions determine which projects and actions are available to the assistant.
How do I stop it from modifying my repos?
Set `GITLAB_READ_ONLY_MODE=true`, which limits the exposed tools to read-only operations like listing issues, MRs, and pipelines.
Can multiple users share one server instance?
Yes. It supports OAuth flows and a `REMOTE_AUTHORIZATION` mode that accepts a per-request token, plus a streamable HTTP transport for remote deployments.
Alternatives to GitLab MCP Server (zereight)
Microsoft's official browser-automation MCP using Playwright's accessibility tree (no vision model).
Up-to-date, version-specific library documentation injected into your coding agent.
LSP-powered coding agent toolkit: semantic symbol search, references and structural edits.
Compare GitLab MCP Server (zereight) with: