一文搞定Gerrit/Gitee/GitHub MCP Server,实现开发全流程自动化
原文:https://mp.weixin.qq.com/s/67AffPwDYEw4s4V7oSlrdQ
往期文章推荐
RAG效果差?7个指标让你的准确率大幅提升
RAG评测完整指南:指标、测试和最佳实践
收藏!RAG核心工具大全: 7大解析工具+向量模型+数据库+检索排序
GraphRAG开源生态全景:6大主流开源项目,微软/蚂蚁/港大项目同台PK
RAG系列:#5 RAG中的11种分块策略
企业级落地方案:Docker 部署 CodeGraph 多项目统一 MCP 网关,附源码
在上一篇「企业级落地方案:Docker 部署 CodeGraph 多项目统一 MCP 网关,附源码 」中,我们通过docker容器搭建了 codegraph 批量构建代码知识库的服务,并对外端口提供远程 MCP 访问功能,用户只需要在 opencode/openclaude 等 vs code插件里配置好mcp server端口,即可以问答方式实现对代码的访问。
在项目开发中,考虑另一种场景:企业用户一般只能访问授权的项目,将所有的项目开放给所有用户不太现实,为每个用户配置单独的权限,涉及权限配置开发工作,周期较长。
这里采用了取巧的方式,直接采用代码托管与代码评审平台的MCP server,只需要开发可以访问远程代码服务的各类功能模块,并在 opencode/openclaude 插件接入这些mcp server即可。
本篇将为大家介绍通过 MCP server 实现与代码开发相关的各个工具:如仓库、Pull Request、Comment、Issue和用户等各个功能模块。可以按照提供的链接操作即可,对使用中有任何问题的,欢迎留言交流。
gitee
- URL:
- 服务类型:远程 + 内网私有化
- 可用工具
| 工具 | 类别 | 描述 |
|---|---|---|
| list_user_repos | 仓库 | 列出用户授权的仓库 |
| get_file_content | 仓库 | 获取仓库中文件的内容 |
| create_repo | 仓库 | 创建仓库(个人、组织或企业) |
| fork_repository | 仓库 | Fork 仓库 |
| create_release | 仓库 | 为仓库创建发行版 |
| list_releases | 仓库 | 列出仓库发行版 |
| search_open_source_repositories | 仓库 | 搜索开源仓库 |
| search_files_by_content | 仓库 | 在仓库中按内容搜索文件 |
| compare_branches_tags | 仓库 | 对比两个分支、Tag 或提交的差异 |
| list_repo_pulls | Pull Request | 列出仓库中的拉取请求 |
| merge_pull | Pull Request | 合并拉取请求 |
| create_pull | Pull Request | 创建拉取请求 |
| update_pull | Pull Request | 更新拉取请求 |
| get_pull_detail | Pull Request | 获取拉取请求的详细信息 |
| get_diff_files | Pull Request | 获取拉取请求的差异文件 |
| manage_pull_review | Pull Request | 管理拉取请求审查(通过或取消) |
| create_comment | Comment | 评论 Issue 或拉取请求 |
| list_comments | Comment | 列出 Issue 或拉取请求的所有评论 |
| create_issue | Issue | 创建 Issue |
| update_issue | Issue | 更新 Issue |
| get_repo_issue_detail | Issue | 获取仓库 Issue 的详细信息 |
| list_repo_issues | Issue | 列出仓库 Issue |
| get_user_info | 用户 | 获取当前认证用户信息 |
| search_users | 用户 | 搜索用户 |
| list_user_notifications | 通知 | 列出用户通知 |
github
- URL:
- 服务类型:远程 + 内网私有化
- 可用工具
| 工具集 | 描述 |
|---|---|
| context | 强烈推荐:能够提供当前用户和 GitHub 上下文信息的工具。 |
| actions | GitHub Actions 工作流和 CI/CD 操作 |
| code_quality | GitHub 代码质量相关工具 |
| code_security | 代码安全相关工具,例如 GitHub 代码扫描 |
| copilot | 副驾驶相关工具 |
| copilot_issue_intents | 选择加入的 Copilot 问题分配工具,包含意图元数据(理由、置信度、建议) |
| dependabot | Dependabot 工具 |
| discussions | GitHub 讨论相关工具 |
| gists | GitHub Gist 相关工具 |
| git | 用于底层 Git 操作的 GitHub Git API 相关工具 |
| issues | GitHub Issues 相关工具 |
| labels | GitHub 标签相关工具 |
| notifications | GitHub 通知相关工具 |
| orgs | GitHub 组织相关工具 |
| projects | GitHub 项目相关工具 |
| pull_requests | GitHub Pull Request 相关工具 |
| repos | GitHub 仓库相关工具 |
| secret_protection | 与密钥保护相关的工具,例如 GitHub 密钥扫描 |
| security_advisories | 安全公告相关工具 |
| stargazers | GitHub Stargazers 相关工具 |
| users | GitHub 用户相关工具 |
gerrit
- URL:
- 服务类型:私有化
- 可用工具
| 工具集 | 描述 |
|---|---|
| query_changes | 搜索与给定查询字符串匹配的 CL。 |
| query_changes_by_date_and_filters | 搜索指定日期范围内的 Gerrit 更改,可选择按项目、提交消息中的子字符串和更改状态进行筛选。 |
| get_change_details | 检索单个变更单的综合摘要。 |
| get_commit_message | 获取当前补丁集中更改的提交消息。 |
| list_change_files | 列出 CL 最新补丁集中修改的所有文件。 |
| get_file_diff | 检索 CL 中单个指定文件的差异。 |
| list_change_comments | 可用于查看反馈、阅读有关更改的评论、分析评论以及回复评论。 |
| add_reviewer | 将用户或组添加到 CL 中,作为审阅者或抄送人。 |
| set_ready_for_review | 将 CL 设置为可供审核。 |
| set_work_in_progress | 将 CL 设置为进行中工作。 |
| revert_change | 撤销单个更改,创建一个新的变更列表 (CL)。 |
| revert_submission | 撤销整个提交,创建一个或多个新的 CL。 |
| create_change | 在 Gerrit 中创建一个新的变更。 |
| set_topic | 设置变更的主题。空字符串表示删除主题。 |
| changes_submitted_together | 计算并列出与给定 CL 一起提交的所有更改。 |
| suggest_reviewers | 根据查询结果建议更改的审阅者。 |
| abandon_change | 放弃更改。 |
| get_most_recent_cl | 获取用户的最新 CL。 |
| get_bugs_from_cl | 从 CL 的提交消息中提取 bug ID。 |
| post_review_comment | 在 CL 中对文件的特定行发布评论。 |

浙公网安备 33010602011771号