关于 repocollab
repocollab 是面向 Agent 和开发者的 MCP 服务与命令行工具,用于处理常见 GitLab 项目任务。它通过 GitLab REST v4 API 管理项目、文件、议题和合并请求。
主要功能
- 01搜索、创建和分叉项目
- 02创建分支并管理文件
- 03创建和跟踪议题
- 04创建和查看合并请求
- 05支持自托管的 GitLab 实例
适用场景
- 01查找或建立 GitLab 项目
- 02读取或更新仓库文件
- 03提交和查看议题
- 04创建并跟踪合并请求
MCP 相关
向 MCP 客户端提供 12 个工具,用于操作 GitLab 项目、分支、文件、议题和合并请求。使用 GitLab 个人访问令牌进行身份验证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
12收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| search | string | 是 | 用于匹配项目名称、路径和描述的搜索查询字符串。 |
详细介绍
repocollab
repocollab 将日常 GitLab 项目工作流封装在 MCP 服务后:查找项目、创建或派生项目、创建分支、读取和写入文件,以及创建并跟踪议题和合并请求。它涵盖 GitLab MCP 文档所述功能的核心子集——Agent 最常用的十二个工具——通过 GitLab REST v4 API 进行交互。
身份验证使用 GITLAB_PERSONAL_ACCESS_TOKEN 中的个人访问令牌,并将其作为 Bearer 令牌发送。默认情况下,服务连接到 https://gitlab.com/api/v4;如需使用自托管实例,请将 GITLAB_API_URL 指向该实例。project_id 始终是字符串:数字项目 ID 或经过 URL 编码的项目路径均可使用。
安装
npx @reneturcios/repocollab search_repositories --search my-project
docker run -i -e GITLAB_PERSONAL_ACCESS_TOKEN ghcr.io/cloudcorprecords/repocollab
命令行
repocollab search_repositories --search my-project
repocollab create_repository --name demo --visibility private
repocollab get_file_contents --project-id group/demo --file-path README.md --ref main
repocollab create_issue --project-id 42 --title "Bug report" --labels bug
repocollab list_merge_requests --project-id 42 --state opened
repocollab --version
退出代码:0 表示成功,1 表示 API 错误,2 表示用法错误。
MCP 服务
npx -y @reneturcios/repocollab mcp
{
"mcpServers": {
"repocollab": {
"command": "npx",
"args": ["-y", "@reneturcios/repocollab", "mcp"],
"env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "glpat-..." }
}
}
}
工具
| 工具 | 必填 | 可选 |
|---|---|---|
search_repositories | search | — |
create_repository | name | description、visibility |
fork_repository | project_id | namespace |
create_branch | project_id、branch | ref |
get_file_contents | project_id、file_path | ref |
create_or_update_file | project_id、file_path、content、commit_message、branch | previous_path |
create_issue | project_id、title | description、labels |
list_issues | project_id | state、per_page、page |
get_issue | project_id、issue_iid | — |
create_merge_request | project_id、title、source_branch、target_branch | description |
list_merge_requests | project_id | state、per_page、page |
get_merge_request | project_id、merge_request_iid | — |
create_or_update_file 会检查目标分支上是否已存在该文件,并据此创建(POST)或更新(PUT)。如果缺少令牌,工具错误会指出 GITLAB_PERSONAL_ACCESS_TOKEN;上游 HTTP 错误会显示其状态码和 GitLab 返回的消息。
此子集不包含:流水线和 CI、Wiki、代码片段、里程碑、标签/史诗管理、用户和群组管理、受保护分支、仓库树/归档/比较详情、合并请求审批,以及 get_merge_request 之外的讨论和备注;也不支持项目以外的搜索。
开发
npm install
npm run build
npm test
npm run dev
测试完全使用模拟 fetch 测试夹具运行;不会使用网络。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。