mcpField
M
mcp-builder

mcp-builder

公式
github.com/anthropicsデザイン・UI184.5k133.2k 回インストール今日更新
リポジトリ

mcp-builder について

mcp-builder は、MCP サーバーの開発を支援するガイド形式のスキルです。計画、実装、テスト、評価までの流れを扱い、MCP サーバーを構築する開発者を対象としています。既定の技術スタックとして TypeScript を推奨しています。

主な機能

  1. 01MCP サーバーのツール設計に関する計画の原則
  2. 02TypeScript と Streamable HTTP トランスポートの推奨構成
  3. 03ツールの入出力スキーマとアノテーションの記述規則
  4. 04MCP Inspector を用いたビルドとテストの手順
  5. 05LLM のツール利用を評価するための問題の作成

活用シーン

  1. 01外部 API 向け MCP サーバーの設計と実装
  2. 02既存 MCP サーバーのツール定義とエラー処理のレビュー
  3. 03MCP サーバーに対する読み取り専用の評価問題と解答の作成

MCP 対応

このスキル自体は MCP サーバーではありません。ツール、リソース、プロンプトの定義方法と、stdio および Streamable HTTP トランスポートの使い方をまとめた、MCP サーバー構築のためのガイドです。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/anthropics/skills --skill mcp-builder

インストール後、Claude Code で/mcp-builderを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.txt
reference/
evaluation.md
mcp_best_practices.md
node_mcp_server.md
python_mcp_server.md
scripts/
connections.py
evaluation.py
example_evaluation.xml
requirements.txt

詳細

MCP サーバー開発ガイド

概要

LLM が適切に設計されたツールを通じて外部サービスとやり取りできるようにする MCP(Model Context Protocol)サーバーを作成します。MCP サーバーの品質は、LLM が実際のタスクをどれだけうまく達成できるかで評価されます。


プロセス

🚀 大まかなワークフロー

高品質な MCP サーバーの作成には、主に 4 つのフェーズがあります。

フェーズ 1:詳細な調査と計画
1.1 最新の MCP 設計を理解する

API カバレッジとワークフローツール: 包括的な API エンドポイントのカバレッジと、特化したワークフローツールのバランスを取ります。ワークフローツールは特定のタスクでより便利な場合があり、一方で包括的なカバレッジがあれば、エージェントは操作を柔軟に組み合わせられます。パフォーマンスはクライアントによって異なります。基本的なツールを組み合わせるコード実行が役立つクライアントもあれば、より高水準のワークフローが適しているクライアントもあります。判断に迷った場合は、包括的な API カバレッジを優先してください。

ツールの命名と見つけやすさ: 明確で説明的なツール名を付けると、エージェントが適切なツールをすばやく見つけられます。一貫性のある接頭辞(例:github_create_issue、github_list_repos)を使い、操作を表す名前を付けてください。

コンテキスト管理: エージェントは、簡潔なツールの説明と、結果を絞り込んだりページ分割したりできる機能を活用できます。焦点を絞った関連データを返すツールを設計してください。一部のクライアントではコード実行がサポートされており、エージェントが効率よくデータを絞り込み、処理するのに役立ちます。

実行可能なエラーメッセージ: エラーメッセージには、具体的な提案と次の手順を示し、エージェントが解決策を見つけられるようにしてください。

1.2 MCP プロトコルのドキュメントを確認する

MCP 仕様をたどる:

サイトマップから関連ページを探します:https://modelcontextprotocol.io/sitemap.xml

次に、.md サフィックスを付けて特定のページを取得すると、Markdown 形式で確認できます(例:https://modelcontextprotocol.io/specification/draft.md)。

確認すべき主なページ:

  • 仕様の概要とアーキテクチャ
  • トランスポート方式(ストリーミング可能な HTTP、stdio)
  • ツール、リソース、プロンプトの定義
1.3 フレームワークのドキュメントを確認する

推奨スタック:

  • 言語:TypeScript(高品質な SDK サポートがあり、多くの実行環境(例:MCPB)で互換性に優れています。また、AI モデルは TypeScript コードの生成が得意です。幅広く使われていること、静的型付け、優れたリントツールも利点です)
  • トランスポート:リモートサーバーには、ステートレスな JSON を使用するストリーミング可能な HTTP(ステートフルなセッションやストリーミング応答と比べて、スケーリングと保守が簡単です)。ローカルサーバーには stdio を使用します。

フレームワークのドキュメントを読み込む:

TypeScript の場合(推奨):

  • TypeScript SDK:WebFetch を使って https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md を読み込みます
  • ⚡ TypeScript ガイド - TypeScript のパターンと例

Python の場合:

  • Python SDK:WebFetch を使って https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md を読み込みます
  • 🐍 Python ガイド - Python のパターンと例
1.4 実装を計画する

API を理解する: サービスの API ドキュメントを確認し、主要なエンドポイント、認証要件、データモデルを特定します。必要に応じてウェブ検索や WebFetch を活用してください。

ツールの選定: 包括的な API カバレッジを優先します。一般的な操作から始めて、実装するエンドポイントを列挙してください。


フェーズ 2:実装
2.1 プロジェクト構成を設定する

プロジェクトの設定については、言語別のガイドを参照してください。

2.2 コアインフラストラクチャを実装する

共通ユーティリティを作成します。

  • 認証機能付き API クライアント
  • エラーハンドリング用ヘルパー
  • レスポンスのフォーマット(JSON/Markdown)
  • ページネーションのサポート
2.3 ツールを実装する

各ツールについて:

入力スキーマ:

  • Zod(TypeScript)または Pydantic(Python)を使用します
  • 制約と明確な説明を含めます
  • フィールドの説明に例を追加します

出力スキーマ:

  • 可能な場合は、構造化データ向けに outputSchema を定義します
  • ツールの応答で structuredContent を使用します(TypeScript SDK の機能)
  • クライアントがツールの出力を理解し、処理するのに役立ちます

ツールの説明:

  • 機能の簡潔な概要
  • パラメーターの説明
  • 戻り値の型スキーマ

実装:

  • I/O 操作には async/await を使用します
  • 対処方法がわかるエラーメッセージを含む、適切なエラー処理
  • 該当する場合はページネーションをサポートします
  • 最新の SDK を使用する場合は、テキストコンテンツと構造化データの両方を返します

アノテーション:

  • readOnlyHint:true/false
  • destructiveHint:true/false
  • idempotentHint:true/false
  • openWorldHint:true/false

フェーズ 3:レビューとテスト
3.1 コード品質

以下を確認します:

  • コードが重複していないこと(DRY 原則)
  • 一貫性のあるエラー処理
  • 型が完全に網羅されていること
  • ツールの説明が明確であること
3.2 ビルドとテスト

TypeScript:

  • npm run build を実行して、コンパイルを確認します
  • MCP Inspector でテストします:npx @modelcontextprotocol/inspector

Python:

  • 構文を確認します:python -m py_compile your_server.py
  • MCP Inspector でテストします

詳しいテスト方法と品質チェックリストについては、言語別のガイドを参照してください。


フェーズ 4:評価を作成する

MCP サーバーの実装後、その有効性をテストするための包括的な評価を作成します。

評価の完全なガイドラインについては、✅ 評価ガイドを読み込みます。

4.1 評価の目的を理解する

評価を使用して、LLM が MCP サーバーを効果的に活用し、現実的で複雑な質問に回答できるかをテストします。

4.2 評価用の質問を 10 件作成する

効果的な評価を作成するには、評価ガイドに記載された手順に従います:

  1. ツールの確認:利用可能なツールを一覧表示し、その機能を理解します
  2. コンテンツの探索:読み取り専用の操作で、利用可能なデータを調べます
  3. 質問の作成:複雑で現実的な質問を 10 件作成します
  4. 回答の検証:各質問を自分で解いて、回答を検証します
4.3 評価の要件

各質問が以下の要件を満たしていることを確認します:

  • 独立性:他の質問に依存しないこと
  • 読み取り専用:破壊的でない操作のみが必要であること
  • 複雑性:複数のツール呼び出しと詳細な探索が必要であること
  • 現実性:人々が実際に関心を持つユースケースに基づいていること
  • 検証可能性:文字列比較で検証できる、明確で単一の回答があること
  • 安定性:時間が経過しても回答が変わらないこと
4.4 出力形式

次の構造の XML ファイルを作成します:

<evaluation>
  <qa_pair>
    <question>Find discussions about AI model launches with animal codenames. One model needed a specific safety designation that uses the format ASL-X. What number X was being determined for the model named after a spotted wild cat?</question>
    <answer>3</answer>
  </qa_pair>

</evaluation>

参考ファイル

📚 ドキュメントライブラリ

開発中、必要に応じて以下のリソースを読み込みます:

MCP のコアドキュメント(最初に読み込む)
  • MCP プロトコル:まず https://modelcontextprotocol.io/sitemap.xml のサイトマップを確認し、その後 .md サフィックスを付けて特定のページを取得します
  • 📋 MCP のベストプラクティス - 以下を含む、MCP に関する共通ガイドライン:
    • サーバーとツールの命名規則
    • 応答形式のガイドライン(JSON と Markdown の比較)
    • ページネーションのベストプラクティス
    • トランスポートの選択(ストリーミング可能な HTTP と stdio の比較)
    • セキュリティとエラー処理の標準
SDK ドキュメント(フェーズ 1/2 で読み込む)
  • Python SDK:https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md から取得します
  • TypeScript SDK:https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md から取得します
言語別実装ガイド(フェーズ 2 で読み込み)
  • 🐍 Python 実装ガイド - Python/FastMCP の包括的なガイドです。内容は次のとおりです。

    • サーバー初期化のパターン
    • Pydantic モデルの例
    • @mcp.tool を使ったツール登録
    • 動作する完全なサンプル
    • 品質チェックリスト
  • ⚡ TypeScript 実装ガイド - TypeScript の包括的なガイドです。内容は次のとおりです。

    • プロジェクト構成
    • Zod スキーマのパターン
    • server.registerTool を使ったツール登録
    • 動作する完全なサンプル
    • 品質チェックリスト
評価ガイド(フェーズ 4 で読み込み)
  • ✅ 評価ガイド - 評価作成の包括的なガイドです。内容は次のとおりです。
    • 質問作成のガイドライン
    • 回答の検証方法
    • XML 形式の仕様
    • 質問と回答の例
    • 提供されたスクリプトを使った評価の実行

コメント