Skip to main content
Glama

イェルホーン MCP

イェルホーンロゴ

モデルコンテキストプロトコル(MCP)サーバーは、Claude CodeにGemini 2.5 ProとOpenAIの機能を公開し、プロンプトでコードベース全体を使用したソフトウェア開発タスクを実行します。このパターンは、Claude Codeなどのコードアシスタントやその他のMCP対応コーディングエージェントが実行する作業を定義し、結果が元の要件を正確に満たしていることを確認するのに非常に役立ちます。

特徴

  • 作業計画の作成: プロンプトに基づいてコードベース全体を考慮した詳細な実装計画を作成し、GitHub の問題として投稿して、コーディング エージェントの MCP リソースとして公開します。

  • コード差分の判断: 完全なコードベースのコンテキストで元の作業計画に対してgitの差分を評価するツールを提供し、詳細なフィードバックを提供し、実装が元の要件から逸脱していないことを確認し、そうするために何を変更すべきかについてのガイダンスを提供します。

  • シームレスなGitHub統合:ラベル付きの問題を自動的に作成し、元の作業計画の問題への参照を含む判断サブ問題を投稿します。

  • コンテキスト制御: .gitignoreと同様に、 .yellhornignoreファイルを使用して、特定のファイルとディレクトリを AI コンテキストから除外します。

  • MCP リソース: 作業計画を標準の MCP リソースとして公開し、簡単に一覧表示および取得できるようにします。

Related MCP server: mcp-agent-review

インストール

# 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 モデル: 「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 の問題番号。

出力:

  • 作業計画の問題の内容を文字列として

裁判官の作業計画

GitHub Issue に記載された作業計画と 2 つの Git 参照(ブランチまたはコミット)を比較する非同期コード判定をトリガーします。実行後(バックグラウンドで)、判定結果を含む GitHub サブ Issue を非同期的に作成します。

入力:

  • issue_number : 作業計画の GitHub の問題番号。

  • base_ref : 比較のためのベース Git ref(コミット SHA、ブランチ名、タグ)。デフォルトは「main」です。

  • head_ref : 比較対象となるGitのヘッド参照(コミットSHA、ブランチ名、タグ)。デフォルトは「HEAD」です。

  • codebase_reasoning : (オプション) 提供されるコードベースコンテキストを制御します。

    • "full" : (デフォルト) 完全なコードベースコンテキストを使用する

    • "lsp" : より軽量なコードベースコンテキストを使用します (Python と Go の関数シグネチャのみ、および完全な diff ファイル)

    • "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

CI/CD

このプロジェクトでは、継続的な統合とデプロイメントに GitHub Actions を使用します。

  • テスト: プルリクエストで自動的に実行され、メインブランチにプッシュされます

    • フレーク8で糸くずを落とす

    • 黒でフォーマットチェック

    • pytestを使ったテスト

  • 公開: バージョンタグがプッシュされると、PyPI に自動的に公開されます

    • タグは pyproject.toml のバージョンと一致する必要があります (例: v0.2.2)

    • GitHub リポジトリ シークレットとして保存された PyPI API トークンが必要です (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

変更履歴については、変更ログを参照してください。

詳しい手順については、「使用ガイド」を参照してください。

ライセンス

マサチューセッツ工科大学

Available Tools

5 tools
create_workplanA

Creates a GitHub issue with a detailed implementation plan.

This tool will:

  1. Create a GitHub issue immediately with the provided title and description

  2. Launch a background AI process to generate a comprehensive workplan

  3. Update the issue with the generated workplan once complete

The AI will analyze your entire codebase (respecting .gitignore) to create a detailed plan with:

  • Specific files to modify/create

  • Code snippets and examples

  • Step-by-step implementation instructions

  • Testing strategies

Codebase reasoning modes:

  • "full": Complete file contents (most comprehensive)

  • "lsp": Function signatures and docstrings only (lighter weight)

  • "file_structure": Directory tree only (fastest)

  • "none": No codebase context

Returns the created issue URL and number immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
detailed_descriptionYes
codebase_reasoningNofull
debugNo
disable_search_groundingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and does well by disclosing key behaviors: immediate issue creation, background AI process, codebase analysis respecting .gitignore, and return of issue URL/number. It lacks details on permissions, rate limits, or error handling, but provides substantial operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with bullet points and clear sections, front-loaded with the main purpose. Every sentence adds value, such as explaining the process steps and codebase modes, without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters with 0% schema coverage and an output schema (which handles return values), the description is mostly complete. It covers the tool's process and key parameter semantics but misses some parameter details and behavioral aspects like error cases, making it slightly incomplete for full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains codebase_reasoning modes in detail (full, lsp, file_structure, none), adding meaning beyond the schema. However, it doesn't clarify title, detailed_description, debug, or disable_search_grounding parameters, leaving some gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a GitHub issue with an implementation plan, specifying it's for GitHub issues and distinguishes from siblings like get_workplan (retrieval) and revise_workplan (modification). The verb 'creates' and resource 'GitHub issue' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing a detailed implementation plan for a codebase, with context on codebase reasoning modes for different scenarios. However, it doesn't explicitly state when to use this versus alternatives like curate_context or judge_workplan, or any prerequisites for GitHub access.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

curate_contextA

Analyzes the codebase and creates a .yellhorncontext file listing directories to be included in AI context.

This tool helps optimize AI context by:

  1. Analyzing your codebase structure

  2. Understanding the task you want to accomplish

  3. Creating a .yellhorncontext file that lists relevant directories

  4. Subsequent workplan/judgement calls will only include files from these directories

The .yellhorncontext file acts as a whitelist - only files matching the patterns will be included. This significantly reduces token usage and improves AI focus on relevant code.

Example .yellhorncontext: src/api/ src/models/ tests/api/ *.config.js

ParametersJSON Schema
NameRequiredDescriptionDefault
user_taskYes
codebase_reasoningNofile_structure
ignore_file_pathNo.yellhornignore
output_pathNo.yellhorncontext
disable_search_groundingNo
debugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: it analyzes codebase structure, creates a whitelist file, reduces token usage, and improves AI focus. However, it lacks details on potential side effects (e.g., file overwriting), error handling, or performance characteristics like rate limits, leaving some gaps for a tool with significant impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by a bulleted list of steps and benefits. It's appropriately sized for a complex tool, though the example section could be slightly trimmed without losing clarity. Every sentence contributes to understanding, with minimal redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no annotations) and the presence of an output schema (which handles return values), the description is mostly complete. It explains the tool's role, benefits, and output format (.yellhorncontext file). However, it lacks details on parameter interactions or edge cases, which could aid in more robust usage, leaving room for slight improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions analyzing 'codebase structure' and 'the task you want to accomplish,' which loosely relates to parameters like user_task and codebase_reasoning, but doesn't explain specific semantics (e.g., what user_task entails or how ignore_file_path works). The example .yellhorncontext file adds some context but doesn't directly clarify parameters, resulting in marginal value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's purpose: 'Analyzes the codebase and creates a .yellhorncontext file listing directories to be included in AI context.' It uses specific verbs ('analyzes,' 'creates') and identifies the resource (codebase, .yellhorncontext file), clearly distinguishing it from sibling tools like create_workplan or judge_workplan, which focus on different aspects of the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'This tool helps optimize AI context' and 'Subsequent workplan/judgement calls will only include files from these directories.' It implicitly distinguishes it from siblings by highlighting its role in context curation before other steps, though it doesn't explicitly name alternatives, the context makes the workflow clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_workplanB

Retrieves the workplan content (GitHub issue body) for a specified issue number.

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a retrieval operation, implying read-only behavior, but doesn't cover critical aspects like authentication requirements, rate limits, error handling (e.g., if the issue doesn't exist), or response format. The mention of 'GitHub issue body' adds some context, but overall, behavioral traits are minimally described for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action ('retrieves') and resource, making it easy to parse. Every part of the sentence adds value, such as specifying 'GitHub issue body,' and there's no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter) and the presence of an output schema (which likely covers return values), the description is somewhat complete but has gaps. It adequately explains what the tool does but lacks usage guidelines, behavioral details (like error cases), and doesn't fully compensate for the 0% schema coverage. For a simple retrieval tool, it's minimally viable but could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning by specifying that the 'issue_number' parameter corresponds to a GitHub issue, which clarifies its purpose beyond the schema's generic title. However, with 0% schema description coverage and only one parameter, the baseline is 3, as the schema lacks descriptions but the description provides some compensation. It doesn't detail format constraints (e.g., numeric string) or examples, leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('retrieves') and resource ('workplan content'), specifying it's the GitHub issue body for a given issue number. It distinguishes from siblings like create_workplan or revise_workplan by focusing on retrieval rather than creation or modification. However, it doesn't explicitly differentiate from other read operations like curate_context or judge_workplan, which may also involve reading workplan data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing issue), exclusions (e.g., not for creating or editing), or comparisons to siblings like curate_context or judge_workplan, which might also access workplan content. Usage is implied by the verb 'retrieves,' but no explicit context or alternatives are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

judge_workplanA

Triggers an asynchronous code judgement comparing two git refs against a workplan.

This tool will:

  1. Create a sub-issue linked to the workplan immediately

  2. Launch a background AI process to analyze the code changes

  3. Update the sub-issue with the judgement once complete

The judgement will evaluate:

  • Whether the implementation follows the workplan

  • Code quality and completeness

  • Missing or incomplete items

  • Suggestions for improvement

Supports comparing:

  • Branches (e.g., feature-branch vs main)

  • Commits (e.g., abc123 vs def456)

  • PR changes (automatically uses PR's base and head)

Returns the sub-issue URL immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_numberYes
base_refNomain
head_refNoHEAD
codebase_reasoningNofull
debugNo
disable_search_groundingNo
subissue_to_updateNo
pr_urlNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so well. It discloses key behavioral traits: the process is asynchronous, creates a sub-issue, launches a background AI analysis, and updates the sub-issue upon completion. It also details what the judgement evaluates (e.g., workplan adherence, code quality) and the immediate return of a sub-issue URL, covering most operational aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core purpose. Each sentence adds value: the bullet points clarify steps and evaluation criteria, and the final sentence states the return. There is no wasted text, making it efficient and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (asynchronous AI process, 8 parameters) and no annotations, the description is largely complete, covering purpose, behavior, and output. It mentions an output schema exists, so return values need not be detailed. However, it could improve by addressing parameter specifics or error handling, but it's sufficient for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining the types of comparisons supported (branches, commits, PRs), which relates to parameters like base_ref and head_ref. However, it does not detail other parameters (e.g., codebase_reasoning, debug), leaving gaps. The baseline is lowered due to incomplete coverage of the 8 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Triggers an asynchronous code judgement comparing two git refs against a workplan.' It specifies the verb ('triggers'), resource ('code judgement'), and scope ('against a workplan'), distinguishing it from sibling tools like create_workplan or revise_workplan, which focus on workplan creation or modification rather than evaluation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for comparing code changes (branches, commits, PRs) against a workplan. It does not explicitly mention when not to use it or name alternatives among siblings (e.g., get_workplan for retrieval), but the focus on judgement implies it's for evaluation scenarios, offering adequate guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revise_workplanA

Updates an existing workplan based on revision instructions.

This tool will:

  1. Fetch the existing workplan from the specified GitHub issue

  2. Launch a background AI process to revise the workplan based on your instructions

  3. Update the issue with the revised workplan once complete

The AI will use the same codebase analysis mode and model as the original workplan.

Returns the issue URL and number immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_numberYes
revision_instructionsYes
codebase_reasoningNofull
debugNo
disable_search_groundingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and provides good behavioral context: it describes a multi-step process (fetch, AI revision, update), mentions background execution, specifies AI uses same analysis mode/model as original, and notes immediate return of issue URL/number. It doesn't cover permissions, rate limits, or error handling, but adds substantial value beyond basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded: the first sentence states the purpose, followed by a bulleted list of steps and additional details. Every sentence adds value—no repetition or waste—making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters with 0% schema coverage, no annotations, and an output schema (which handles return values), the description does well by explaining the core process and key parameters. It could improve by covering optional parameters and more behavioral aspects like error cases, but it's largely complete for a mutation tool with output schema support.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It implicitly explains 'issue_number' (fetches from GitHub issue) and 'revision_instructions' (basis for AI revision), covering the two required parameters. However, it doesn't address optional parameters like 'codebase_reasoning' or 'debug', leaving some gaps in parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Updates an existing workplan based on revision instructions.' It specifies the verb ('Updates'), resource ('existing workplan'), and distinguishes from siblings like 'create_workplan' (creates new) and 'get_workplan' (reads only). The three-step breakdown further clarifies the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by mentioning it updates an existing workplan from a GitHub issue, suggesting it's for revisions after creation. However, it lacks explicit guidance on when to use this vs. alternatives like 'create_workplan' for new workplans or 'judge_workplan' for evaluation, and doesn't mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.0
    • Addedcreate_workplan
    • Addedcurate_context
    • Removedgenerate_work_plan
    • Addedget_workplan
    • Addedjudge_workplan
    • Removedreview_work_plan
    • Addedrevise_workplan
  2. 2 tool updates
    • First observedgenerate_work_plan
    • First observedreview_work_plan

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a distinct primary purpose: create_workplan initiates planning, curate_context manages codebase context, get_workplan retrieves plans, judge_workplan evaluates implementations, and revise_workplan updates plans. There is minor potential overlap between create_workplan and revise_workplan (both generate/update workplans), but their distinct triggers and descriptions help differentiate them effectively.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (e.g., create_workplan, judge_workplan, revise_workplan). The verbs are clear and descriptive, and the snake_case style is uniformly applied across all five tools, making the set predictable and easy to navigate.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose of managing AI-driven workplan creation and evaluation in GitHub contexts. Each tool serves a specific, necessary function in the workflow, from planning to context curation to judgement, without redundancy or bloat, fitting a typical range for focused MCP servers.

Completeness4/5

The tool set covers the core lifecycle of workplan management: creation (create_workplan), retrieval (get_workplan), revision (revise_workplan), and evaluation (judge_workplan), with context optimization (curate_context) as a supporting function. A minor gap exists in direct deletion or archiving of workplans, but agents can likely handle this through GitHub's native tools, and the coverage supports end-to-end workflows effectively.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers