claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルSkills

🔧mcp-builder

プラグイン
example-skills
ライセンス
Complete terms in LICENSE.txt

説明

外部サービスとの連携を実現する、高品質なMCP(Model Context Protocol)サーバーの構築ガイドです。 適切に設計されたツールを通じて、LLMが外部サービスと対話できるようにします。 次のような場合に使用: PythonのFastMCP、またはNode/TypeScriptのMCP SDKを使用して、 外部APIやサービスを統合するMCPサーバーを構築する場合。

原文を表示

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

ユースケース

  • 外部APIを統合するMCPサーバーを構築する
  • LLMが外部サービスと対話できるようにする
  • PythonのFastMCPで開発するとき
  • Node/TypeScriptのMCP SDKを使用するとき

本文(日本語訳)

MCPサーバー開発ガイド

概要

LLMが外部サービスと連携できるよう、適切に設計されたツール群を備えたMCP(Model Context Protocol)サーバーを作成します。 MCPサーバーの品質は、LLMが現実世界のタスクをいかにうまく達成できるかによって測られます。


プロセス

🚀 高レベルワークフロー

高品質なMCPサーバーの作成は、以下の4つの主要フェーズから構成されます。


フェーズ1: 詳細なリサーチと計画

1.1 最新のMCP設計を理解する

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

ツールの命名と発見容易性: 明確で説明的なツール名は、agentが適切なツールを素早く見つけるために役立ちます。 一貫したプレフィックス(例: github_create_issuegithub_list_repos)とアクション指向の命名を使用してください。

コンテキスト管理: agentは、簡潔なツール説明と結果のフィルタリング・ページネーション機能から恩恵を受けます。 焦点が絞られた関連性の高いデータを返すようにツールを設計しましょう。 コード実行をサポートするクライアントでは、agentがデータを効率的にフィルタリング・処理できます。

実行可能なエラーメッセージ: エラーメッセージは、具体的な提案や次のステップを示し、agentが解決策へ向かうよう導くものにしてください。

1.2 MCPプロトコルドキュメントを調べる

MCPの仕様書を参照する手順:

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

次に、マークダウン形式で取得するため .md サフィックスを付けて各ページを取得します (例: https://modelcontextprotocol.io/specification/draft.md)。

確認すべき主なページ:

  • 仕様の概要とアーキテクチャ
  • トランスポートの仕組み(Streamable HTTP、stdio)
  • ツール・リソース・プロンプトの定義

1.3 フレームワークドキュメントを調べる

推奨スタック:

  • 言語: TypeScript (高品質なSDKサポートと、MCPBなど多くの実行環境での優れた互換性。 またAIモデルはTypeScriptコードの生成が得意で、広い普及率・静的型付け・優秀なリントツールの恩恵も受けられます)
  • トランスポート: リモートサーバーにはStreamable HTTP(ステートレスJSONを使用。 ステートフルなセッションやストリーミングレスポンスと比べ、スケールと保守が容易)、ローカルサーバーには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 ツールを実装する

各ツールについて以下を実装します:

入力スキーマ:

  • TypeScriptではZod、PythonではPydanticを使用する
  • 制約条件と明確な説明を含める
  • フィールドの説明にサンプルを追加する

出力スキーマ:

  • 構造化データには可能な限り 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: 評価(Evaluation)の作成

MCPサーバーの実装が完了したら、その有効性を検証するための包括的な評価を作成します。

完全な評価ガイドラインについては ✅ 評価ガイド を読み込んでください。

4.1 評価の目的を理解する

評価は、LLMが実際の複雑な質問に答えるためにMCPサーバーを効果的に活用できるかをテストするために使用します。

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

効果的な評価を作成するには、評価ガイドに記載された以下のプロセスに従ってください:

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

4.3 評価の要件

各質問が以下の条件を満たしていることを確認してください:

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

4.4 出力フォーマット

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

<evaluation>
  <qa_pair>
    <question>AIモデルのローンチに関する、動物のコードネームを使った議論を探してください。あるモデルにはASL-Xという形式の特定の安全指定が必要でした。スポット模様の野生の猫にちなんで命名されたモデルで、Xに当てはまる数字は何でしたか?</question>
    <answer>3</answer>
  </qa_pair>
<!-- さらにqa_pairを続ける... -->
</evaluation>

リファレンスファイル

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

開発中に必要に応じて以下のリソースを読み込んでください。

コアMCPドキュメント(最初に読み込む)

  • MCPプロトコル: まず https://modelcontextprotocol.io/sitemap.xml のサイトマップを確認し、各ページは .md サフィックスを付けて取得する
  • 📋 MCPベストプラクティス — 以下を含む汎用MCPガイドライン:
    • サーバーとツールの命名規則
    • レスポンスフォーマットのガイドライン(JSON vs Markdown)
    • ページネーションのベストプラクティス
    • トランスポートの選定(Streamable HTTP vs 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フォーマットの仕様
    • 質問と回答のサンプル
    • 提供スクリプトを使った評価の実行方法
原文(English)を表示

MCP Server Development Guide

Overview

Create MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. The quality of an MCP server is measured by how well it enables LLMs to accomplish real-world tasks.


Process

🚀 High-Level Workflow

Creating a high-quality MCP server involves four main phases:

Phase 1: Deep Research and Planning

1.1 Understand Modern MCP Design

API Coverage vs. Workflow Tools: Balance comprehensive API endpoint coverage with specialized workflow tools. Workflow tools can be more convenient for specific tasks, while comprehensive coverage gives agents flexibility to compose operations. Performance varies by client—some clients benefit from code execution that combines basic tools, while others work better with higher-level workflows. When uncertain, prioritize comprehensive API coverage.

Tool Naming and Discoverability: Clear, descriptive tool names help agents find the right tools quickly. Use consistent prefixes (e.g., github_create_issue, github_list_repos) and action-oriented naming.

Context Management: Agents benefit from concise tool descriptions and the ability to filter/paginate results. Design tools that return focused, relevant data. Some clients support code execution which can help agents filter and process data efficiently.

Actionable Error Messages: Error messages should guide agents toward solutions with specific suggestions and next steps.

1.2 Study MCP Protocol Documentation

Navigate the MCP specification:

Start with the sitemap to find relevant pages: https://modelcontextprotocol.io/sitemap.xml

Then fetch specific pages with .md suffix for markdown format (e.g., https://modelcontextprotocol.io/specification/draft.md).

Key pages to review:

  • Specification overview and architecture
  • Transport mechanisms (streamable HTTP, stdio)
  • Tool, resource, and prompt definitions

1.3 Study Framework Documentation

Recommended stack:

  • Language: TypeScript (high-quality SDK support and good compatibility in many execution environments e.g. MCPB. Plus AI models are good at generating TypeScript code, benefiting from its broad usage, static typing and good linting tools)
  • Transport: Streamable HTTP for remote servers, using stateless JSON (simpler to scale and maintain, as opposed to stateful sessions and streaming responses). stdio for local servers.

Load framework documentation:

For TypeScript (recommended):

  • TypeScript SDK: Use WebFetch to load https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md
  • ⚡ TypeScript Guide - TypeScript patterns and examples

For Python:

  • Python SDK: Use WebFetch to load https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • 🐍 Python Guide - Python patterns and examples

1.4 Plan Your Implementation

Understand the API: Review the service's API documentation to identify key endpoints, authentication requirements, and data models. Use web search and WebFetch as needed.

Tool Selection: Prioritize comprehensive API coverage. List endpoints to implement, starting with the most common operations.


Phase 2: Implementation

2.1 Set Up Project Structure

See language-specific guides for project setup:

2.2 Implement Core Infrastructure

Create shared utilities:

  • API client with authentication
  • Error handling helpers
  • Response formatting (JSON/Markdown)
  • Pagination support

2.3 Implement Tools

For each tool:

Input Schema:

  • Use Zod (TypeScript) or Pydantic (Python)
  • Include constraints and clear descriptions
  • Add examples in field descriptions

Output Schema:

  • Define outputSchema where possible for structured data
  • Use structuredContent in tool responses (TypeScript SDK feature)
  • Helps clients understand and process tool outputs

Tool Description:

  • Concise summary of functionality
  • Parameter descriptions
  • Return type schema

Implementation:

  • Async/await for I/O operations
  • Proper error handling with actionable messages
  • Support pagination where applicable
  • Return both text content and structured data when using modern SDKs

Annotations:

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

Phase 3: Review and Test

3.1 Code Quality

Review for:

  • No duplicated code (DRY principle)
  • Consistent error handling
  • Full type coverage
  • Clear tool descriptions

3.2 Build and Test

TypeScript:

  • Run npm run build to verify compilation
  • Test with MCP Inspector: npx @modelcontextprotocol/inspector

Python:

  • Verify syntax: python -m py_compile your_server.py
  • Test with MCP Inspector

See language-specific guides for detailed testing approaches and quality checklists.


Phase 4: Create Evaluations

After implementing your MCP server, create comprehensive evaluations to test its effectiveness.

Load ✅ Evaluation Guide for complete evaluation guidelines.

4.1 Understand Evaluation Purpose

Use evaluations to test whether LLMs can effectively use your MCP server to answer realistic, complex questions.

4.2 Create 10 Evaluation Questions

To create effective evaluations, follow the process outlined in the evaluation guide:

  1. Tool Inspection: List available tools and understand their capabilities
  2. Content Exploration: Use READ-ONLY operations to explore available data
  3. Question Generation: Create 10 complex, realistic questions
  4. Answer Verification: Solve each question yourself to verify answers

4.3 Evaluation Requirements

Ensure each question is:

  • Independent: Not dependent on other questions
  • Read-only: Only non-destructive operations required
  • Complex: Requiring multiple tool calls and deep exploration
  • Realistic: Based on real use cases humans would care about
  • Verifiable: Single, clear answer that can be verified by string comparison
  • Stable: Answer won't change over time

4.4 Output Format

Create an XML file with this structure:

<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>
<!-- More qa_pairs... -->
</evaluation>

Reference Files

📚 Documentation Library

Load these resources as needed during development:

Core MCP Documentation (Load First)

  • MCP Protocol: Start with sitemap at https://modelcontextprotocol.io/sitemap.xml, then fetch specific pages with .md suffix
  • 📋 MCP Best Practices - Universal MCP guidelines including:
    • Server and tool naming conventions
    • Response format guidelines (JSON vs Markdown)
    • Pagination best practices
    • Transport selection (streamable HTTP vs stdio)
    • Security and error handling standards

SDK Documentation (Load During Phase 1/2)

  • Python SDK: Fetch from https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • TypeScript SDK: Fetch from https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md

Language-Specific Implementation Guides (Load During Phase 2)

  • 🐍 Python Implementation Guide - Complete Python/FastMCP guide with:

    • Server initialization patterns
    • Pydantic model examples
    • Tool registration with @mcp.tool
    • Complete working examples
    • Quality checklist
  • ⚡ TypeScript Implementation Guide - Complete TypeScript guide with:

    • Project structure
    • Zod schema patterns
    • Tool registration with server.registerTool
    • Complete working examples
    • Quality checklist

Evaluation Guide (Load During Phase 4)

  • ✅ Evaluation Guide - Complete evaluation creation guide with:
    • Question creation guidelines
    • Answer verification strategies
    • XML format specifications
    • Example questions and answers
    • Running an evaluation with the provided scripts

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。