Skill: A2A Multi-Agent Orchestration
Turn XActions into an A2A-compatible agent that can discover, communicate with, and delegate tasks to other AI agents using Google's Agent-to-Agent protocol.
When to Use
- User wants to connect XActions with external AI agents
- User needs multi-agent orchestration (decompose → delegate → aggregate)
- User asks about A2A protocol, agent cards, or inter-agent communication
- User wants to run the A2A server or manage agent discovery
- User needs real-time task streaming between agents
Files
| File | Purpose |
|---|---|
src/a2a/types.js |
Shared constants, factories, validators |
src/a2a/skillRegistry.js |
MCP tool → A2A skill bridge |
src/a2a/agentCard.js |
Agent Card generation (.well-known/agent.json) |
src/a2a/taskManager.js |
Task lifecycle (create, transition, execute) |
src/a2a/bridge.js |
A2A ↔ MCP translation layer + NLP |
src/a2a/streaming.js |
SSE streaming for real-time updates |
src/a2a/push.js |
Webhook push notifications |
src/a2a/auth.js |
API key + JWT inter-agent auth |
src/a2a/discovery.js |
Agent registry, skill matching, trust scoring |
src/a2a/orchestrator.js |
Task decomposer + delegator + orchestrator |
src/a2a/server.js |
Express HTTP server (port 3100) |
src/a2a/index.js |
Barrel export + CLI commands + factory |
dashboard/a2a.html |
Web dashboard for monitoring |
Quick Start
Start the A2A server
# Via CLI
xactions a2a start --port 3100
# Directly
node src/a2a/server.js
# With session cookie for browser automation
node src/a2a/server.js --cookie "YOUR_X_SESSION_COOKIE"
Check health
curl http://localhost:3100/a2a/health
View Agent Card
curl http://localhost:3100/.well-known/agent.json
Send a task
curl -X POST http://localhost:3100/a2a/tasks \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tasks/send",
"params": {
"message": {
"role": "user",
"parts": [{"type": "text", "text": "get profile for @nichxbt"}]
}
},
"id": "1"
}'
Discover an agent
xactions a2a discover https://other-agent.example.com
List skills
xactions a2a skills
xactions a2a skills --query "scrape"
Architecture
┌─────────────────────────────────────────────────────┐
│ A2A Protocol Layer │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Agent │ │ Task │ │ Streaming / │ │
│ │ Card │ │ Manager │ │ Push Notify │ │
│ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │
│ │ │ │ │
│ ┌────┴──────────────┴─────────────────┴──────────┐ │
│ │ HTTP Server (Express) │ │
│ └────────────────────┬────────────────────────────┘ │
│ │ │
│ ┌────────────────────┴────────────────────────────┐ │
│ │ Bridge (A2A ↔ MCP Translation) │ │
│ └────────────────────┬────────────────────────────┘ │
│ │ │
│ ┌────────────────────┴────────────────────────────┐ │
│ │ Skill Registry (140+ tools) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────┐ ┌────────────┐ ┌──────────────┐ │
│ │ Discovery │ │ Auth │ │ Orchestrator │ │
│ │ + Trust │ │ (JWT/Key) │ │ (Decompose) │ │
│ └─────────────┘ └────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────┘
Key Concepts
Agent Card
Every A2A agent publishes a JSON document at /.well-known/agent.json describing its capabilities, skills, and supported protocols.
Skills
XActions converts its 140+ MCP tools into A2A skills, each with a unique ID (xactions.<tool_name>), description, input schema, and category tags.
Task Lifecycle
submitted → working → completed
→ failed
→ canceled
→ input-required → working
Trust Scoring
Remote agents are scored 0-100 based on success ratio (40%), longevity (20%), recency (20%), and volume (20%).
Task Decomposition
Complex natural-language tasks are automatically broken into ordered sub-tasks with dependency tracking ($step1, $step2.field).
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /.well-known/agent.json |
Agent Card |
| POST | /a2a/tasks |
Create task (tasks/send or tasks/sendSubscribe) |
| GET | /a2a/tasks/:id |
Get task |
| POST | /a2a/tasks/:id/cancel |
Cancel task |
| GET | /a2a/tasks/:id/stream |
SSE stream |
| POST | /a2a/tasks/:id/message |
Push notification |
| GET | /a2a/health |
Health check |
| GET | /a2a/skills |
List skills |
| POST | /a2a/orchestrate |
Execute orchestrated task |
| POST | /a2a/orchestrate/plan |
Get execution plan |
| GET | /a2a/agents |
List discovered agents |
| POST | /a2a/agents/discover |
Discover remote agents |
CLI Commands
xactions a2a start [--port] [--cookie] [--no-auth]
xactions a2a status [--url]
xactions a2a skills [--query]
xactions a2a agents [--url]
xactions a2a discover <url>
xactions a2a task "<description>"
⚡ Explore XActions
100% free and open-source. No API keys, no fees, no signup.
Browse All Documentation