Skip to main content
Glama

A2A ⚡ MCP エージェント

このプロジェクトでは、エージェント通信に対する 2 つの異なるアプローチを示します。

  1. マスターコントロールプログラム(MCP) - エージェントが中央サーバーを介して通信する集中型サーバーベースのアプローチ

  2. エージェントツーエージェント(A2A) - エージェント同士が直接通信する分散型ピアツーピアアプローチ

インストール

  1. 仮想環境を作成してアクティブ化します。

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 依存関係をインストールします:

pip install -r requirements.txt

Related MCP server: Novu MCP Server

使用法

MCP サーバーとエージェント

  1. MCP サーバーを起動します。

python cli.py run-mcp-server
  1. 別のターミナルで、1 つ以上の MCP エージェントを起動します。

python cli.py run-mcp-agent --agent-id agent1
python cli.py run-mcp-agent --agent-id agent2

MCPサーバーは、接続されたすべてのエージェントとそのステータスを追跡します。ブラウザでhttp://localhost:5000を開くと、ステータスを確認できます。

A2A(エージェント間)ネットワーク

  1. 最初の A2A エージェントを起動します。

python cli.py run-a2a-agent --agent-id a2a1 --port 5001
  1. 追加の A2A エージェントを起動し、既存のエージェントに接続します。

python cli.py run-a2a-agent --agent-id a2a2 --port 5002 --peer localhost:5001
python cli.py run-a2a-agent --agent-id a2a3 --port 5003 --peer localhost:5001 --peer localhost:5002

A2Aエージェントは、初期ピアを通じて他のエージェントを自動的に検出します。任意のエージェントのターミナルにメッセージを入力すると、接続中のすべてのエージェントにブロードキャストできます。

建築

MCP(マスターコントロールプログラム)

  • すべてのエージェントを追跡する集中サーバー

  • エージェントはサーバーに登録し、ハートビートを通じて接続を維持します。

  • サーバーはエージェントのステータスを監視するためのWebインターフェースを提供します

  • シンプルで信頼性が高いが、単一障害点がある

A2A(エージェント間)

  • 分散型ピアツーピアネットワーク

  • エージェントは互いに直接接続します

  • メッセージがネットワークを通じて溢れかえる

  • より回復力があるが、より複雑な調整が必要

  • 単一障害点なし

プロジェクト構造

a2a_mcp/
├── agents/              # Agent implementations
│   ├── mcp_agent.py    # MCP-based agent
│   └── a2a_agent.py    # Peer-to-peer agent
├── mcp/                # MCP server implementation
│   └── server.py       # Flask-based MCP server
├── cli.py             # Command-line interface
└── requirements.txt   # Python dependencies

貢献

デモを改善するために、お気軽に問題やプル リクエストを送信してください。

Related MCP Connectors

Related MCP Servers