RepoMCP
一个强大的MCP(模型上下文协议)服务器,使AI代理和LLM能够通过功能分支工作流安全地管理GitHub存储库。它为存储库探索、代码编辑和拉取请求管理提供了一套完整的工具,同时强制执行分支保护规则。
为什么存在
这个项目是作为克劳德代码的替代品而构建的。灵感来自于局限性 Claude Code不提供在较低级别(免费/专业)访问Opus 4.5的权限。 通过将此MCP服务器与任何兼容MCP的客户端一起使用,您可以通过以下方式获得类似Claude Code的功能 你想要的任何型号包括作品4.5。
把它想象成克劳德代码,但是:
- 适用于Opus 4.5(或任何其他型号)
- 通过GitHub的API进行操作,以实现更安全、可审核的更改
- 强制执行基于PR的工作流,而不是直接访问文件系统
这是什么?
RepoMCP将GitHub存储库操作作为MCP工具公开,可供Claude、GPT或任何兼容MCP的客户端等AI助手使用。它强制执行安全的功能分支工作流,所有更改都通过拉取请求进行,而不是直接提交到受保护的分支。
试试看
想在部署自己的RepoMCP之前测试它吗?使用此实时演示服务器:
MCP端点: https://repo-mcp.vercel.app/mcp
连接的存储库:
将端点URL添加到任何兼容MCP的客户端并开始探索。您所做的任何更改都将在演示存储库上创建分支和PR。
可用工具
| 工具 | 说明 |
|---|---|
list_branches | 列出存储库中的所有分支 |
create_branch | 创建新的特征分支或重用现有的特征分支 |
delete_branch | 从存储库中删除分支 |
get_file | 从特定分支读取文件内容和元数据 |
create_or_update_file | 创建新文件或完全重写现有文件 |
patch_file | 应用有针对性的补丁来修改文件的特定部分 |
delete_file | 从要素分支中删除文件 |
rename_or_move_file | 重命名文件或将文件移动到新位置 |
list_repository_tree | 获取完整的递归目录结构 |
check_file_exists | 检查文件或目录是否存在 |
find_files | 按名称或路径模式查找文件 |
search_file_contents | 使用正则表达式搜索文件内容中的模式 |
search_code | 函数、类、导入的高级代码搜索 |
get_diff | 获取两个分支之间的差异 |
list_commits | 列出分支上最近的提交 |
get_commit | 获取特定提交的详细信息 |
list_pull_requests | 在存储库中列出拉取请求 |
get_pull_request | 获取特定PR的详细信息 |
create_pull_request | 从功能分支创建拉取请求 |
reset_branch_to_commit | 将功能分支重置为特定提交 |
revert_file_to_commit | 将特定文件恢复到给定提交时的状态 |
show_common_workflows | 获取典型工作流程的分步示例 |
用例
1.自动代码修复
让AI助手发现并修复代码库中的错误、拼写错误或问题——所有这些都是通过安全的PR完成的。
2.文件更新
自动更新README文件、添加缺失的文档或修复过时的信息。
3.重构
在AI的帮助下移动文件、重命名模块和重新组织项目结构。
4.代码审查和分析
在代码库中搜索模式、查找TODO或分析代码结构,然后再进行更改。
5.代码探索与理解
探索不熟悉的代码库,了解项目结构,查找函数定义,跟踪导入,并快速了解任何存储库。
6.多文件功能实现
通过适当的分支管理创建跨多个文件的新功能。
7.依赖关系更新
安全地更新配置文件、软件包版本或环境设置。
它解决的问题
- 安全存储库访问:块直接推送到受保护的分支(主、主、生产)
- 一致的工作流程:对所有更改强制执行要素分支工作流
- 人工智能友好操作:提供AI可以可靠使用的结构化工具
- 高效编辑:
patch_file允许有针对性的编辑,而无需重新生成整个文件 - 代码发现:在进行更改之前搜索和探索代码库
- 历史记录管理:需要时还原文件或重置分支
快速开始
1.安装依赖项
pip install -r requirements.txt2.配置环境
复制示例环境文件并填写您的值:
cp .env.example .env3.运行服务器
地方发展:
python server.py或者用uvicorn:
uvicorn server:app --reload --port 8000MCP端点将在以下位置可用: http://localhost:8000/mcp
部署
选项1:部署到Vercel(推荐)
最快的入门方法-在5分钟内部署:
- 分叉/克隆此存储库 转到您的GitHub帐户
- 首选 维塞尔 并创建一个新项目
- 导入存储库 从您的GitHub帐户
- 添加环境变量 在Vercel项目设置中:
| 变量 | 描述 |
|---|---|
GITHUB_TOKEN | 您的GitHub个人访问令牌(在此处创建一个) |
REPO_OWNER | 您的GitHub用户名或组织名称 |
REPO_NAME | 您要管理的存储库 |
- 部署 -Vercel将自动构建和部署
- 开始使用它 -您的MCP端点已准备就绪:
https://your-project.vercel.app/mcp现在,您可以将此URL连接到任何兼容MCP的客户端,并开始使用具有完整GitHub存储库访问权限的Opus 4.5(或任何型号)。
方案2:与ngrok合作进行地方发展
对于本地开发或测试,请使用ngrok公开您的localhost:
# Terminal 1: Start the server
python server.py
# Terminal 2: Expose with ngrok
ngrok http 8000ngrok将提供一个公共URL,如 https://abc123.ngrok.io。您的MCP端点将位于: https://abc123.ngrok.io/mcp
典型工作流程
1. list_branches() -> See existing branches
2. create_branch("feature") -> Create/reuse feature branch
3. get_file("src/app.py") -> Read existing code
4. patch_file(...) -> Make targeted edits
5. get_diff("main", "feature") -> Review changes
6. create_pull_request(...) -> Open PR for review需求
- Python 3.12+
- 具有repo权限的GitHub个人访问令牌
- FastAPI、FastMCP和其他依赖项(请参阅requirements.txt)
许可证
麻省理工学院
