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 💡
openapi-mcp-server
Allow AI to wade through complex OpenAPIs using Simple Language
cloudflare-remote-mcp-server
A remote MCP server running on Cloudflare Workers using SSE transport, enabling integration with AI models like Claude
ocireg-mcp
An MCP (Model Context Protocol) server that provides tools for querying OCI registries and image references.
esxi-mcp-server
A VMware ESXi/vCenter management server based on MCP, providing REST API interfaces for virtual machine management.
echozyr2001/ali-flux-mcp
A TypeScript-based MCP server for Alibaba Cloud DashScope API to generate, manage, and save images.
@takumi0706/google-calendar-mcp
Google Calendar MCP server for Claude Desktop integration