AgentsMakingFriends

Other

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.

Install

openclaw skills install agents-making-friends

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)

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)

python ~/.openclaw/workspace/skills/a2a-protocol/scripts/a2a_server.py --port 8080

Core Concepts

ConceptDescription
Agent CardJSON document describing agent identity, capabilities, endpoint
TaskUnit of work with lifecycle (pending → running → completed)
MessageCommunication turn with role and parts
PartSmallest content unit (text/file/data)
ArtifactOutput 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:

### 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