使用说明
GitLab MCP服务器
令牌优化 模型上下文协议 服务器 自托管GitLab 实例,专为 克劳德代码.
特性
- 多配置文件PAT管理 --在多个GitLab实例之间切换
- 紧凑的文本响应 --LLM上下文的最小令牌使用量
- 项目缓存 -避免多余的API调用(2分钟TTL)
- 完整的GitLab工作流程 --问题、合并请求、管道、注释
- 环境或配置文件身份验证 --灵活的凭证管理
设置
1.安装依赖项
bun install
2.获取GitLab个人访问令牌
- 转到您的GitLab实例→ 设置 → 访问令牌
- 创建具有作用域的令牌:
api,read_user
3.配置
选项A:环境变量
export GITLAB_BASE_URL="https://gitlab.example.com"
export GITLAB_TOKEN="your-personal-access-token"
export GITLAB_DEFAULT_PROJECT="group/subgroup/repo" # optional
选项B:使用 set_gitlab_pat 工具 在运行时,配置文件存储在 ~/.config/gitlab-mcp-server/config.json 和 0600 权限。
4.添加到克劳德代码
添加到您的 ~/.claude/settings.json 或项目 .claude/settings.json:
{
"mcpServers": {
"gitlab": {
"command": "bun",
"args": ["run", "/path/to/gitlab-mcp-server/index.ts"],
"env": {
"GITLAB_BASE_URL": "https://gitlab.example.com",
"GITLAB_TOKEN": "your-personal-access-token",
"GITLAB_DEFAULT_PROJECT": "group/subgroup/repo"
}
}
}
}
可用工具
配置文件管理
| 工具 | 说明 |
|---|---|
set_gitlab_pat |
保存或更新GitLab PAT配置文件 |
list_gitlab_profiles |
列出已保存的配置文件(标记已屏蔽) |
use_gitlab_profile |
切换活动配置文件 |
delete_gitlab_profile |
删除已保存的配置文件 |
get_authenticated_user |
验证PAT并显示当前用户 |
项目
| 工具 | 说明 |
|---|---|
get_projects |
列出可访问的项目(搜索、筛选) |
get_project |
按ID或路径获取项目详细信息 |
问题
| 工具 | 说明 |
|---|---|
get_issues |
列出过滤器的问题(状态、标签、受让人) |
get_issue |
完整的问题细节和最近的笔记 |
create_issue |
创建新问题 |
add_issue_note |
向问题添加评论 |
合并请求
| 工具 | 说明 |
|---|---|
get_merge_requests |
列出带有过滤器的MR(州、受让人) |
get_merge_request |
完整的MR详细信息,包括最近的注释 |
create_merge_request |
创建新的合并请求 |
add_merge_request_note |
向合并请求添加注释 |
管道
| 工具 | 说明 |
|---|---|
get_pipelines |
列出最近的管道(按引用、状态过滤) |
get_pipeline |
包含工作细分的管道详细信息 |
retry_pipeline |
重试管道中所有失败的作业 |
cancel_pipeline |
取消正在运行的管道 |
多实例支持
所有工具都使用活动配置文件。在GitLab实例之间切换:
# Save profiles
set_gitlab_pat(name: "work", baseUrl: "https://gitlab.company.com", token: "...")
set_gitlab_pat(name: "oss", baseUrl: "https://gitlab.com", token: "...")
# Switch
use_gitlab_profile(name: "work")
项目可以通过ID或路径引用:
projectId: "123"
projectPath: "group/subgroup/repo"
如果 defaultProject 在配置文件中设置,当两者都没有提供时使用。
许可证
麻省理工学院