a2a-bridge について
a2a-bridgeは、MCPエージェント間の通信を調整するMCPサーバーです。能力の検索、タスクの委任、結果の追跡や一斉配信を支援し、マルチエージェントのワークフローに対応します。
主な機能
- 01能力とスキーマを登録
- 02能力の類似度でエージェントを検索
- 03追跡可能なタスクを委任
- 04該当エージェントへタスクを一斉配信
- 05状態の追跡と結果の送信
- 06エージェントカードとネットワークの確認
活用シーン
- 01コードレビューを適任のエージェントに割り当て
- 02オーケストレーターから作業を委任
- 03該当する全エージェントへタスクを送信
MCP 対応
エージェントの登録、検索、委任、一斉配信、結果取得のツールと、エージェント一覧のリソースをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
a2a-bridge-mcp
エージェント間通信のための MCP サーバーです。MCP エージェント間で、機能の検出、タスクの委任、結果の集約を行います。
MCP はエージェントとツールをつなぎますが、エージェント同士はつなぎません。このサーバーは、MCP プロトコル内に標準化されたエージェント間レイヤーを追加します。エージェントの登録、機能の検出、タスクの委任、複数のエージェントへの作業の一斉送信ができます。Google の A2A プロトコルに着想を得ています。
インストール
npx a2a-bridge-mcp
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"a2a-bridge": {
"command": "npx",
"args": ["a2a-bridge-mcp"]
}
}
}
ソースから
git clone https://github.com/mdfifty50-boop/a2a-bridge-mcp.git
cd a2a-bridge-mcp
npm install
node src/index.js
ツール
register_agent
他のエージェントが検出できるよう、機能を指定してエージェントを登録します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
agent_id | string | 必須 | 一意のエージェント識別子 |
capabilities | string[] | 必須 | 機能を表す文字列(例:["code-review", "summarization"]) |
description | string | "" | 人が読める説明 |
input_schema | object | {} | 受け付ける入力の JSON スキーマ |
output_schema | object | {} | 生成する出力の JSON スキーマ |
endpoint | string | "" | 任意のエンドポイントまたはトランスポートのヒント |
discover_agents
あいまいなテキスト類似度スコアを使って、必要な機能に一致するエージェントを検索します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
capability_needed | string | 必須 | 検索する機能 |
min_score | number | 0.3 | 類似度スコアの最小値(0~1) |
関連性の高い順に並べたスコア付きの一致候補を返します。
delegate_task
登録済みの特定のエージェントにタスクを委任します。状態のライフサイクルが追跡されるタスクを作成します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
from_agent | string | 必須 | 委任元のエージェント ID |
to_agent | string | 必須 | 委任先のエージェント ID |
task_description | string | 必須 | 委任先が行う作業 |
input_data | object | {} | タスクへの入力データ |
timeout_ms | number | 30000 | タイムアウト(ミリ秒) |
追跡用の task_id を返します。
get_task_result
委任されたタスクの状態と結果を取得します。実行中のエージェントが結果を送信する際にも使用します。
| パラメーター | 型 | 説明 |
|---|---|---|
task_id | string | delegate_task または broadcast_task から取得したタスク ID |
submit_result | object | (任意)完了結果を送信します |
submit_error | string | (任意)失敗エラーを送信します |
状態のライフサイクル:pending -> running -> completed / failed。
broadcast_task
機能に一致するすべてのエージェントにタスクを送信します。一致した各エージェントに対して、個別に追跡されるタスクを作成します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
from_agent | string | 必須 | 送信元のエージェント ID |
capability_needed | string | 必須 | 一致させる機能 |
task_description | string | 必須 | 一致したエージェントが行う作業 |
input_data | object | {} | 入力データ |
min_score | number | 0.3 | 一致スコアの最小値 |
timeout_ms | number | 30000 | エージェントごとのタイムアウト |
タスク ID の一覧を返します。get_task_result を使って結果を集約できます。
get_agent_card
スキーマ、統計情報、タスク履歴を含む、エージェントの機能カード全体を取得します。
| パラメーター | 型 | 説明 |
|---|---|---|
agent_id | string | エージェント識別子 |
機能、入力/出力スキーマ、成功率、タスク数を返します。Google A2A のエージェントカードに着想を得ています。
list_agents
登録済みのすべてのエージェントを一覧表示します。機能で絞り込むこともできます。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
filter | string | "" | 絞り込みに使う機能キーワード(空の場合はすべて) |
リソース
| URI | 説明 |
|---|---|
a2a://agents | 登録済みのすべてのエージェントと機能、統計情報 |
使用パターン
1. register_agent -- each agent registers at startup
2. discover_agents -- find who can handle a task
3. delegate_task -- send work to a specific agent
OR broadcast_task -- send work to all matching agents
4. get_task_result -- poll for completion or submit results
5. get_agent_card -- inspect an agent's full profile
6. list_agents -- overview of the agent network
マルチエージェントのワークフロー例
Agent A (orchestrator):
1. register_agent(agent_id="orchestrator", capabilities=["planning", "coordination"])
2. discover_agents(capability_needed="code review")
-> finds Agent B (score: 0.95)
3. delegate_task(from="orchestrator", to="agent-b", task="Review PR #42")
-> task_id: "task_1234"
4. get_task_result(task_id="task_1234")
-> status: "completed", result: { approved: true, comments: [...] }
Agent B (worker):
1. register_agent(agent_id="agent-b", capabilities=["code-review", "linting"])
2. (receives task via external notification or polling)
3. get_task_result(task_id="task_1234", submit_result={ approved: true })
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。