MCP Directory

GitLab MCP Server (zereight)

Popular community GitLab MCP server for projects, MRs, issues, pipelines, wikis and releases.

Verified
stdio (local)
API key
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npx -y @zereight/mcp-gitlab

Paste 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>"
      }
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

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_request

Create a new merge request in a project

get_merge_request_diffs

Fetch the diffs/changed files for a merge request

create_merge_request_note

Add a comment or review note to a merge request

create_issue

Create a new issue in a project

list_issues

List and filter issues in a project

update_issue

Edit or close an existing issue

list_pipelines

List CI/CD pipelines for a project

get_pipeline_job_output

Retrieve the log output of a pipeline job

get_file_contents

Read a file from a repository at a given ref

create_or_update_file

Commit a new or changed file to a repository

search_repositories

Search for projects/repositories

create_release

Create 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

  1. 1Create a GitLab Personal Access Token with the `api` scope
  2. 2Add the server to your MCP client config, running `npx @zereight/mcp-gitlab` (or the Docker image)
  3. 3Set the `GITLAB_PERSONAL_ACCESS_TOKEN` and `GITLAB_API_URL` environment variables
  4. 4Optionally set `GITLAB_READ_ONLY_MODE=true` to restrict to read-only tools
  5. 5Restart your MCP client and confirm the GitLab tools are listed
  6. 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)

Compare all alternatives →

Microsoft's official browser-automation MCP using Playwright's accessibility tree (no vision model).

Featured
Verified
stdio (local)
No auth
TypeScript
12 tools
Updated 9 days agoRepo

Up-to-date, version-specific library documentation injected into your coding agent.

Verified
stdio (local)
API key
TypeScript
2 tools
Updated 13 days agoRepo

LSP-powered coding agent toolkit: semantic symbol search, references and structural edits.

Verified
stdio (local)
No auth
Python
11 tools
Updated 11 days agoRepo