MCP码计划
一种将Gemini 2.5 Pro与Claude Code连接起来的MCP服务器,使用户能够根据其代码库生成详细的实施计划,并接收关于代码更改的反馈。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"yellhorn-mcp": {
"args": [
"--model",
"o3"
],
"command": "yellhorn-mcp",
"env": {
"YELLHORN_MCP_SEARCH": "on"
},
"type": "stdio"
}
}
}
该服务需要配置环境变量:GEMINI_API_KEY、REPO_PATH、YELLHORN_MCP_MODEL
服务介绍
Yellhorn MCP

一个 Model Context Protocol (MCP) 服务器,它将 Gemini 2.5 Pro 的功能暴露给 Claude Code 以完成软件开发任务。
功能
- 生成工作计划:基于您的代码库创建带有详细实现计划的 GitHub 问题,标题和详细描述可自定义
- 隔离的开发环境:创建 Git 工作树和关联分支,以便于流线化、隔离的开发工作流程(可以与工作计划生成分开进行)
- 审查代码差异:根据原始工作计划评估拉取请求,并提供详细的反馈
- 无缝 GitHub 集成:在 GitHub UI 中自动创建带标签的问题并正确链接分支,在 PR 评论中发布评审意见并引用原始问题,处理异步处理
- 上下文控制:使用
.yellhornignore文件从 AI 上下文中排除特定文件和目录,类似于.gitignore - MCP 资源:将工作计划作为标准 MCP 资源公开,便于列出和检索
安装
# Install from PyPI
pip install yellhorn-mcp
# Install from source
git clone https://github.com/msnidal/yellhorn-mcp.git
cd yellhorn-mcp
pip install -e .
配置
服务器需要以下环境变量:
GEMINI_API_KEY:您的 Gemini API 密钥(必需)REPO_PATH:您的仓库路径(默认为当前目录)YELLHORN_MCP_MODEL:要使用的 Gemini 模型(默认为 "gemini-2.5-pro-exp-03-25")
服务器还需要安装并认证 GitHub CLI (gh)。
使用
运行服务器
# As a standalone server
yellhorn-mcp --repo-path /path/to/repo --host 127.0.0.1 --port 8000
# Using the MCP CLI
mcp dev yellhorn_mcp.server
# Install as a permanent MCP server for Claude Desktop
mcp install yellhorn_mcp.server
# Set environment variables during installation
mcp install yellhorn_mcp.server -v GEMINI_API_KEY=your_key_here -v REPO_PATH=/path/to/repo
与 Claude Code 集成
当与 Claude Code 一起工作时,您可以通过以下方式使用 Yellhorn MCP 工具:
-
开始项目任务:
请生成一个工作计划,标题为"[Your Title]",详细描述为"[Your detailed requirements]" -
为工作计划创建一个工作树(可选):
请为问题#123创建一个工作树 -
导航到已创建的工作树目录:
cd [worktree_path] # 路径在响应中返回 -
如有需要,查看工作计划:
# 选项 1:从工作树目录(自动检测问题编号) # 在工作树目录中时 请获取此工作树的当前工作计划 # 选项 2:从主仓库(需要明确的问题编号) # 不需要在工作树目录中 请获取问题#123的工作计划 -
进行更改,创建 PR 并请求审查:
# 首先使用您喜欢的方法(Git CLI、GitHub CLI 或 Web UI)创建 PR git add . git commit -m "实现功能" git push origin HEAD gh pr create --title "[PR 标题]" --body "[PR 描述]" # 选项 1:从工作树目录(自动检测问题编号) # 在工作树目录中时,请Claude进行审查 请针对原始工作计划触发对 PR "[PR URL]" 的审查 # 选项 2:从主仓库(需要明确的问题编号) # 不需要在工作树目录中 请针对问题#123中的工作计划触发对 PR "[PR URL]" 的审查
工具
generate_workplan
根据标题和详细描述创建一个包含详细工作计划的 GitHub 问题。
输入:
title: GitHub 问题的标题(将用作问题标题和头部)detailed_description: 工作计划的详细描述
输出:
- 包含以下内容的 JSON 字符串:
issue_url: 创建的 GitHub 问题的 URLissue_number: GitHub 问题编号
create_worktree
为现有工作计划问题创建一个具有关联分支的 Git 工作树,以进行隔离开发。
输入:
issue_number: 工作计划的 GitHub 问题编号
输出:
- 包含以下内容的 JSON 字符串:
worktree_path: 创建的 Git 工作树目录路径branch_name: 为工作树创建的分支名称issue_url: 关联的 GitHub 问题 URL
get_workplan
检索与工作计划相关的内容(GitHub 问题正文)。可以从工作树(自动检测问题)或主仓库(需要明确的问题编号)运行。
输入:
issue_number: 可选的工作计划问题编号。如果在 Yellhorn 工作树之外运行,则需要提供。
输出:
- 作为字符串的工作计划问题内容
review_workplan
针对其原始工作计划问题异步触发 Pull Request 的代码审查。可以从工作树(自动检测问题)或主仓库(需要明确的问题编号)运行。
输入:
pr_url: 要审查的 GitHub Pull Request 的 URLissue_number: 工作计划的问题编号(可选)。如果在 Yellhorn 工作树之外运行,则为必填项。
输出:
- 一条确认消息,表示审查任务已启动
资源访问
Yellhorn MCP 还实现了标准的 MCP 资源 API,以提供对工作计划的访问:
list-resources:列出所有工作计划(具有 yellhorn-mcp 标签的 GitHub 问题)get-resource:通过问题编号检索特定工作计划的内容
这些可以通过标准的 MCP CLI 命令访问:
# List all workplans
mcp list-resources yellhorn-mcp
# Get a specific workplan by issue number
mcp get-resource yellhorn-mcp 123
开发
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
CI/CD
该项目使用 GitHub Actions 进行持续集成和部署:
-
测试:在拉取请求和推送到主分支时自动运行
- 使用 flake8 进行代码检查
- 使用 black 进行格式检查
- 使用 pytest 进行测试
-
发布:当推送版本标签时自动发布到 PyPI
- 标签必须与 pyproject.toml 中的版本匹配(例如 v0.2.2)
- 需要将 PyPI API 令牌作为 GitHub 仓库密钥存储(PYPI_API_TOKEN)
要发布新版本:
- 更新 pyproject.toml 中的版本
- 提交更改:
git commit -am "Bump version to X.Y.Z" - 给提交打标签:
git tag vX.Y.Z - 推送更改和标签:
git push && git push --tags
有关更详细的说明,请参阅使用指南。
许可证
MIT