GitLab MCP
Enables GitLab repository management, including branches, merge requests, issues, pipelines, and more through natural language.
README
GitLab MCP
FastMCP plugin for GitLab repository workflows. The compatibility target is GitLab 16.11.10 with the GitLab API v4, using uv, fastmcp, and python-gitlab.
The current catalog exposes 141 repository-centered MCP tools. Destructive tools, such as deletes, cancel, stop, unprotect, and merge acceptance, require an exact confirm string before they call GitLab.
Personas
- Tech Lead: repository health, branches, merge requests, code review, approval posture, discussions, and protections.
- PO: issues, issue discussions, labels, milestones, release state, delivery status, and release links.
- Dev: repository tree, files, commits, branches, merge requests, diff versions, review discussions, and pipeline feedback.
- DevOps: pipelines, jobs, artifacts, variables, environments, releases, protected refs, and external checks.
Configuration
Set these environment variables before starting the MCP server:
export GITLAB_URL="https://gitlab.example.com"
export GITLAB_TOKEN="glpat-..."
Optional variables:
GITLAB_OAUTH_TOKENGITLAB_JOB_TOKENGITLAB_SSL_VERIFY(trueorfalse, defaulttrue)GITLAB_MCP_USE_SYSTEM_TRUSTSTORE(trueorfalse, defaulttrue)GITLAB_TIMEOUT(seconds, default30)GITLAB_API_VERSION(default4)GITLAB_MCP_LOG_LEVEL(DEBUG,INFO,WARNING,ERROR, defaultINFO)GITLAB_MCP_LOG_JSON(trueorfalse, defaultfalse)GITLAB_MCP_LOG_BACKTRACE(trueorfalse, defaultfalse)GITLAB_MCP_LOG_DIAGNOSE(trueorfalse, defaultfalse)GITLAB_MCP_LOG_ENQUEUE(trueorfalse, defaultfalse)GITLAB_MCP_LOG_FORMAT(Loguru format string)
Logs are written to stderr so they do not interfere with MCP stdio transport.
When TLS verification is enabled, truststore is used by default so Python can
validate GitLab certificates against the local operating system trust store.
Run
uv sync --dev
uv run gitlab-mcp
The plugin manifest points Codex to .mcp.json, which runs the same command through uv.
Tests
uv run pytest tests/unit -q
The GitLab 16.11.10 E2E test is opt-in because the container is large and slow:
GITLAB_MCP_RUN_E2E=1 uv run pytest tests/e2e -m real_gitlab -q
The E2E suite starts one GitLab 16.11.10 container and runs workflow tests for repository operations, issue planning, merge request review and diff versions, commit collaboration, protected tags, release links, and DevOps/release metadata.
See docs/tool-catalog.md for the full tool list and docs/collaboration-tool-matrix.md for the role matrix behind notes and discussion tools.
See docs/architecture.md for the hexagonal architecture boundaries and tool registration flow.
See docs/mcp-exposition.md for the MCP safety annotations, metadata, and error handling conventions.
See docs/python-gitlab-audit.md for the executable audit matrix against python-gitlab manager metadata.
See docs/python-gitlab-tool-matrix.md for the per-tool mapping to python-gitlab functions and managers.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.