Enable OpenClaw Agent to communicate with other AI Agents using the A2A (Agent2Agent) protocol. Use when: (1) User wants to connect two OpenClaw instances ac...
--- name: a2a-protocol description: "Enable OpenClaw Agent to communicate with other AI Agents using the A2A (Agent2Agent) protocol. Use when: (1) User wants to connect two OpenClaw instances across different servers, (2) User needs Agent-to-Agent communication, (3) User asks about A2A protocol, (4) User wants to expose OpenClaw as an A2A service, (5) User wants to call remote A2A agents." --- # A2A Protocol Enable OpenClaw Agent to communicate with other AI Agents using the A2A (Agent2Agent) protocol - an open standard by Google for inter-agent communication. ## Quick Start ### Calling a Remote Agent (Client Mode) ```bash python ~/.openclaw/workspace/skills/a2a-protocol/scripts/a2a_client.py \ "http://remote-agent:8080/a2a" \ "Hello, please help me with this task" \ "your-bearer-token" ``` ### Exposing as A2A Service (Server Mode) ```bash python ~/.openclaw/workspace/skills/a2a-protocol/scripts/a2a_server.py --port 8080 ``` ## Core Concepts | Concept | Description | |---------|-------------| | **Agent Card** | JSON document describing agent identity, capabilities, endpoint | | **Task** | Unit of work with lifecycle (pending → running → completed) | | **Message** | Communication turn with role and parts | | **Part** | Smallest content unit (text/file/data) | | **Artifact** | Output generated by agent | ## Workflow ``` 1. Agent A (Client) 2. Agent B (Server) │ │ │ GET /.well-known/agent.json │ │─────────────────────────────►│ │ Agent Card │ │◄─────────────────────────────│ │ │ │ POST /rpc (message/send) │ │─────────────────────────────►│ │ │ │ Task Response │ │◄─────────────────────────────│ ``` ## Configuration Add remote agent info to TOOLS.md: ```markdown ### A2A Agents - Remote Agent Name: URL: http://1.2.3.4:8080/a2a Token: your-bearer-token ``` ## Resources ### scripts/ - `a2a_client.py` - A2A client for calling remote agents - `a2a_server.py` - A2A server for exposing OpenClaw as a service - `agent_card.json` - Agent Card template ### references/ - `a2a-api.md` - Complete A2A API reference ## Troubleshooting ### Connection Failed 1. Check network reachability (ping/telnet) 2. Verify firewall allows the port 3. Confirm token is correct ### Agent Card Not Found 1. Ensure remote agent's A2A server is running 2. Check URL includes correct path
don't have the plugin yet? install it then click "run inline in claude" again.