耶尔霍恩 MCP

一个模型上下文协议 (MCP) 服务器,它将 Gemini 2.5 Pro 和 OpenAI 功能公开给 Claude Code,以便在提示符下使用您的整个代码库执行软件开发任务。此模式对于定义代码助手(例如 Claude Code 或其他兼容 MCP 的编码代理)要完成的工作以及审查结果以确保其完全符合指定的原始要求非常有用。
特征
创建工作计划:根据提示创建详细的实施计划,并考虑到您的整个代码库,将它们发布为 GitHub 问题,并将其作为 MCP 资源公开给您的编码代理
判断代码差异:提供一个工具,根据完整的代码库上下文,根据原始工作计划评估 git 差异,并提供详细的反馈,确保实施不会偏离原始要求,并提供有关如何进行更改的指导
无缝 GitHub 集成:自动创建标记问题,发布参考原始工作计划问题的判断子问题
上下文控制:使用
.yellhornignore文件从 AI 上下文中排除特定文件和目录,类似于.gitignoreMCP 资源:将工作计划公开为标准 MCP 资源,以便于列出和检索
Related MCP server: Gemini MCP Server
安装
配置
服务器需要以下环境变量:
GEMINI_API_KEY:您的 Gemini API 密钥(Gemini 模型必需)OPENAI_API_KEY:您的 OpenAI API 密钥(OpenAI 模型所需)REPO_PATH:存储库的路径(默认为当前目录)YELLHORN_MCP_MODEL:使用的型号(默认为“gemini-2.5-pro-preview-03-25”)。可用选项:双子座模型:“gemini-2.5-pro-preview-03-25”,“gemini-2.5-flash-preview-04-17”
OpenAI 型号:“gpt-4o”、“gpt-4o-mini”、“o4-mini”、“o3”
该服务器还需要安装和验证 GitHub CLI( gh )。
用法
入门
VSCode/光标设置
要在 VSCode 或 Cursor 中配置 Yellhorn MCP,请在工作区的根目录下创建一个.vscode/mcp.json文件,其中包含以下内容:
克劳德代码设置
要直接使用 Claude Code 配置 Yellhorn MCP,请在项目中添加一个根级.mcp.json文件,其中包含以下内容:
工具
创建工作计划
根据标题和详细描述创建带有详细工作计划的 GitHub 问题。
输入:
title:GitHub 问题的标题(将用作问题标题和标题)detailed_description:工作计划的详细描述codebase_reasoning:(可选)控制是否进行AI增强:"full":(默认)使用 AI 通过完整的代码库上下文来增强工作计划"lsp":使用具有轻量级代码库上下文的 AI(Python 和 Go 的函数/方法签名、类属性和结构字段)"none":跳过 AI 增强,按原样使用提供的描述
debug:(可选)如果设置为true,则向问题添加注释,并附带用于生成的完整提示
输出:
JSON 字符串包含:
issue_url:创建的 GitHub 问题的 URLissue_number:GitHub 问题编号
获取工作计划
检索与工作计划相关的工作计划内容(GitHub 问题正文)。
输入:
issue_number:工作计划的 GitHub 问题编号。
输出:
工作计划问题的内容作为字符串
法官工作计划
触发异步代码判断,将两个 git ref(分支或提交)与 GitHub 问题中描述的工作计划进行比较。运行完成后,将异步创建一个包含该判断的 GitHub 子问题(在后台)。
输入:
issue_number:工作计划的 GitHub 问题编号。base_ref:用于比较的基准 Git 引用(提交 SHA、分支名称、标签)。默认为“main”。head_ref:用于比较的 Head Git 引用(提交 SHA、分支名称、标签)。默认为 'HEAD'。codebase_reasoning:(可选)控制提供哪个代码库上下文:"full":(默认)使用完整的代码库上下文"lsp":使用更轻的代码库上下文(仅 Python 和 Go 的函数签名,以及完整的差异文件)"none":完全跳过代码库上下文以实现最快的处理速度
debug:(可选)如果设置为true,则向子问题添加注释,其中包含用于生成的完整提示
输出:
判定任务已启动的确认消息
资源访问
Yellhorn MCP 还实现了标准 MCP 资源 API,以提供对工作计划的访问:
list-resources:列出所有工作计划(带有 yellhorn-mcp 标签的 GitHub 问题)get-resource:按问题编号检索特定工作计划的内容
可以通过标准 MCP CLI 命令访问这些:
发展
持续集成/持续交付
该项目使用 GitHub Actions 进行持续集成和部署:
测试:在拉取请求时自动运行并推送到主分支
使用 flake8 进行 Linting
使用黑色检查格式
使用 pytest 进行测试
发布:推送版本标签时自动发布到 PyPI
标签必须与 pyproject.toml 中的版本匹配(例如,v0.2.2)
需要将 PyPI API 令牌存储为 GitHub 存储库机密(PYPI_API_TOKEN)
要发布新版本:
更新 pyproject.toml 和 yellhorn_mcp/__init__.py 中的版本
使用新的更改更新 CHANGELOG.md
提交更改:
git commit -am "Bump version to XYZ"标记提交:
git tag vX.YZ推送更改并标记:
git push && git push --tags
有关更改的历史记录,请参阅变更日志。
有关更详细的说明,请参阅使用指南。
执照
麻省理工学院