mcpField
S
SplitMind MCP Agent Communication Server (Redis Edition)

SplitMind MCP Agent Communication Server (Redis Edition)

ローカル
github.com/webdevtodayjasonAI・エージェント2172 週間前に更新

SplitMind MCP Agent Communication Server (Redis Edition) について

A2AMCP は、Google の Agent2Agent プロトコルの考え方を取り入れた、複数の AI エージェント間の通信を行う MCP サーバーです。同じコードベースを並行して開発するエージェントを対象とし、協調のための状態を Redis に保存します。

主な機能

  1. 01エージェント間の直接クエリとブロードキャストメッセージ
  2. 02非同期メッセージキュー
  3. 03ファイルロックと競合検出
  4. 04API 契約を共有するためのインターフェースレジストリ
  5. 05ToDo リストとタスク完了通知
  6. 06プロジェクトごとに分離された名前空間

活用シーン

  1. 01別々のマイクロサービスやモジュールを構築するエージェントの調整
  2. 02フロントエンドとバックエンドのエージェント間でのインターフェース定義の共有
  3. 03テスト作成エージェントと機能開発エージェントの同期

MCP 対応

A2AMCP 自体が MCP サーバーであり、Claude Code などの MCP クライアントに対して、エージェントの登録、クエリ送信、インターフェース共有のための 17 個のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"A2AMCP": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"exec"
]
}
}
}
起動コマンドdocker run -i --rm exec

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ociexec

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

A2AMCP - エージェント間 Model Context Protocol

License: MIT Docker Redis Status

AI を活用した開発におけるシームレスなマルチエージェント連携を実現

A2AMCP は、Google のエージェント間(A2A)通信の概念を Model Context Protocol(MCP)エコシステムに取り入れ、AI エージェントが並行する開発タスクに取り組みながら、リアルタイムで通信、調整、連携できるようにします。

SplitMind 向けに作成された A2AMCP は、同じコードベースで作業する AI エージェントが互いの変更を把握できないという重大な問題を解決します。

✅ サーバーの状態:稼働中です!17 個のツールすべてを実装し、テスト済みです。最新の MCP SDK 1.9.3 を使用しています。

🚀 クイックスタート

Docker を使用(推奨)
# Clone the repository
git clone https://github.com/webdevtodayjason/A2AMCP
cd A2AMCP

# Start the server
docker-compose up -d

# Verify it's running
docker ps | grep splitmind

# Test the connection
python verify_mcp.py
エージェントを設定
Claude Code(CLI)
# Add the MCP server using Claude Code CLI
claude mcp add splitmind-a2amcp \
  -e REDIS_URL=redis://localhost:6379 \
  -- docker exec -i splitmind-mcp-server python /app/mcp-server-redis.py
Claude Desktop

設定ファイルに追加します(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)。

{
  "mcpServers": {
    "splitmind-a2amcp": {
      "command": "docker",
      "args": ["exec", "-i", "splitmind-mcp-server", "python", "/app/mcp-server-redis.py"],
      "env": {
        "REDIS_URL": "redis://redis:6379"
      }
    }
  }
}

🎯 A2AMCP が解決する問題

複数の AI エージェントが同じコードベースで作業する場合:

  • A2AMCP を使用しない場合:エージェントが競合するコードを作成し、作業を重複させ、マージコンフリクトを引き起こします
  • A2AMCP を使用する場合:エージェントが連携し、インターフェースを共有し、競合を防ぎ、チームとして作業します
SplitMind 以外の一般的なユースケース

A2AMCP は、あらゆるマルチエージェントのシナリオを調整できます:

  • マイクロサービス:異なるエージェントが個別のサービスを構築
  • フルスタックアプリ:フロントエンドとバックエンドのエージェントが連携
  • ドキュメント:複数のエージェントが相互に関連するドキュメントを作成
  • テスト:テスト作成者が機能開発者と調整
  • リファクタリング:エージェントが異なるモジュールを同時に作業

🏗️ アーキテクチャ

┌─────────────────┐
│   A2AMCP Server │ ← Persistent Redis-backed MCP server
│   (Port 5050)   │   handling all agent communication
└────────┬────────┘
         │ STDIO Protocol (MCP)
    ┌────┴────┬─────────┬─────────┐
    ▼         ▼         ▼         ▼
┌────────┐┌────────┐┌────────┐┌────────┐
│Agent 1 ││Agent 2 ││Agent 3 ││Agent N │
│Auth    ││Profile ││API     ││Frontend│
└────────┘└────────┘└────────┘└────────┘

🔧 主な機能

1. リアルタイムのエージェント通信
  • エージェント間の直接クエリ
  • ブロードキャストメッセージ
  • 非同期メッセージキュー
2. ファイル競合の防止
  • ファイルロックの自動化
  • 競合の検出
  • 交渉戦略
3. 共有コンテキスト管理
  • インターフェース/型のレジストリ
  • API コントラクトの共有
  • 依存関係の追跡
4. タスクの可視化
  • ToDo リストの管理
  • 進捗の可視化
  • 完了状況の追跡
  • タスク完了の通知
5. 複数プロジェクトのサポート
  • プロジェクトごとに分離された名前空間
  • Redis による永続化
  • クリーンアップの自動化
6. 最新の MCP 連携
  • 適切なデコレーターを備えた MCP SDK 1.9.3 を使用
  • @server.list_tools() および @server.call_tool() のパターン
  • STDIO ベースの通信プロトコル
  • 17 個のツールを実装し、A2AMCP API に完全準拠

📦 インストール方法

Docker Compose(本番環境)
services:
  mcp-server:
    build: .
    container_name: splitmind-mcp-server
    ports:
      - "5050:5000"  # Changed from 5000 to avoid conflicts
    environment:
      - REDIS_URL=redis://redis:6379
      - LOG_LEVEL=INFO
    depends_on:
      redis:
        condition: service_healthy
    restart: unless-stopped
  
  redis:
    image: redis:7-alpine
    container_name: splitmind-redis
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  redis-data:
    driver: local
Python SDK
pip install a2amcp-sdk
JavaScript/TypeScript SDK(近日公開)
npm install @a2amcp/sdk

🚦 使用例

Python SDK
from a2amcp import A2AMCPClient, Project, Agent

async def run_agent():
    client = A2AMCPClient("localhost:5000")
    project = Project(client, "my-app")
    
    async with Agent(project, "001", "feature/auth", "Build authentication") as agent:
        # Agent automatically registers and maintains heartbeat
        
        # Coordinate file access
        async with agent.files.coordinate("src/models/user.ts") as file:
            # File is locked, safe to modify
            pass
        # File automatically released
        
        # Share interfaces
        await project.interfaces.register(
            agent.session_name,
            "User",
            "interface User { id: string; email: string; }"
        )
MCP ツールを直接使用
# Register agent
register_agent("my-project", "task-001", "001", "feature/auth", "Building authentication")

# Query another agent
query_agent("my-project", "task-001", "task-002", "interface", "What's the User schema?")

# Share interface
register_interface("my-project", "task-001", "User", "interface User {...}")

📚 ドキュメント

🛠️ SDK とツール

現在利用可能
  • Python SDK:非同期処理をサポートする多機能 SDK
  • Docker デプロイメント:本番環境対応のコンテナ
開発中
  • JavaScript/TypeScript SDK:Node.js およびブラウザー向け
  • CLI ツール:監視用のコマンドラインインターフェース
  • Go SDK:高性能なオーケストレーション
  • テストフレームワーク:モックサーバーとテストユーティリティ

詳細については、SDK Development Progress をご覧ください。

🤝 AI フレームワークとの統合

A2AMCP は以下との連携を想定して設計されています。

  • SplitMind - 当初のユースケース
  • Claude Code(MCP 経由)
  • MCP 互換のあらゆる AI エージェント
  • 今後の対応予定:LangChain、CrewAI、AutoGen

🔍 A2A との違い

Google の A2A プロトコルに着想を得ていますが、A2AMCP は AI コード開発に向けて、独自の設計上の選択をしています。

機能Google A2AA2AMCP
プロトコルHTTP ベースMCP ツール
状態ステートレスRedis による永続化
主な用途汎用タスクコード開発
デプロイエージェントごとのサーバー単一の共有サーバー

🚀 ロードマップ

  • Redis を備えたコア MCP サーバー
  • 最新の MCP SDK 1.9.3 との統合
  • デコレーターパターンを修正(@server.list_tools()、@server.call_tool())
  • Python SDK
  • Docker によるデプロイ
  • A2AMCP API ツール全17個を実装・テスト済み
  • 監視用ヘルスチェックエンドポイント
  • 接続テスト用検証スクリプト
  • JavaScript/TypeScript SDK
  • CLI 監視ツール
  • SplitMind とのネイティブ統合
  • フレームワークアダプター(LangChain、CrewAI)
  • エンタープライズ機能

🛠️ トラブルシューティング

エージェントに mcp__splitmind-a2amcp__ ツールが表示されない
  1. Claude Desktop を再起動する - MCP 接続は起動時に確立されます
  2. サーバーの稼働を確認する:docker ps | grep splitmind
  3. ヘルスエンドポイントを確認する:curl http://localhost:5050/health
  4. 検証スクリプトを実行する:python verify_mcp.py
  5. 設定を確認する:~/Library/Application Support/Claude/claude_desktop_config.json に A2AMCP サーバーの設定が含まれていることを確認してください
よくある問題
  • 「Tool 'X' not yet implemented」 - 最新バージョンで修正済みです。最新の変更を取得してください
  • 接続に失敗する - Docker が稼働していること、ポート 5050/6379 が空いていることを確認してください
  • Redis 接続エラー - Redis の準備が整うまでお待ちください(起動時に約5~10秒かかります)

🤝 コントリビューション

コントリビューションを歓迎します!ガイドラインについては、CONTRIBUTING.md をご覧ください。

開発環境のセットアップ
# Clone repository
git clone https://github.com/webdevtodayjason/A2AMCP
cd A2AMCP

# Install dependencies
pip install -r requirements.txt

# Run tests
pytest

# Start development server
docker-compose -f docker-compose.dev.yml up

📊 パフォーマンス

  • 100以上のエージェントの同時実行に対応
  • 1秒未満でメッセージを配信
  • 停止したエージェントを自動クリーンアップ
  • 水平スケーリングに対応

🔒 セキュリティ

  • プロジェクトの分離
  • オプションの認証(近日対応予定)
  • 通信の暗号化(ロードマップ)
  • 監査ログ

📄 ライセンス

MIT License - LICENSE ファイルをご覧ください。

🙏 謝辞

📞 サポート


A2AMCP - 独立した AI エージェントを連携する開発チームへと変える

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。