Skip to main content
Glama

耶尔霍恩 MCP

Yellhorn 标志

一个模型上下文协议 (MCP) 服务器,它将 Gemini 2.5 Pro 和 OpenAI 功能公开给 Claude Code,以便在提示符下使用您的整个代码库执行软件开发任务。此模式对于定义代码助手(例如 Claude Code 或其他兼容 MCP 的编码代理)要完成的工作以及审查结果以确保其完全符合指定的原始要求非常有用。

特征

  • 创建工作计划:根据提示创建详细的实施计划,并考虑到您的整个代码库,将它们发布为 GitHub 问题,并将其作为 MCP 资源公开给您的编码代理

  • 判断代码差异:提供一个工具,根据完整的代码库上下文,根据原始工作计划评估 git 差异,并提供详细的反馈,确保实施不会偏离原始要求,并提供有关如何进行更改的指导

  • 无缝 GitHub 集成:自动创建标记问题,发布参考原始工作计划问题的判断子问题

  • 上下文控制:使用.yellhornignore文件从 AI 上下文中排除特定文件和目录,类似于.gitignore

  • MCP 资源:将工作计划公开为标准 MCP 资源,以便于列出和检索

Related MCP server: Gemini MCP Server

安装

# 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 密钥(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文件,其中包含以下内容:

{ "inputs": [ { "type": "promptString", "id": "gemini-api-key", "description": "Gemini API Key" } ], "servers": { "yellhorn-mcp": { "type": "stdio", "command": "/Users/msnidal/.pyenv/shims/yellhorn-mcp", "args": [], "env": { "GEMINI_API_KEY": "${input:gemini-api-key}", "REPO_PATH": "${workspaceFolder}" } } } }

克劳德代码设置

要直接使用 Claude Code 配置 Yellhorn MCP,请在项目中添加一个根级.mcp.json文件,其中包含以下内容:

{ "mcpServers": { "yellhorn-mcp": { "type": "stdio", "command": "yellhorn-mcp", "args": ["--model", "o3"], "env": {} } } }

工具

创建工作计划

根据标题和详细描述创建带有详细工作计划的 GitHub 问题。

输入

  • title :GitHub 问题的标题(将用作问题标题和标题)

  • detailed_description :工作计划的详细描述

  • codebase_reasoning :(可选)控制是否进行AI增强:

    • "full" :(默认)使用 AI 通过完整的代码库上下文来增强工作计划

    • "lsp" :使用具有轻量级代码库上下文的 AI(Python 和 Go 的函数/方法签名、类属性和结构字段)

    • "none" :跳过 AI 增强,按原样使用提供的描述

  • debug :(可选)如果设置为true ,则向问题添加注释,并附带用于生成的完整提示

输出

  • JSON 字符串包含:

    • issue_url :创建的 GitHub 问题的 URL

    • issue_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 命令访问这些:

# 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 # Run tests with coverage report pytest --cov=yellhorn_mcp --cov-report term-missing

持续集成/持续交付

该项目使用 GitHub Actions 进行持续集成和部署:

  • 测试:在拉取请求时自动运行并推送到主分支

    • 使用 flake8 进行 Linting

    • 使用黑色检查格式

    • 使用 pytest 进行测试

  • 发布:推送版本标签时自动发布到 PyPI

    • 标签必须与 pyproject.toml 中的版本匹配(例如,v0.2.2)

    • 需要将 PyPI API 令牌存储为 GitHub 存储库机密(PYPI_API_TOKEN)

要发布新版本:

  1. 更新 pyproject.toml 和 yellhorn_mcp/__init__.py 中的版本

  2. 使用新的更改更新 CHANGELOG.md

  3. 提交更改: git commit -am "Bump version to XYZ"

  4. 标记提交: git tag vX.YZ

  5. 推送更改并标记: git push && git push --tags

有关更改的历史记录,请参阅变更日志。

有关更详细的说明,请参阅使用指南

执照

麻省理工学院

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/msnidal/yellhorn-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server