evex-agent-messaging
EVEX Agent Messaging Gateway
Parent Main、Child Main、Role Child の会話操作のための、プロバイダに依存しない MCP トランスポート。 エージェントはこの MCP を呼び出します。OpenHands の Conversation API を直接呼び出すことはありません。
ツール
create_child: 完全な構造化 Mission とクリーンな決定論的 Git チェックアウトを検証し、Child のアイデンティティとコールバック機能をバインドしてから、1 つの決定論的 Conversation を作成します。プロバイダはツールなしの受付ターンを 1 回実行し、ACP ブートストラップ後に正確なブランチ/HEAD を復元して再検証し、その後にのみツールを許可して Mission を配信します。チェックアウト権限がない、または不一致の場合は Conversation API 呼び出しは発生しません。ソースロールは Messaging のみを受け取ります。明示的な QA/修復 Mission のみがcapabilities: ["runtime_environment"]を要求できます。send_to_parent: 構造化されたRESULT/NEEDS_INPUTを、ケイパビリティを所有する Main に配信します。request_user_decision: A/B/C 形式の質問を所有する Main に配信します。cancel_mission/resume_mission: 正確な Child タスクを停止または再開します。publish_navigation_links: 情報提供用の Issue/Main/Child/PR リンクを所有する Main に公開します。
ケイパビリティは、コンパクトで不透明な evx1_ HMAC-SHA256 参照です。これらは、所有する Main、Child、タスクキー、ロール、許可されたアクション、有効期限をバインドします。サーバーは OpenHands の認証情報を保持しますが、それはツール入力、ツール出力、または子環境変数には決して現れません。永続状態はありません。呼び出し元が安定したメッセージキーを提供し、Main がセマンティックリプレイを重複排除します。
作成された各 Child は、非同期のネイティブ Stop フックを受け取ります。フックは、スコープ付き参照を使用してプライベートな /completion-hook エンドポイントを呼び出します。ゲートウェイは終端のネイティブ状態を待機し、制限された最終アシスタント応答を含む 1 つの安定した RECOVERY_WAKE を所有する Main に送信します。これは、モデルが send_to_parent を呼び出さずに終了した場合のプロバイダに依存しないフォールバックです。繰り返されるフックは同じセマンティックメッセージキーを再利用し、データベース、ポーラー、読み取りツール、または受信確認ストアを必要としません。
信頼された Event Gateway/ホストは、main_capability_token(...) を使用して短命の Main ケイパビリティを発行し、それを Main Mission に注入します。MCP は、ケイパビリティ発行ツールをエージェントに公開しません。
Parent は、/home/openhands/workspace/mirrors/<owner>--<repository>.git にある永続的なベアミラーのみを作成または取得します。create_child は /home/openhands/workspace/delivery/child-<child UUID> を導出し、存在しない場合は正確なブランチのワークツリーを作成し、Conversation API に触れる前にリポジトリ、オリジン、ブランチ、HEAD、およびクリーン状態を検証します。既存のワークツリーをリモートでクローン/フェッチしたり、削除したり、リセットしたり、別の目的に再利用したりすることはありません。
Related MCP server: handoff-mcp-server
実行
サーバーは MCP stdio フレーミング (Content-Length ヘッダー) を使用します:
export EVEX_MESSAGING_SECRET='long-random-secret'
export OPENHANDS_URL='http://openhands:8000'
export OPENHANDS_API_KEY='server-only-key'
export OPENHANDS_PUBLIC_URL='http://openhands.example/canvas'
PYTHONPATH=src python3 -m evex_agent_messagingOpenHands の変数を読み取るのはアダプターだけです。テストまたはサービスを組み込むホストがフェイクプロバイダを注入できるため、スキルと Mission はランタイムに依存しません。
検証
python3 -m unittest discover -s tests -p 'test_*.py' -qThis server cannot be deployed
Maintenance
Related MCP Connectors
Agent communication platform for agent to agent messaging via MCP. Messages, channels, skills.
Hosted MCP memory and agent control plane for durable conversations, jobs, and operations.
Public MCP for agent verification, work discovery and governed interoperability.
Discover MCP servers and A2A agents; verify, message, post, follow, react, and receive webhooks.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables multi-agent communication workflows with consensus arbitration, peer messaging, and operator-mediated collaboration through authenticated MCP tools.1-
- AlicenseNot gradedqualityDmaintenanceEnables durable handoffs and shared scratchpad for multi-agent workflows over MCP HTTP transport.1,859 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server that enables AI agents on different machines to communicate and collaborate directly through relay channels, supporting structured agent contracts, real-time messaging, and human-in-the-loop approval workflows.5,401 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible LLM clients to execute server-verified agent workflows, with enforced transitions, invocation caps, and signed audit trails.MIT