GitLab MCP Server (in Python)
Model Context Protocol (MCP) server for GitLab integration, built on FastMCP.
This server is implemented in Python, with fastmcp.
Quick Start
- Build the Docker image:
docker build -t gitlab-mcp-server .
Integration with Cursor/Claude
In MCP Settings -> Add MCP server, add this config:
{
"mcpServers": {
"gitlab": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GITLAB_TOKEN",
"-e",
"GITLAB_URL",
"gitlab-mcp-server:latest"
],
"env": {
"GITLAB_TOKEN": "token",
"GITLAB_URL": "https://gitlab.com/"
}
}
}
}
Note: Don't forget to replace GITLAB_TOKEN and GITLAB_URL values with your actual GitLab credentials and instance URL.
Getting GitLab Token
- Log in to your GitLab account
- Go to Settings -> Access Tokens
- Create a new token:
- Scopes: select the necessary permissions:
api- for API accessread_repository- for reading repositorieswrite_repository- for writing to repositories
- Scopes: select the necessary permissions:
- Click "Create personal access token"
- Copy the generated token (it will be shown only once!)
Prompt (rule) for review
Here are some suggestions to improve and clarify your review.mdc rules for code review:
review.mdc (Improved Version)
Purpose:
Guidelines for conducting code reviews in the current branch, focusing on diffs with the origin/master branch, and integrating with the MCP GitLab server.
1. Review Scope
- Review only the changes in the current branch compared to the origin/master branch.
- Locate the corresponding Merge Request (MR) for this branch in GitLab using MCP tools.
2. Review Structure
-
Summary of Changes:
- Provide a concise summary divided into two sections:
- Business Changes: Describe the impact on business logic, user experience, or requirements.
- Code Changes: Summarize technical modifications, refactoring, or architectural shifts.
- Provide a concise summary divided into two sections:
-
Logical Breakdown:
- Divide the changes into logical blocks (e.g., features, bug fixes, refactoring).
- List these blocks clearly.
-
Detailed Review:
- For each block, provide:
- A brief description.
- Suggestions for improvement (code quality, readability, maintainability, performance, etc.).
- Identification of potential bugs or issues.
- Illustrate type of suggestion with emoji.
- Link to line in code.
- If the terms of reference (requirements/spec) are not provided, request them to ensure accurate review.
- For each block, provide:
3. Suggestions and Comments
- Propose to post line comments with suggestions directly in the Merge Request using the MCP GitLab server.
- All line comments in Merge Request must:
- Begin with "[AI]".
- Be specific, actionable, and reference the relevant code line(s).
- Do not write a lot of text. Smaller is better.
4. Additional Guidelines
- Prioritize clarity, conciseness, and constructiveness in all feedback.
- Focus on both business logic and code quality.
- Ensure all suggestions are justified and, where possible, reference best practices or project standards.
- If you identify a bug, explain the reasoning and potential impact.
Contributing
Feel free to:
- Add new GitLab integration tools and features
- Improve existing functionality
- Fix bugs
- Enhance documentation
- Suggest improvements
To contribute:
- Fork the repository
- Create your feature branch
- Commit your changes
- Open a Pull Request
All contributions, big or small, are appreciated!
Recommend MCP Servers 💡
@tiberriver256/mcp-server-azure-devops
An MCP server implementation for Azure DevOps, allowing AI assistants to interact with Azure DevOps APIs through a standardized protocol.
miraclebakelaser/porkbun-mcp-server
An MCP server that provides tools to interact with the Porkbun API for managing domains, DNS, SSL, and more.
mkp
MKP is a Model Context Protocol (MCP) server for Kubernetes
@circleci/mcp-server-circleci
A specialized server implementation for the Model Context Protocol (MCP) designed to integrate with CircleCI's development workflow. This project serves as a bridge between CircleCI's infrastructure and the Model Context Protocol, enabling enhanced AI-powered development experiences.
gitlab-server
A TypeScript-based MCP server that interacts with a self-hosted GitLab instance, providing tools to fetch and manage GitLab projects, issues, notes, todos, and wiki pages.
entraid-mcp-server
MCP server for interacting with EntraID through Microsoft Graph API.