使用说明
GitPilot MCP
一个自主的MCP驱动的代理,可以端到端自动化GitHub贡献,从问题分析和代码更改到拉取请求、冲突解决和审查更新。
🚀 概述
GitPilot MCP是一个 自主GitHub贡献代理 使用 模型上下文协议(MCP). 它帮助开发人员和贡献者自动化完整的开源工作流程:
- 分叉存储库
- 分析问题
- 进行代码更改
- 运行测试
- 创建pull请求
- 与上游变更同步
- 处理合并冲突
- 根据维护人员反馈更新PR
该代理旨在 最小、安全、可扩展,没有过度工程。
✨ 主要特点
- 🔁 分叉和克隆GitHub存储库
- 🌿 创建和管理要素分支
- 🔄 合并新PR时与上游同步分叉
- 🧠 使用RAG进行语义代码理解
- ✍️ 生成最小、干净的git差异
- 🧪 运行测试并自动重试修复
- 📦 提交并推动更改
- 🔀 以编程方式创建pull请求
- 🛠️ 审查反馈后更新现有PR
- ⚠️ 在PR更新之前检测合并冲突
🧠 建筑(高级)
Issue → Code Context (RAG) → Patch → Tests → Commit → PR
↑
Sync / Review Feedback
系统如下 真实世界的开源贡献实践.
📂 项目结构
mcp-github/
│
├── main.py # MCP server & tools
├── rag.py # RAG indexing and search
├── config.py # GitHub token & workspace
├── .rag/ # Vector store (local)
└── README.md
🧩 安装和设置
确保已安装以下内容:
- Python 3.10+
- Git
- 克劳德桌面(最新版本)
- Ollama(用于嵌入)
第一步:安装uv
uv用于依赖管理和隔离执行。
pip install uv
步骤2:克隆存储库
git clone https://github.com/<your-username>/GitPilot-MCP.git
cd GitPilot-MCP
步骤3:初始化项目(uv)
初始化项目环境:
uv init
步骤4:安装依赖项
添加所有必需的依赖关系:
uv add fastmcp gitpython pygithub python-dotenv numpy faiss-cpu ollama
步骤5:用于MCP工具测试
uv run fastmcp dev main.py
⚙️ MCP服务器配置
使用以下配置通过在本地运行MCP服务器 紫外线+fastmcp 在 克劳德桌面:
将此配置粘贴到claudee桌面配置文件中。
{
"mcpServers": {
"GitPilot-MCP": {
"command": "<PATH_TO_PYTHON>/Scripts/uv.exe",
"args": [
"run",
"--project",
"<PATH_TO_PROJECT_ROOT>",
"--directory",
"<PATH_TO_PROJECT_ROOT>",
"fastmcp",
"run",
"main.py"
],
"transport": "stdio"
}
}
}
🔐 配置
创建 config.py 文件:
GITHUB_TOKEN = "your_github_personal_access_token"
WORKSPACE = "./workspace"
⚠️ 令牌必须具有分叉存储库和创建拉取请求的权限。
🛠️ 可用的MCP工具
代理暴露的一些重要工具:
fork_repoclone_repocreate_branchsync_with_upstreamindex_repoget_repo_contextapply_patchrun_testsretry_fix_with_testscommit_and_pushcreate_pull_requestcheck_for_conflictsupdate_pr_after_feedback
每个工具都是 单一责任和可组合.
🧪 测试工作流程
- 应用生成的补丁
- 运行测试(
pytest -q默认情况下) - 如果测试失败,则自动重试修复
- 测试通过后立即停止
🔄 处理维护人员反馈
当维护人员请求更改时:
- 生成新补丁
- 将其应用于同一分支
- 承诺与推动
现有的PR会自动更新。 不会创建新的PR。
🧩 设计原则
- ✅ 最小差异
- ✅ 仅在必要时提供简短的内联注释
- ✅ 没有硬刷新或破坏性的git操作
- ✅ 没有无声的失败
- ✅ 可扩展以供未来改进
🚧 局限性
- 存储库索引可能仅限于非常大的存储库
- 冲突解决是辅助的,而不是完全自动的
- 专为本地/受控环境设计(稍后可以添加远程硬化)
🔮 未来改进
- 范围化存储库索引
- PR评论解析
- CI状态轮询
- 刷新令牌支持
- 远程多用户MCP部署
📜 许可证
MIT许可证(或根据您的选择)
🙌 致谢
构建使用:
- 快速MCP
- GitPython
- PyGitHub
- Ollama(用于嵌入)
- Qdrant/FAISS(矢量搜索)
👨💻 作者
迪维扬舒·吉里
