agent-protocol について
エージェントのツールインターフェースと通信プロトコルを設計するスキルです。MCP サーバーやマルチエージェントシステムの開発者向けに、スキーマ、伝送方式、認証、プロトコル連携を扱います。
主な機能
- 01MCP、A2A、関数呼び出しの比較
- 02JSON Schema によるツール設計
- 03伝送方式と機能の検出
- 04OAuth 2.1 と API キー認証
- 05構造化エラーとレート制限
- 06異なるエージェントプロトコルの橋渡し
活用シーン
- 01LLM エージェント向けツール設計
- 02クライアントに API を公開する MCP サーバーの構築
- 03マルチエージェント間の通信実装
- 04MCP と A2A などのプロトコル連携
MCP 対応
MCP のツール、リソース、プロンプトの設計と、stdio、SSE、WebSocket の伝送方式を扱います。機能検出や認証、MCP と他のエージェントプロトコル間の橋渡しも対象です。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ borghei/ claude-skills --skill agent-protocolインストール後、Claude Code で/agent-protocolを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/a2a-and-bridges.mderrors-testing-and-quality.mdmcp-implementation.mdprotocol-selection.mdscripts/capability_mapper.pyprotocol_validator.pyschema_generator.py詳細
エージェントプロトコル
エージェントは、MCP、Google A2A、OpenAI Function Calling の各プロトコル向けにツールスキーマを設計します。トランスポートの選択、機能の検出、認証フロー(OAuth 2.1、API キー)、構造化エラー処理、レート制限、異種エージェントエコシステム向けのプロトコルブリッジを実装します。
主な機能
- プロトコルの選択と比較 — MCP(ツール/リソース/プロンプトの提供)、Google A2A(エージェントカード、タスクのライフサイクル、ストリーミング)、OpenAI Function Calling(JSON Schema、並列呼び出し、厳格モード)、LangChain/LangGraph ツール、カスタム WebSocket/gRPC メッセージング
- ツールスキーマの設計 — JSON Schema による入出力の検証、意味に基づく命名規則、LLM が理解しやすい説明の設計、必須パラメーターと任意パラメーター、列挙型とデフォルト値の方針
- トランスポートと検出 — MCP 向け stdio/SSE/WebSocket、A2A 向け HTTP+JSON-RPC、エージェントカードによる機能の告知、ヘルスチェック、プロトコルバージョンのネゴシエーション
- セキュリティと認証 — OAuth 2.1 フロー、API キーのローテーションとスコープ設定、リクエスト署名、ID ごとのレート制限、エージェント間呼び出しの監査ログ
使用する場面
- LLM 搭載エージェント向けのツールインターフェイスを設計する場合
- Claude、Cursor、その他のクライアントに API を公開する MCP サーバーを構築する場合
- マルチエージェントシステムでエージェント間通信を実装する場合
- 異なるエージェントプロトコル間を接続する場合(MCP と A2A など)
- チームや組織全体でツール呼び出しパターンを標準化する場合
- エージェントによるツール選択の失敗をデバッグする場合
最初に確認すること
プロトコルを設計する前に、以下の入力情報を確認してください。不明または曖昧な項目があれば、推測せずに質問してください。
- 対象プロトコル — MCP、A2A、OpenAI Function Calling、LangChain Tools のいずれか(以下の判断フレームワークを通じて、スキーマとトランスポートの設計全体を左右します)
- トランスポートとクライアント — どのクライアントが利用するか(MCP 向けの stdio/SSE/WebSocket、A2A 向けの HTTP+JSON-RPC)
- 認証と信頼境界 — プロセス内か、組織間か(OAuth 2.1、API キー、認証なしのいずれにするかに加え、レート制限と署名の要否も決まります)
停止ルール:出力に最も大きく影響する 2〜3 項目だけを質問してください。ユーザーが「とりあえず下書きを作って」と言った場合は、そのまま進め、成果物の冒頭に前提条件を列挙してください。
判断フレームワーク
What are you building?
│
├─ Tools for a single LLM client (Claude, Cursor, Copilot)
│ └─ Use MCP — it's the native protocol for tool serving
│
├─ Agent-to-agent communication across organizations
│ └─ Use A2A — designed for cross-boundary agent discovery and delegation
│
├─ Tools for OpenAI models specifically
│ └─ Use OpenAI Function Calling — tightest integration
│
├─ Python pipeline with multiple chained tools
│ └─ Use LangChain Tools — simplest for in-process orchestration
│
└─ Heterogeneous agent ecosystem (multiple protocols)
└─ Use Protocol Bridge pattern — translate between protocols at boundaries
参考資料
タスクに合った参考資料を読み込んでください。このファイルは簡潔に保ち、必要に応じて詳細を参照してください。
- references/protocol-selection.md — MCP、A2A、OpenAI Functions、LangChain Tools の詳細な比較表。プロトコルを決定する前に比較する場合に読みます。
- references/mcp-implementation.md — ツールスキーマの構成、命名と説明のルール、TypeScript による MCP サーバーのコード(stdio と認証付き SSE)。MCP サーバーの構築やツールスキーマの設計時に読みます。
- references/a2a-and-bridges.md — A2A エージェントカード、タスクのライフサイクル、Python による A2A クライアントの全実装、プロトコルブリッジパターン。エージェント間通信の構築やプロトコルの橋渡しをする場合に読みます。
- references/errors-testing-and-quality.md — 構造化エラー形式、エラーコードの分類、スキーマ/統合テスト、落とし穴、ベストプラクティス、トラブルシューティング、成功基準。本番環境向けの強化や障害の診断時に読みます。
対象範囲と制限事項
このスキルで扱う内容:
- MCP、A2A、OpenAI Function Calling、LangChain Tools 向けのツールスキーマの設計
- トランスポートの選択、機能の検出、プロトコルバージョンのネゴシエーション
- エージェント間通信における認証、レート制限、構造化されたエラー処理
- 異種エージェントエコシステム間のプロトコルブリッジング
このスキルで扱わない内容:
- ビジネスロジックを含む完全な MCP サーバーアプリケーションの構築 —
engineering/mcp-server-builderを参照してください - エージェントのオーケストレーションパターン、計画ループ、複数ステップの推論 —
engineering/agent-workflow-designerを参照してください - エージェントのペルソナ、メモリシステム、行動プロファイルの設計 —
engineering/agent-designerを参照してください - エージェントサービス向けのインフラストラクチャのデプロイ、CI/CD パイプライン、コンテナオーケストレーション —
engineering/senior-devopsを参照してください
統合ポイント
| スキル | 統合内容 | データフロー |
|---|---|---|
engineering/mcp-server-builder | ここで定義したプロトコルスキーマを MCP サーバーのスキャフォールディングに直接取り込みます | ツール定義と inputSchema オブジェクトをサーバーコード生成に渡します |
engineering/agent-workflow-designer | ワークフローオーケストレーターはプロトコルインターフェースを利用してタスクをディスパッチします | agent-protocol はトランスポートの契約を定義し、workflow-designer は実行順序と分岐を定義します |
engineering/agent-designer | エージェントのアイデンティティと機能プロファイルは、プロトコルレベルのスキル宣言を参照します | プロトコル設計で定義したエージェントカードと機能メタデータを、エージェントのペルソナ設定に反映します |
engineering/senior-security | 認証フロー、トークンのスコープ設定、レート制限設定のセキュリティレビュー | OAuth 2.1 フロー、API キーのローテーションポリシー、監査ログのパターンをセキュリティ評価に反映します |
engineering/api-design-reviewer | A2A および MCP HTTP トランスポート向けの REST と JSON-RPC エンドポイント設計レビュー | API スキーマとエンドポイントの契約を設計レビューのチェックリストに反映します |
engineering/observability-designer | エージェント間呼び出しの監視とトレーシング、レイテンシの追跡、エラーバジェットの管理 | エージェント ID、レイテンシ、エラーコードを含むツール呼び出しログをオブザーバビリティダッシュボードに反映します |
コメント
Markdown 対応