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-agentThis skill is limited to using the following tools:
**Fetch live docs**:
Acquire memory dumps from live systems/VMs and analyze with Volatility 3 for processes, networks, DLLs, injections in incident response or malware hunts.
Provides x86-64/ARM disassembly patterns, calling conventions, control flow recognition for static analysis of executables and compiled binaries.
Identifies anti-debugging checks like IsDebuggerPresent, NtQueryInformationProcess in Windows binaries; suggests bypasses via patches/hooks/scripts for malware analysis, CTFs, authorized RE.
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.