GitLab MCP

📖 Documentation → Setup guides, environment variables, and the full tool reference live on the hosted docs site. Its 40 documented tools cover merge, request, branch, note. It runs locally over stdio via the published package.

People connecting documentation tools to Claude, Cursor, VS Code, or another MCP client. The project is written in TypeScript.

VERIFIED ACTIVE

LAST COMMIT 2026-08-24 · ★ 1,918 · #2 OF 183 MAINTAINED DOCUMENTATION · VERIFIED 2026-08-25

MIT · TypeScript servers · how we verify → /methodology

01 · Install GitLab MCP

before you install - you'll need

Set STREAMABLE_HTTP, GITLAB_MCP_OAUTH, GITLAB_OAUTH_APP_ID, GITLAB_API_URL, GITLAB_PERSONAL_ACCESS_TOKEN, GITLAB_TOOLSETS, SSE_AUTH_TOKEN, REMOTE_AUTHORIZATION before connecting. MCP_SERVER_URL, GITLAB_PERMISSION_MODE, GITLAB_OAUTH_CALLBACK_PROXY, SESSION_TIMEOUT_SECONDS are optional or environment-specific per the README.

Claude Code

claude mcp add zereight-gitlab-mcp -- npx -y @zereight/mcp-gitlab

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "zereight-gitlab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

license MIT - declared in the repository

npm package @zereight/mcp-gitlab - published under the repo owner's npm scope (@zereight)

registry namespace io.github.zereight is GitHub-verified and matches the repo owner

03 · What GitLab MCP can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can get merge request approval details including approvers (uses approval_state when available, otherwise falls back to approvals), get the conflicts of a merge request in a GitLab project, list pipelines for a merge request with pagination support, and execute a GitLab GraphQL query.

Capability map

Tools grouped from the project's README - what GitLab MCP lets an agent do.

Merge

19 tools - e.g. Merge a merge request in a GitLab project; Approve a merge request (requires appropriate permissions); Unapprove a previously approved merge request

merge_merge_request · approve_merge_request · unapprove_merge_request · get_merge_request_approval_state · get_merge_request_conflicts · list_merge_request_pipelines…

Branch

8 tools - e.g. Create a new branch in a GitLab project; Get branch details (commit, protection status); Delete branch from project

create_branch · get_branch · delete_branch · get_protected_branch · protect_branch · unprotect_branch…

create & write

4 tools - e.g. Create a new GitLab project; Create a new GitLab group or subgroup (name, path, description, visibility, and optional parent_id); Create a new issue in a GitLab project

create_repository · create_group · create_issue · create_note

File

2 tools - e.g. Create or update a single file in a GitLab project; Get the contents of a file or directory from a GitLab project

create_or_update_file · get_file_contents

read & search

2 tools - e.g. Search for GitLab projects; List branches in project with search filter

search_repositories · list_branches

run & execute

1 tool - e.g. Execute a GitLab GraphQL query

execute_graphql

Push

1 tool - e.g. Push multiple files to a GitLab project in a single commit

push_files

Fork

1 tool - e.g. Fork a GitLab project to your account or specified namespace

fork_repository

Latest releases

v2.1.52 · 2026-08-22

Changes in v2.1.52 · - chore(homebrew): sync formula for release #673 · Contributors · @github-actions[bot] (1 PR: #673)

v2.1.51 · 2026-08-22

Changes in v2.1.51 · - feat: add standalone device-flow OAuth auth command #669 · - feat: per-file actions and base64 encoding in push_files #670 · - fix: accept null mode on list_job_artifacts entries #667 · - fix…

v2.1.49 · 2026-08-18

Changes in v2.1.49 · - fix: accept omitted release on GitLab tag responses (#653) #660 · - fix: use direct Node launcher for Smithery #663 · - chore(homebrew): sync formula for release #659 · Other Changes · - Improve…

04 · Who maintains GitLab MCP

gitlab-mcp is maintained by zereight. It's the only MCP server we track from this author; the repo dates to Feb 2025.

05 · Facts

category
documentation - ranked #2 of 183 actively-maintained documentation servers as of 2026-08-25.
release cadence
10+ releases in the last 90 days (latest 2026-08-22)
registry
io.github.zereight/gitlab-mcp (active, first published 2026-04-24 · 42 versions)
packages
npm:@zereight/mcp-gitlab

06 · GitLab MCP FAQ

Is GitLab MCP still maintained?

Yes - as of 2026-08-25, its last commit was 2026-08-24 and it shipped 10+ releases in the last 90 days. We re-verify nightly.

What can GitLab MCP do?

With this server connected, an agent can get merge request approval details including approvers (uses approval_state when available, otherwise falls back to approvals), get the conflicts of a merge request in a GitLab project, list pipelines for a merge request with pagination support, and execute a GitLab GraphQL query.

How do I install GitLab MCP?

Run `npx -y @zereight/mcp-gitlab`. The README documents 12 environment variables (STREAMABLE_HTTP, GITLAB_MCP_OAUTH, GITLAB_OAUTH_APP_ID…) to set first. Set STREAMABLE_HTTP, GITLAB_MCP_OAUTH, GITLAB_OAUTH_APP_ID, GITLAB_API_URL, GITLAB_PERSONAL_ACCESS_TOKEN, GITLAB_TOOLSETS, SSE_AUTH_TOKEN, REMOTE_AUTHORIZATION before connecting. MCP_SERVER_URL, GITLAB_PERMISSION_MODE, GITLAB_OAUTH_CALLBACK_PROXY, SESSION_TIMEOUT_SECONDS are optional or environment-specific per the README. You can also paste the ready-made client config above.

Does GitLab MCP run locally?

Yes - it's a stdio server: it runs on your machine (via npx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to GitLab MCP

head to head · Context7 vs GitLab MCP · Repowise vs GitLab MCP · Svelte MCP vs GitLab MCP