Help us improve
Share bugs, ideas, or general feedback.
From a2a-multi-agent
Builds A2A servers handling JSON-RPC requests at agent endpoints, routing methods, managing task states, and executing agent logic via SDK handlers.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin a2a-multi-agentHow this skill is triggered — by the user, by Claude, or both
Slash command
/a2a-multi-agent:a2a-serverThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Implement a JSON-RPC 2.0 A2A server with task lifecycle management, SSE streaming, and push notifications for multi-agent workflows.
Implements A2A clients that discover agents via Agent Cards, send JSON-RPC tasks, handle streaming/sync responses, task states, and multi-turn conversations for delegating to A2A agents.
Agent-to-Agent (A2A) server configuration patterns for HTTP, STDIO, SSE, and WebSocket transports. Use when building A2A servers, configuring MCP transports, setting up server endpoints, or when user mentions A2A configuration, server transport, MCP server setup, or agent communication protocols.
Share bugs, ideas, or general feedback.
Fetch live docs:
https://a2a-protocol.org/latest/specification/ for the server-side protocol requirementssite:github.com a2aproject a2a-python server or a2aproject a2a-js server for SDK server classessite:github.com a2aproject a2a-samples server for reference server implementationsAn A2A server is the agent's network endpoint that:
/.well-known/agent-card.jsonHTTP POST → JSON-RPC parse → Method routing → Handler execution → Task state update → JSON-RPC response
Every A2A server must handle:
| Method | Required | Description |
|---|---|---|
message/send | Yes | Receive a message, create/update task, return result |
message/stream | If streaming | Same as send but returns SSE stream |
tasks/get | Yes | Return task by ID |
tasks/cancel | Yes | Cancel a task |
tasks/resubscribe | If streaming | Re-subscribe to task's SSE stream |
| Push notification methods | If supported | Configure/manage push notification callbacks |
The server is responsible for task state transitions:
submitted state when receiving new messagesworking when processing beginsinput-required when more input is neededcompleted, failed, canceled, rejected) when doneThe SDK typically provides a handler interface you implement:
class MyAgentHandler:
async def handle_message(task_id, message) -> TaskResult:
# Your agent logic here
# 1. Parse the input message parts
# 2. Process with LLM or business logic
# 3. Return result with updated task state
A2A servers must handle concurrent requests:
Fetch the SDK documentation for exact server class names, constructor parameters, middleware patterns, and handler interfaces before implementing.