Skip to content

GitLab MCP Server

Connect your AI assistant to GitLab with up to 1033 tools via the Model Context Protocol

GitLab MCP Server is a Model Context Protocol server that enables AI assistants to interact with GitLab through natural language. Ask your AI to create issues, review merge requests, analyze pipelines, and much more — all without leaving your editor.

Instead of switching between your editor and GitLab’s web UI, just ask:

Show me all open merge requests in my-project that need review
Why did the pipeline fail on branch feature/auth? Summarize the error and suggest a fix
Create an issue titled "Refactor auth module" with priority label and assign it to me

The server translates these requests into GitLab API calls, executes them, and returns structured results your AI assistant can understand and act upon.

| Feature | Details | | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Dynamic Toolset | Default 2-tool low-token mode: find canonical actions with exact schemas, then execute canonical GitLab actions | | Meta-Tools | Optional domain mode with 33 base tools, 49 on self-managed Enterprise/Premium, and 50 on GitLab.com Enterprise/Premium with Orbit, covering projects, issues, MRs, pipelines, CI/CD, and more | | 11 Analysis Tools | AI-powered analysis via MCP sampling — pipeline failure diagnosis, MR security review, technical debt detection | | 46 MCP Resources | Read-only data endpoints for project info, user profiles, workflow guides, and the surface-aware gitlab://tools manifest | | 37 MCP Prompts | Pre-built prompt templates for reports, audits, Git workflow quality, cross-project analysis, and team workflows | | Multi-User HTTP Mode | Deploy as a shared server with per-token isolation for team environments | | GitLab CE & EE | Compatible with both Community Edition and Enterprise Edition, including self-hosted instances | | Enterprise Tools | Optional Premium/Ultimate catalog: 16 additional self-managed meta-tools, plus GitLab.com-only Orbit Knowledge Graph tools | | Auto-Update | Built-in self-update mechanism — always run the latest version | | Cross-Platform | Single binary for Linux, macOS, and Windows (amd64 & arm64) |

You: “What merge requests are open in my-org/backend and who’s assigned?”

AI Assistant (via GitLab MCP Server):

Found 3 open merge requests in my-org/backend:

| MR | Title | Author | Assignee | Pipeline | | ---- | ---------------------------- | -------- | -------- | ---------- | | !142 | Add rate limiting middleware | @alice | @bob | ✅ passed | | !139 | Fix N+1 query in /users | @charlie | @alice | ❌ failed | | !137 | Update OpenAPI spec | @bob | — | ⏳ running |

!139 has a failed pipeline — would you like me to analyze the failure?

You: “Yes, check why !139 failed”

AI Assistant:

Pipeline #8847 failed at the test stage, job unit-tests:

FAIL: TestUserService_ListUsers — expected 10 results, got 15

The N+1 fix changed the query to return all results without applying the default pagination limit. Suggested fix: Add .Limit(defaultPageSize) to the query in user_repository.go:87.

| Workflow | ❌ Without | ✅ With GitLab MCP Server | | ---------------------- | --------------------------------------------------------- | ---------------------------------------------------------------- | | Code review | Switch to GitLab UI, read diffs, write comments manually | “Review the security of MR !142 and leave comments” | | Pipeline debugging | Open pipeline logs, trace failing jobs, search for errors | “Why did the pipeline fail on feature/auth?” | | Issue management | Navigate to Issues, fill forms, assign labels one by one | “Create a P1 bug for the auth regression and assign to @alice” | | Release notes | Read every commit since last tag, write changelog by hand | “Generate release notes for v2.1.0 vs v2.0.0” | | Project overview | Open multiple tabs: MRs, issues, pipelines, milestones | “Give me a status report for my-org/backend” |

Try these with your AI assistant once GitLab MCP Server is connected:

  • “List my GitLab projects” - “Show the README of project my-app” - “Search for TODO comments across the codebase”
graph LR
    A[You] -->|natural language| B[AI Client]
    B -->|MCP protocol| C[GitLab MCP Server]
    C -->|REST v4 + GraphQL| D[GitLab Instance]
    D -->|JSON response| C
    C -->|structured result| B
    B -->|formatted answer| A

The server acts as a bridge: your AI client sends tool calls over the MCP protocol, the server translates them into GitLab REST API v4 or GraphQL requests, and returns the results in both structured JSON (for the AI) and formatted Markdown (for you).

GitLab MCP Server works with any MCP-compatible client:

  • VS Code + GitHub Copilot — via mcp.json configuration
  • Claude Desktop — via claude_desktop_config.json
  • Cursor — via .cursor/mcp.json
  • Claude Code — via claude code mcp add
  • Any MCP client — stdio or HTTP transport