Verified

GitLab MCP Server

GitLab resources management through stdio, SSE, and Streamable HTTP transports.

Data last scanned today · Reviewed today

7312 dangerous tools105 tools1,955TypeScriptMIT

Overview

This TypeScript-based server facilitates agent-driven interaction with GitLab instances. It exposes extensive functionality for managing projects, merge requests, issues, pipelines, wikis, releases, tags, and milestones. The architecture is designed for adaptability, supporting various authentication methods including Personal Access Tokens, OAuth2, and remote authorization. It differentiates itself by offering over 200 tools with dynamic discovery, allowing agents to selectively enable functionality at runtime. It is built for versatility across deployment environments, supporting both local stdio connections and remote SSE or Streamable HTTP configurations.

Our verdict

With a security score of 53/100, this tool carries a high risk level. The score reflects that the server is community-maintained rather than official and lacks an independent editorial security review, meaning users should exercise caution regarding the authentication methods and potential data access. It is suitable for developers comfortable auditing community-sourced code but should be avoided in high-security environments until read-only modes and auth flows are verified.

  • Large community footprint with 1955 GitHub stars
  • Active development with commits within the last 24 hours
  • Lean supply-chain profile with only 15 direct dependencies
  • Supports multiple transport protocols including SSE and HTTP
  • Security risk level is high due to community-only maintenance
  • Authentication methods and read-only modes remain unverified
  • Lacks official vendor support or auditing

Setup

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

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
create_pipeline_schedule_variableCreate a variable for a pipeline schedulemedium
update_pipeline_schedule_variableUpdate a variable of a pipeline schedulemedium
delete_pipeline_schedule_variableDelete a variable from a pipeline schedulehigh
play_pipeline_jobRun a manual pipeline jobmedium
play_pipeline_jobsPlay multiple manual pipeline jobs sequentiallymedium
retry_pipeline_jobRetry a failed or canceled pipeline jobmedium
cancel_pipeline_jobCancel a running pipeline jobmedium
erase_pipeline_jobErase a pipeline job log and artifactshigh
wait_for_pipelineWait for a pipeline to reach a terminal statuslow
wait_for_jobWait for a job to reach a terminal statuslow

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What authentication methods does the server support?

The server supports Personal Access Tokens, local OAuth2 browser flows, OAuth2 via an MCP proxy, and per-request remote authorization.

Does this server support custom GitLab instances?

Yes, the server is designed for self-hosting and supports custom GitLab instances, proxy settings, and dynamic API URL routing.

Which transport protocols are available for connecting to the server?

The server supports stdio for local clients, SSE for legacy clients, and Streamable HTTP for modern remote deployments.

What are the Node.js version requirements?

The server requires Node.js version 18.17 or higher.

How can I perform OAuth2 authentication without a localhost callback?

You can use the standalone device flow command by running 'zereight-mcp-gitlab auth' and then starting the server with the environment variable 'GITLAB_USE_OAUTH=true'.

Alternatives

Changelog

Badge

GitLab MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.