
GitLab MCP Server

2025.04.17
0
PythonGitLab 集成代码管理团队协作自动化工具开发效率交流协作
GitLab MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,用于与 GitLab API 进行交互。该服务器提供了一套工具,允许 AI 客户端对 GitLab 仓库、问题、合并请求等进行操作。所有操作都支持同步和异步执行模式。
View on GitHub
Overview
基本能力
产品定位
GitLab MCP Server 是一个用于与 GitLab API 交互的中间件,旨在为 AI 客户端提供便捷的 GitLab 操作接口。
核心功能
- 仓库管理:包括创建仓库、搜索项目等功能
- 分支操作:创建分支、获取默认分支引用等
- 文件操作:获取文件内容
- 问题管理:创建、列出、关闭问题,添加评论等
- 合并请求操作:创建、列出、合并、关闭合并请求,添加评论等
- 流水线管理:列出、创建流水线,执行流水线操作
- 群组操作:列出、获取群组信息
- 用户操作:列出、获取用户信息
适用场景
- AI 辅助的代码审查和合并请求处理
- 自动化项目管理(问题跟踪、任务分配等)
- 持续集成/持续部署(CI/CD)流程自动化
- 团队协作和代码库管理
工具列表
- 仓库管理工具:fork_repository, create_repository, search_projects
- 分支操作工具:create_branch, get_default_branch_ref
- 文件操作工具:get_file_contents
- 问题管理工具:create_issue, list_issues, get_issue, comment_on_issue, list_issue_comments, close_issue
- 合并请求工具:create_merge_request, list_merge_requests, get_merge_request, comment_on_merge_request, list_merge_request_comments, list_merge_request_changes, get_merge_request_diff, suggest_code_in_merge_request, approve_merge_request, merge_merge_request, close_merge_request
- 流水线工具:list_pipelines, get_pipeline, create_pipeline, pipeline_action
- 群组工具:list_groups, get_group
- 用户工具:list_users, get_user
常见问题解答
- GitLab API 认证错误:确保
GITLAB_PERSONAL_ACCESS_TOKEN
具有必要权限并正确设置在环境变量中 - NoneType 错误:某些函数在处理空结果时可能会遇到问题,遇到此类错误请提供详细的重现步骤
使用教程
使用依赖
- Python 环境
- Git 客户端
- GitLab 个人访问令牌
安装教程
使用 uv (推荐)
# 克隆仓库
git clone https://github.com/Adit-999/gitlab-mcp.git
cd gitlab-mcp
# 使用 uv 安装依赖
uv sync
使用 pip
# 克隆仓库
git clone https://github.com/Adit-999/gitlab-mcp.git
cd gitlab-mcp
# 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 安装依赖
pip install -e .
配置
需要设置以下环境变量:
1. GITLAB_PERSONAL_ACCESS_TOKEN
- 用于 GitLab API 认证
2. GITLAB_API_URL
- GitLab API 基础 URL
方式1:环境变量
在项目根目录创建 .env
文件:
GITLAB_PERSONAL_ACCESS_TOKEN=your_personal_access_token
GITLAB_API_URL=https://gitlab.com
方式2:MCP 配置
在 MCP JSON 配置文件中配置:
{
"mcpServers": {
"gitlab-mcp": {
"command": "uv",
"args": ["run", "--with", "mcp[cli],python-gitlab", "mcp", "run", "/path/to/gitlab-mcp/server.py"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your_personal_access_token",
"GITLAB_API_URL": "https://gitlab.com"
}
}
}
}
为 Claude Desktop 配置
uv run mcp install server.py
调试方式
- 确保环境变量已正确设置
- 运行服务器并测试基本功能
- 检查日志获取错误信息
- 使用提供的工具进行功能测试