Yellhorn MCP

by msnidal
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Analyzes repository content to create context-aware work plans and evaluates code changes through diff analysis against planned implementations.

  • Allows installation of the Yellhorn MCP server package directly from the Python Package Index.

  • Supports testing of the MCP server during development.

耶尔霍恩 MCP

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

特征

  • 创建工作计划:根据提示创建详细的实施计划,并考虑到您的整个代码库,将它们发布为 GitHub 问题,并将其作为 MCP 资源公开给您的编码代理
  • 审查代码差异:提供一个工具,根据完整的代码库上下文,根据原始工作计划评估 git 差异,并提供详细的反馈,确保实施不会偏离原始要求,并提供有关如何进行更改的指导
  • 独立开发环境:创建 Git 工作树和链接分支,以实现简化、独立的开发工作流程(可以与工作计划生成分开进行),从而允许多个代理并行开发
  • 无缝 GitHub 集成:在 GitHub UI 中自动创建带有正确分支链接的标记问题,发布带有对原始工作计划问题的引用的评论子问题。
  • 上下文控制:使用.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 工具:

  1. 启动项目任务:
    Please generate a workplan with title "[Your Title]" and detailed description "[Your detailed requirements]"
  2. 为工作计划创建工作树(可选):
    Please create a worktree for issue #123
  3. 导航到创建的工作树目录:
    cd [worktree_path] # The path is returned in the response
  4. 如果需要,请查看工作计划:
    # You can run this from anywhere Please get the workplan for issue #123
  5. 进行更改、创建 PR 并请求审核:
    # First create a PR using your preferred method (Git CLI, GitHub CLI, or web UI) git add . git commit -m "Implement feature" git push origin HEAD gh pr create --title "[PR Title]" --body "[PR Description]" # You can run this from anywhere Please review the PR comparing "main" and "feature-branch" against the workplan in issue #123

工具

创建工作计划

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

输入

  • title :GitHub 问题的标题(将用作问题标题和标题)
  • detailed_description :工作计划的详细描述

输出

  • JSON 字符串包含:
    • issue_url :创建的 GitHub 问题的 URL
    • issue_number :GitHub 问题编号

创建工作树

创建一个带有链接分支的 git 工作树,用于与现有工作计划问题进行隔离开发。

输入

  • issue_number :工作计划的 GitHub 问题编号

输出

  • JSON 字符串包含:
    • worktree_path :创建的 Git 工作树目录的路径
    • branch_name :为工作树创建的分支的名称
    • issue_url :相关 GitHub 问题的 URL

获取工作计划

检索与工作计划相关的工作计划内容(GitHub 问题正文)。

输入

  • issue_number :工作计划的 GitHub 问题编号。

输出

  • 工作计划问题的内容作为字符串

审查工作计划

触发异步代码审查,将两个 git ref(分支或提交)与 GitHub 问题中描述的工作计划进行比较。运行完成后,将异步创建一个包含该审查的 GitHub 子问题(在后台)。

输入

  • issue_number :工作计划的 GitHub 问题编号。
  • base_ref :用于比较的基准 Git 引用(提交 SHA、分支名称、标签)。默认为“main”。
  • head_ref :用于比较的 Head Git 引用(提交 SHA、分支名称、标签)。默认为 'HEAD'。

输出

  • 审核任务已启动的确认消息

资源访问

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

持续集成/持续交付

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

  • 测试:在拉取请求时自动运行并推送到主分支
    • 使用 flake8 进行 Linting
    • 使用黑色检查格式
    • 使用 pytest 进行测试
  • 发布:推送版本标签时自动发布到 PyPI
    • 标签必须与 pyproject.toml 中的版本匹配(例如,v0.2.2)
    • 需要将 PyPI API 令牌存储为 GitHub 存储库机密(PYPI_API_TOKEN)

要发布新版本:

  1. 更新 pyproject.toml 中的版本
  2. 提交更改: git commit -am "Bump version to XYZ"
  3. 标记提交: git tag vX.YZ
  4. 推送更改并标记: git push && git push --tags

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

执照

麻省理工学院

You must be authenticated.

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

MCP 服务器将 Gemini 2.5 Pro 连接到 Claude Code,使用户能够根据他们的代码库生成详细的实施计划并接收有关代码更改的反馈。

  1. Features
    1. Installation
      1. Configuration
        1. Usage
          1. Running the server
          2. Integration with Claude Code
        2. Tools
          1. create_workplan
          2. create_worktree
          3. get_workplan
          4. review_workplan
        3. Resource Access
          1. Development
            1. CI/CD
          2. License
            ID: w0azmxm46z