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)サーバーは、Claude CodeにGemini 2.5 Proの機能を公開し、プロンプトでコードベース全体を使用したソフトウェア開発タスクを実行します。このパターンは、Claude Codeなどのコードアシスタントやその他のMCP対応コーディングエージェントが実行する作業を定義し、結果が元の要件を正確に満たしていることを確認するのに非常に役立ちます。
特徴
- 作業計画の作成: プロンプトに基づいてコードベース全体を考慮した詳細な実装計画を作成し、GitHub の問題として投稿して、コーディング エージェントの MCP リソースとして公開します。
- コード差分のレビュー: 完全なコードベースのコンテキストで元の作業計画に対してgitの差分を評価するツールを提供し、詳細なフィードバックを提供し、実装が元の要件から逸脱していないことを確認し、そうするために何を変更すべきかについてのガイダンスを提供します。
- 分離された開発環境: Git ワークツリーとリンクされたブランチを作成し、合理化された分離された開発ワークフローを実現します (作業計画の生成とは別に実行できます)。これにより、複数のエージェントによる並行開発が可能になります。
- シームレスな GitHub 統合: GitHub UI で適切なブランチ リンクを使用してラベル付けされた問題を自動的に作成し、元の作業計画の問題への参照を含むサブ問題のレビューを投稿します。
- コンテキスト制御:
.gitignore
と同様に、.yellhornignore
ファイルを使用して、特定のファイルとディレクトリを AI コンテキストから除外します。 - MCP リソース: 作業計画を標準の MCP リソースとして公開し、簡単に一覧表示および取得できるようにします。
インストール
構成
サーバーには次の環境変数が必要です。
GEMINI_API_KEY
: Gemini APIキー(必須)REPO_PATH
: リポジトリへのパス(デフォルトは現在のディレクトリ)YELLHORN_MCP_MODEL
: 使用する Gemini モデル (デフォルトは "gemini-2.5-pro-exp-03-25")
サーバーには、GitHub CLI ( gh
) がインストールされ、認証されている必要もあります。
使用法
サーバーの実行
Claude Codeとの統合
Claude Code を使用する場合、次の方法で Yellhorn MCP ツールを使用できます。
- プロジェクト タスクの開始:Copy
- 作業計画のワークツリーを作成します (オプション):Copy
- 作成されたワークツリー ディレクトリに移動します。Copy
- 必要に応じて作業計画を表示します。Copy
- 変更を加えて PR を作成し、レビューをリクエストします。Copy
ツール
作業計画を作成する
タイトルと詳細な説明に基づいて、詳細な作業計画を含む GitHub の問題を作成します。
入力:
title
: GitHub の問題のタイトル (問題のタイトルとヘッダーとして使用されます)detailed_description
: 作業計画の詳細な説明
出力:
- 次の内容を含む JSON 文字列:
issue_url
: 作成された GitHub の問題への URLissue_number
: GitHubの問題番号
ワークツリーの作成
既存の作業計画の問題から分離された開発のために、リンクされたブランチを持つ Git ワークツリーを作成します。
入力:
issue_number
: 作業計画のGitHubの問題番号
出力:
- 次の内容を含む JSON 文字列:
worktree_path
: 作成された Git ワークツリーディレクトリへのパスbranch_name
: ワークツリー用に作成されたブランチの名前issue_url
: 関連する GitHub の問題への URL
作業計画を取得する
作業計画に関連付けられた作業計画コンテンツ (GitHub の問題本体) を取得します。
入力:
issue_number
: 作業計画の GitHub の問題番号。
出力:
- 作業計画の問題の内容を文字列として
作業計画のレビュー
GitHub Issueに記載された作業計画と2つのgit参照(ブランチまたはコミット)を比較する非同期コードレビューをトリガーします。実行後(バックグラウンドで)、レビューを含むGitHubサブIssueが非同期的に作成されます。
入力:
issue_number
: 作業計画の GitHub の問題番号。base_ref
: 比較のためのベース Git ref(コミット SHA、ブランチ名、タグ)。デフォルトは「main」です。head_ref
: 比較対象となるGitのヘッド参照(コミットSHA、ブランチ名、タグ)。デフォルトは「HEAD」です。
出力:
- レビュータスクが開始されたことを確認するメッセージ
リソースアクセス
Yellhorn MCP は、作業計画へのアクセスを提供するために標準の MCP リソース API も実装しています。
list-resources
: すべての作業計画を一覧表示します (GitHub の yellhorn-mcp ラベルの問題)get-resource
: 問題番号で特定の作業計画の内容を取得します。
これらには、標準の MCP CLI コマンドを介してアクセスできます。
発達
CI/CD
このプロジェクトでは、継続的な統合とデプロイメントに GitHub Actions を使用します。
- テスト: プルリクエストで自動的に実行され、メインブランチにプッシュされます
- フレーク8で糸くずを落とす
- 黒でフォーマットチェック
- pytestを使ったテスト
- 公開: バージョンタグがプッシュされると、PyPI に自動的に公開されます
- タグは pyproject.toml のバージョンと一致する必要があります (例: v0.2.2)
- GitHub リポジトリ シークレットとして保存された PyPI API トークンが必要です (PYPI_API_TOKEN)
新しいバージョンをリリースするには:
- pyproject.toml のバージョンを更新する
- 変更をコミットする:
git commit -am "Bump version to XYZ"
- コミットにタグを付ける:
git tag vX.YZ
- 変更をプッシュしてタグ付けする:
git push && git push --tags
詳しい手順については、「使用ガイド」を参照してください。
ライセンス
マサチューセッツ工科大学
You must be authenticated.
Gemini 2.5 Pro を Claude Code に接続する MCP サーバー。ユーザーはコードベースに基づいて詳細な実装計画を生成し、コード変更に関するフィードバックを受け取ることができます。