GitLab MCP Server
GitLab REST API data accessed through 83 tools for projects and CI/CD workflows.
Data last scanned today · Reviewed today
Overview
This server provides a comprehensive interface between AI assistants and GitLab. By implementing the Model Context Protocol, it allows users to interact with GitLab.com or self-hosted instances directly from their development environment. It includes a vast library of 83 tools, 7 resources, and 6 prompts to facilitate project management, code review, and pipeline monitoring. The server is built using Python, leveraging FastMCP and Pydantic for its internal operations. It is designed to work with a range of MCP-compatible clients including Claude Desktop, Cursor, and VS Code, with streamlined installation flows provided for various AI-assisted coding tools.
Our verdict
With a security score of 53/100, this server is classified as high-risk. This rating reflects its status as a community-maintained project rather than an official vendor release and the absence of a reviewed authentication method. While it features a read-only configuration option, users should exercise caution given the lack of independent editorial review. It is best suited for developers comfortable managing non-official integrations who can verify the source code independently.
- Supports both GitLab.com and self-hosted instances
- Provides 83 distinct tools for extensive API coverage
- Contains zero direct dependencies to minimize supply chain risk
- Offers a read-only configuration mode for safer data access
- High-risk score due to community-only maintenance
- Lacks support for OAuth authentication methods
- Not yet undergone formal security or editorial review
Tools
| Tool | Description | Risk |
|---|---|---|
| gitlab_get_project | Get project details | low |
| gitlab_create_project | Create a new project | medium |
| gitlab_delete_project | Delete a project | high |
| gitlab_update_project_merge_settings | Update merge settings | medium |
| gitlab_get_project_approvals | Get approval config | low |
| gitlab_update_project_approvals | Update approval settings | medium |
| gitlab_list_project_approval_rules | List approval rules | low |
| gitlab_create_project_approval_rule | Create approval rule | medium |
| gitlab_update_project_approval_rule | Update approval rule | medium |
| gitlab_delete_project_approval_rule | Delete approval rule | high |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Windsurf | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| ChatGPT |
Frequently asked questions
›Does this server require a premium or paid GitLab subscription?
No, it supports both GitLab.com and self-hosted GitLab instances (CE/EE) and does not require GitLab Duo or Premium.
›How can I prevent the server from performing write operations?
You can set the GITLAB_READ_ONLY environment variable to true in your configuration to disable all write operations.
›What authentication tokens does the server accept?
The server supports Personal Access Tokens (glpat-xxx), OAuth2 tokens, and CI job tokens ($CI_JOB_TOKEN).
›What is the recommended installation method?
The server requires the uv package manager and can be installed using the uvx command.
›Can I configure the timeout for requests made to the GitLab API?
Yes, you can customize the request timeout by setting the GITLAB_TIMEOUT environment variable, which defaults to 30 seconds.
›How do I handle SSL verification for a self-hosted instance?
You can skip SSL verification by setting the GITLAB_SSL_VERIFY environment variable to false.
Badge
Maintain this server? Add the live badge to your README.