Skip to main content
Glama

mcp-a2a-bridge

コーディングエージェント(GitHub Copilot CLI、Claude Code、Codex、Hermes)がリモートのA2Aエージェントを呼び出せるようにするMCPサーバーです。また、オプションの読み取り専用アクティビティダッシュボードも含まれます。

リポジトリ: https://github.com/TonPC64/mcp-a2a-bridge

MIT Licenseの下でライセンスされています。

コーディングエージェント向けの手順は、AGENTS.mdから始め、インストールにはskills/setup/SKILL.md、変更やPRにはskills/contribute/SKILL.mdを使用してください。

ダッシュボードUIショーケース

オプションのダッシュボードは、未来的なLiquid Glassインターフェースを採用し、コンパクトなエージェントカード、ライブタスクアクティビティ、2カラムのタスクサマリー、ステータスインジケーター、レスポンシブレイアウトを備えています。このスクリーンショットはオプトインのフロントエンドモックデータモードを使用しているため、実際のエージェントに接続したりログを公開したりせずに安全に再現できます。

A2A Bridge Dashboard desktop showcase

同じモックUIをローカルで実行するには:

cd /absolute/path/to/mcp-a2a-bridge/dashboard
npm ci
npm run dev:mock -- --host 127.0.0.1

モックモードはUI開発とスクリーンショット専用です。通常のビルドでは、ライブのダッシュボードAPIとSSEを使用します。

Related MCP server: agntcy-mcp-server

はじめに

セットアップの選択

どちらのプロファイルもPython 3.11以降とuvが必要です。オプションのダッシュボードフロントエンドにはNode.js 24.15以降が必要で、CIは最新のNode.js 24リリースを使用します。

MCPのみ

MCPブリッジのみをインストールして実行します。Node.js/npmやダッシュボードのフロントエンドビルドは不要です。

git clone https://github.com/TonPC64/mcp-a2a-bridge.git mcp-a2a-bridge
cd mcp-a2a-bridge
uv sync --locked

MCP + ダッシュボード

オプションのダッシュボードWebランタイムをインストールし、バンドルされたフロントエンドアセットをビルドします。Node.jsとnpmが必要なのはこのビルド(またはフロントエンド開発)のときだけで、ビルド済みのダッシュボードを実行するのには不要です。

git clone https://github.com/TonPC64/mcp-a2a-bridge.git mcp-a2a-bridge
cd mcp-a2a-bridge
uv sync --extra dashboard --locked
npm --prefix dashboard ci
npm --prefix dashboard run build

開発とテストには、uv sync --all-extras --lockedを使用します。これにはダッシュボードのテストスイートに必要なPythonパッケージが含まれます。以下のコマンドは/absolute/path/to/mcp-a2a-bridgeを使用します。これを自分のクローンの絶対パスに置き換えてください。他のユーザーのパスをコピーしないでください。

A2Aエージェントの設定

リポジトリのルートに.a2a-agents.jsonを作成します:

{
  "agents": {
    "example-agent": {
      "url": "https://agent.example.invalid",
      "headers": {
        "Authorization": "Bearer REPLACE_WITH_YOUR_TOKEN"
      }
    }
  }
}

A2AエージェントのベースURLを使用します。ブリッジはその/.well-known/agent-card.jsonを自動的にリクエストします。エージェントが認証を必要としない場合は、Authorizationを削除するか、空のheadersオブジェクトを使用してください。レジストリには秘密情報が含まれる可能性があるため、コミットせず、必要に応じてファイルのパーミッションを制限してください。

レジストリの場所は次の順序で解決されます:

  1. A2A_BRIDGE_CONFIG

  2. ブリッジプロセスの現在のディレクトリにある.a2a-agents.json

  3. ~/.config/a2a-bridge/agents.json

リポジトリの外部でMCPコマンドを起動するホストの場合は、そのホストのMCP環境でA2A_BRIDGE_CONFIGに絶対パスを設定します。実行時にa2a_add_agentを使用して検証済みのエージェントを追加することもできます。デフォルトでは、解決されたレジストリファイルに書き込まれます。

MCPサーバーの登録

各ホストは、同じローカルチェックアウトのコマンドを起動する必要があります:

uv run --directory /absolute/path/to/mcp-a2a-bridge mcp-a2a-bridge

これは、上記で作成した編集可能インストールを使用します。次のポータブルなパスプレースホルダーを使用してホストを設定します。

GitHub Copilot CLI — このサーバーを~/.copilot/mcp-config.jsonに追加します:

{
  "mcpServers": {
    "a2a": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/mcp-a2a-bridge",
        "mcp-a2a-bridge"
      ]
    }
  }
}

Claude Code:

claude mcp add a2a -- uv run --directory /absolute/path/to/mcp-a2a-bridge mcp-a2a-bridge

Codex — これを~/.codex/config.tomlに追加します:

[mcp_servers.a2a]
command = "uv"
args = ["run", "--directory", "/absolute/path/to/mcp-a2a-bridge", "mcp-a2a-bridge"]

Hermes: MCPサーバー登録UIまたはコマンドを使用し、stdioサーバーを選択して、コマンドuvに次の引数を指定します:

run --directory /absolute/path/to/mcp-a2a-bridge mcp-a2a-bridge

登録後にホストを再起動し、a2a_list_agentsを呼び出して、レジストリが利用可能でエージェントに到達可能であることを確認します。

ツール

ツール

目的

a2a_list_agents

スキルと到達可能性を備えたエージェントを一覧表示する

a2a_send_message

メッセージを送信し、task_idでタスクを続行する

a2a_get_task

以前に開始したタスクをポーリングする

a2a_cancel_task

実行中のタスクをキャンセルする

a2a_add_agent

URLでエージェントを登録する

a2a_send_messageは最大timeout_s秒(デフォルトでは60秒)待機します。タスクがまだ実行中の場合は、task_idとともにdone: falseを返すため、a2a_get_taskでポーリングします。エージェントがstate: "input_required"を返す場合は、同じtask_idでもう一度a2a_send_messageを呼び出します。

ダッシュボード

オプションのスタンドアロンダッシュボードには、設定済みのエージェント、そのステータス/スキル、および同じマシン上のブリッジプロセスからのライブタスクアクティビティが表示されます。これは読み取り専用で、エージェントにメッセージを送信することはありません。

起動する前にdashboardプロファイルをインストールしてアセットをビルドします:

cd /absolute/path/to/mcp-a2a-bridge
uv sync --extra dashboard --locked
npm --prefix dashboard ci
npm --prefix dashboard run build
uv run mcp-a2a-bridge-dashboard

デフォルトでは127.0.0.1:9100のみでリッスンします。同じマシンでhttp://127.0.0.1:9100を開きます。

フロントエンドのモックデータ

PythonサービスやSSEなしでダッシュボードUIを実行するには、オプトインのモックモードを使用します。スクリーンショット用の代表的なエージェントとタスクアクティビティが含まれています:

cd /absolute/path/to/mcp-a2a-bridge/dashboard
npm ci
npm run dev:mock -- --host 0.0.0.0

同じネットワーク上でViteのURLを開きます。VITE_USE_MOCK_DATA=trueはフロントエンドのビルド/開発サーバーでのみ使用されます。通常のnpm run devおよび本番ビルドでは、引き続きライブのダッシュボードAPIとSSEを使用します。

ダッシュボードにアクティビティを表示したいすべてのブリッジプロセスでレポートを有効にします。この環境変数をMCPサーバー設定に追加します(または手動で起動するときに追加します):

A2A_BRIDGE_DASHBOARD=1 uv run --directory /absolute/path/to/mcp-a2a-bridge mcp-a2a-bridge

このフラグがないブリッジプロセスはアクティビティをメモリ内に保持するため、共有ダッシュボードには表示されません。ダッシュボードはこれらのプロセスの前後どちらでも起動できます。

環境変数

デフォルト

目的

A2A_BRIDGE_CONFIG

エージェントJSONレジストリへの絶対パス

A2A_BRIDGE_DASHBOARD

未設定(オフ)

1に設定すると、このブリッジプロセスのアクティビティを永続化する

A2A_BRIDGE_ACTIVITY_DB

~/.config/a2a-bridge/activity.sqlite3

共有SQLiteアクティビティデータベース

A2A_BRIDGE_ACTIVITY_SOURCE

remote

互換プロセスによって書き込まれたアクティビティのソースラベル

A2A_BRIDGE_DASHBOARD_HOST

127.0.0.1

ダッシュボードのバインドアドレス

A2A_BRIDGE_DASHBOARD_PORT

9100

ダッシュボードのポート

A2A_BRIDGE_DASHBOARD_TOKEN

未設定(オフ)

ダッシュボードとAPIを保護するオプションのベアラートークン

A2A_BRIDGE_HERMES_AUDIT

未設定

Hermesのa2a_audit.jsonlの読み取り専用オーバーライド

HERMES_HOME

未設定

オーバーライドが設定されていない場合に$HERMES_HOME/a2a_audit.jsonlを検索するために使用される

LANへのデプロイ

ダッシュボードは、明示的な非ループバックバインドを設定することで、トークンなしで信頼できるLANに意図的に公開できます。このモードには認証がないため、プライベートで信頼できるネットワークでのみ使用し、パブリックインターネットには絶対に公開しないでください。

保護されたLANアクセスには、強力なトークンを設定し、独自のネットワークアクセス制御を備えたTLS終端リバースプロキシの背後にサービスを配置します:

export A2A_BRIDGE_DASHBOARD_HOST=0.0.0.0
export A2A_BRIDGE_DASHBOARD_TOKEN="$(openssl rand -hex 32)"
uv run mcp-a2a-bridge-dashboard

トークンが設定されている場合、ダッシュボードのHTML、静的アセット、APIルート、SSEルートのすべてでそのトークンが必要になります。ブラウザユーザーは/loginで一度入力するだけで、生成されたHttpOnly、same-siteセッションCookieにより、EventSourceが正常に再接続できます。APIクライアントは代わりにAuthorization: Bearer <token>を送信することもできます。サービスがトークンをログに記録することはありません。トークンはアクセスを認証しますが、トラフィックを暗号化しないため、信頼できないネットワークを介して直接HTTP LANエンドポイントを使用せず、リバースプロキシでHTTPSを使用してください。

macOSの場合、launchd/com.example.a2a-bridge-dashboard.plistテンプレートを使用すると、ログイン時にダッシュボードを実行できます。LaunchAgentとしてインストールする前に、__REPO____HOME__のプレースホルダーを置き換えてください。

ダッシュボードフロントエンドの開発

Node.js 24.15+とnpmが必要になるのは、フロントエンドでの作業またはバンドルされたアセットの再ビルドのみです:

cd /absolute/path/to/mcp-a2a-bridge/dashboard
npm ci
npm run dev

Viteは開発URL(通常はhttp://localhost:5173)を表示します。Pythonダッシュボードが使用するアセットは、npm run buildでビルドします。

Copilot A2Aサーバー

バンドルされたサーバーには、認証済みのcopilot CLIが必要です:

copilot-a2a-agent --port 9002 --cwd /path/to/default/repository

Copilotを--allow-all-toolsで実行するため、127.0.0.1にバインドします。その受信アクティビティは、同じオプトインの共有SQLiteストアを使用でき、ダッシュボードでは送信元フィールドと宛先フィールド付きで表示されます。

ダッシュボードは、Hermesを変更することなく、Hermesのネイティブ監査ファイルを読み取ることもできます。A2A_BRIDGE_HERMES_AUDIT、次に$HERMES_HOME/a2a_audit.jsonl、そして~/.hermes/a2a_audit.jsonlの順にチェックします。

開発とテスト

リポジトリのルートからPythonテストスイートを実行します:

uv sync --all-extras --locked
uv run pytest -v

dashboard/内でダッシュボードのテストを実行するか、本番用のダッシュボードビルドを作成します:

npm test
npm run build

CIはPython 3.11でPythonスイートを実行し、uv.lockを検証し、最新のNode.js 24リリースでダッシュボードのインストール、テスト、本番ビルドを実行します。

tests/test_integration.pyはA2Aエージェントをインプロセスで実行し、ブリッジをエンドツーエンドで検証します。

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that gives AI agents the ability to discover, match with, and build relationships with other autonomous agents. Supports agent registration, matchmaking, messaging, shared goals, relationship lifecycle management, and real-time event subscriptions.
    51
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables agent-to-agent discovery and delegation via MCP, with tools for registering agents, discovering them by keyword matching, and delegating tasks over HTTP.
    20
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.

  • Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.

  • Discover, search, invoke, and rate A2A (Agent-to-Agent) protocol agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TonPC64/mcp-a2a-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server