a2a-multi-agent
Expert A2A (Agent-to-Agent) protocol knowledge for building multi-agent systems — Agent Cards, task lifecycle, streaming, push notifications, authentication, and framework integrations.
pinned to #4366f7cupdated 3 months ago
Ask your AI client: “install plugins/a2a-multi-agent”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install plugins/a2a-multi-agentmetahub onboarded this repo on the author's behalf.
If you own github.com/OrcaQubits/agentic-commerce-skills-plugins on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
34
Last commit
3 months ago
Latest release
published
- #a2a
- #acp
- #agentic-commerce
- #ai-commerce
- #ap2
- #bigcommerce
- #claude-code
- #claude-code-plugin
- #claude-plugin
- #codex-cli-plugin
- #cursor-plugin
- #gemini-cli-extension
- #magento
- #mcp
- #openclaw-plugin
- #shopify
- #stripe-mpp
- #ucp
- #webmcp
- #woocommerce
Automated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.4366f7c· 3 months ago
Behavioral checks ran but aren't published for this artifact; the static checks above ran at publish time.
Kind-specific
3 passed1 warningPlugin: bundled artifacts presentwarn
Couldn't find a skills/ subdir or an MCP server config inside the plugin
A plugin is most useful when it bundles ≥ 1 skill or an MCP server.
Plugin: manifest fields complete
Plugin: bundle shape
empty bundle
Plugin: manifest location
manifest at plugin.json
Release history
1- releasecurrent4366f7cwarn3 months ago
Contents
A deeply expert Claude Code plugin for building multi-agent systems using the A2A (Agent-to-Agent) protocol — the open standard initiated by Google (now under the Linux Foundation) for inter-agent communication.
Design Philosophy
This plugin is built to stay current:
- Conceptual knowledge is baked in — protocol architecture, Agent Cards, task lifecycle, state machines, message/part types, transport details, and design patterns that are stable across spec versions.
- Implementation-specific details are fetched live — the subagent and every skill instruct Claude Code to web-search and fetch the official docs before writing code, so you always get the latest schemas, SDK methods, and API shapes.
- Spec version is always cited — generated code includes comments referencing the A2A specification version it was written against.
Plugin Structure
a2a-multi-agent/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── agents/
│ └── a2a-expert.md # Subagent: full A2A protocol expert
├── hooks/
│ ├── hooks.json # Lifecycle hooks configuration
│ └── scripts/
│ └── check_secrets.py # PostToolUse: detect hardcoded auth secrets
├── skills/
│ ├── a2a-setup/SKILL.md # Project scaffolding & SDK install
│ ├── a2a-agent-card/SKILL.md # Agent Card creation & configuration
│ ├── a2a-server/SKILL.md # A2A server implementation
│ ├── a2a-client/SKILL.md # A2A client implementation
│ ├── a2a-task-lifecycle/SKILL.md # Task states, transitions, artifacts
│ ├── a2a-messages-parts/SKILL.md # Messages, TextPart/FilePart/DataPart
│ ├── a2a-streaming/SKILL.md # SSE streaming (message/stream)
│ ├── a2a-push-notifications/SKILL.md # Push notification callbacks
│ ├── a2a-authentication/SKILL.md # API Key, Bearer, OAuth2, OIDC, mTLS
│ ├── a2a-multi-turn/SKILL.md # Multi-turn conversations (input-required)
│ ├── a2a-error-handling/SKILL.md # JSON-RPC errors & A2A error codes
│ ├── a2a-jsonrpc-transport/SKILL.md # JSON-RPC 2.0 transport layer
│ ├── a2a-mcp-bridge/SKILL.md # A2A + MCP integration patterns
│ ├── a2a-framework-integration/SKILL.md # ADK, LangGraph, CrewAI, AutoGen, Bedrock
│ ├── a2a-testing/SKILL.md # Testing strategies & mock agents
│ └── a2a-dev-patterns/SKILL.md # Orchestration, observability, deployment
└── README.md
Installation
Per-session
claude --plugin-dir "a2a-multi-agent"
Persistent
Add to ~/.claude/settings.json:
{
"enabledPlugins": {
"a2a-multi-agent": {
"type": "local",
"path": "/path/to/agentic-commerce-claude-plugins/a2a-multi-agent"
}
}
}
Verify
Run /agents in Claude Code — you should see a2a-multi-agent:a2a-expert.
Using the Subagent
Auto-delegation
Claude auto-delegates when your task involves A2A:
Build an A2A agent that summarizes documents
Create a multi-agent system where a coordinator delegates to specialist agents
Add streaming and push notifications to my A2A server
Explicit invocation
Use the a2a-expert subagent to implement Agent Card discovery
What makes it different
The subagent has WebSearch and WebFetch in its tool list. Before writing implementation code, it will:
- Search for the latest spec version on a2a-protocol.org
- Fetch the relevant specification page for exact schemas
- Fetch the SDK README for current install/usage instructions
- Write code against the verified-current spec, citing the version
Available Skills (16)
| Skill | Invocation | Description |
|---|---|---|
| a2a-setup | Auto + manual | Scaffold project, install SDK, create Agent Card |
| a2a-agent-card | Auto + manual | Agent Card creation, skills, capabilities, authentication |
| a2a-server | Auto + manual | Server implementation — JSON-RPC handler, task management |
| a2a-client | Auto + manual | Client implementation — discovery, requests, response handling |
| a2a-task-lifecycle | Auto + manual | Task states (9), transitions, artifacts, history |
| a2a-messages-parts | Auto + manual | Messages, TextPart, FilePart, DataPart, content negotiation |
| a2a-streaming | Auto + manual | SSE streaming, event types, re-subscription |
| a2a-push-notifications | Auto + manual | Callback registration, notification delivery, management |
| a2a-authentication | Auto + manual | API Key, Bearer, OAuth2, OIDC, mTLS security schemes |
| a2a-multi-turn | Auto + manual | Multi-turn conversations, input-required handling |
| a2a-error-handling | Auto + manual | JSON-RPC errors, A2A error codes, retry strategies |
| a2a-jsonrpc-transport | Auto + manual | JSON-RPC 2.0 protocol, methods, request/response format |
| a2a-mcp-bridge | Auto + manual | A2A + MCP integration, hybrid multi-agent systems |
| a2a-framework-integration | Auto + manual | ADK, LangGraph, CrewAI, AutoGen, Bedrock AgentCore |
| a2a-testing | Auto + manual | Unit, integration, conformance, and e2e testing |
| a2a-dev-patterns | Auto + manual | Orchestration topologies, observability, deployment patterns |
Hooks
The plugin includes lifecycle hooks that provide safety guardrails:
| Event | Trigger | Behavior |
|---|---|---|
| PostToolUse (async) | Write or Edit tool completes | Scans written code for hardcoded Bearer tokens, API keys (OpenAI, Google, Anthropic), client secrets, and private key material. Outputs a warning if detected. Non-blocking. |
Hooks require Python in PATH.
A2A Protocol at a Glance
Three Core Concepts
| Concept | What It Is |
|---|---|
| Agent Card | JSON document describing an agent's capabilities, skills, auth, and endpoint |
| Task | Unit of work with a lifecycle (9 states), messages, and artifacts |
| Message | Communication unit with Parts (TextPart, FilePart, DataPart) and roles |
Nine Task States
submitted → working → completed
| | |
| +→ input-required → (more input) → working
| +→ failed
| +→ canceled
|
+→ rejected
+→ auth-required
unspecified (default)
Core JSON-RPC Methods
| Method | Purpose |
|---|---|
message/send | Send message, synchronous response |
message/stream | Send message, SSE streaming response |
tasks/get | Retrieve task by ID |
tasks/cancel | Cancel a task |
tasks/resubscribe | Re-subscribe to task SSE stream |
A2A vs MCP
| Aspect | A2A | MCP |
|---|---|---|
| Purpose | Agent ↔ Agent | Agent ↔ Tool/Data |
| Primitives | Tasks & Messages | Tool Calls |
| Discovery | Agent Cards | Server Manifests |
| Transport | JSON-RPC over HTTP | JSON-RPC over stdio/HTTP+SSE |
| Complementary | Yes | Yes |
Five Auth Schemes
| Scheme | Use Case |
|---|---|
| API Key | Simple, development, internal |
| HTTP Bearer | Token-based, JWTs |
| OAuth 2.0 | Production, scoped access |
| OpenID Connect | Enterprise SSO |
| Mutual TLS | High-security, zero-trust |
Official SDKs
| Language | Package | Repository |
|---|---|---|
| Python | a2a-sdk | github.com/a2aproject/a2a-python |
| JavaScript/TS | @a2a-js/sdk | github.com/a2aproject/a2a-js |
| Go | — | github.com/a2aproject/a2a-go |
| Java | — | github.com/a2aproject/a2a-java |
| .NET | — | github.com/a2aproject/a2a-dotnet |
Official References
| Resource | URL |
|---|---|
| A2A Website | https://a2a-protocol.org |
| Specification (latest) | https://a2a-protocol.org/latest/specification/ |
| GitHub Organization | https://github.com/a2aproject/A2A |
| Python SDK | https://github.com/a2aproject/a2a-python |
| JS/TS SDK | https://github.com/a2aproject/a2a-js |
| Go SDK | https://github.com/a2aproject/a2a-go |
| Samples | https://github.com/a2aproject/a2a-samples |
| Google ADK | https://google.github.io/adk-docs/ |
| Linux Foundation AI & Data | https://lfaidata.foundation/ |
Endorsed By
Google, Atlassian, Block, Cisco, Deloitte, Intuit, MongoDB, PayPal, Salesforce, SAP, ServiceNow, UKG, and 40+ others.
Reviews
No reviews yet. Be the first.
Related
ECC
Harness-native ECC plugin for engineering teams - 63 agents, 249 skills, 79 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
ponytail
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.
agentic-bundle-aas-accessibility-inclusive-ux
Editorial "AAS Accessibility & Inclusive UX" bundle for Claude Code from Agentic Awesome Skills.
mh install plugins/a2a-multi-agent