mcpField
R
repocollab

repocollab

本地服务
github.com/CloudCorpRecords版本控制02 周前更新

关于 repocollab

repocollab 是面向 Agent 和开发者的 MCP 服务与命令行工具,用于处理常见 GitLab 项目任务。它通过 GitLab REST v4 API 管理项目、文件、议题和合并请求。

主要功能

  1. 01搜索、创建和分叉项目
  2. 02创建分支并管理文件
  3. 03创建和跟踪议题
  4. 04创建和查看合并请求
  5. 05支持自托管的 GitLab 实例

适用场景

  1. 01查找或建立 GitLab 项目
  2. 02读取或更新仓库文件
  3. 03提交和查看议题
  4. 04创建并跟踪合并请求

MCP 相关

向 MCP 客户端提供 12 个工具,用于操作 GitLab 项目、分支、文件、议题和合并请求。使用 GitLab 个人访问令牌进行身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-repocollab": {
"command": "npx",
"args": [
"-y",
"@reneturcios/repocollab"
]
}
}
}
启动命令npx -y @reneturcios/repocollab

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/repocollab0.1.0
ocighcr.io/cloudcorprecords/repocollab:0.1.0

工具

12

收录的工具列表 · 更新于 1 周前

参数类型必填说明
searchstring是用于匹配项目名称、路径和描述的搜索查询字符串。

详细介绍

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_repositoriessearch—
create_repositorynamedescription、visibility
fork_repositoryproject_idnamespace
create_branchproject_id、branchref
get_file_contentsproject_id、file_pathref
create_or_update_fileproject_id、file_path、content、commit_message、branchprevious_path
create_issueproject_id、titledescription、labels
list_issuesproject_idstate、per_page、page
get_issueproject_id、issue_iid—
create_merge_requestproject_id、title、source_branch、target_branchdescription
list_merge_requestsproject_idstate、per_page、page
get_merge_requestproject_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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。