The A2A Protocol: How AI Agents Talk to Each Other (And Your Business)
A2A is the handshake that lets one AI agent delegate a real task to another. It is not agent-to-tool like MCP — it is agent-to-agent. And 0 of the 500 businesses AgentHermes has scanned publish an A2A agent card today. This guide covers the protocol, the 5 skills, and why your business becomes a first-class participant in the delegation economy the moment you ship one.
What A2A Is (And What It Is Not)
A2A stands for Agent-to-Agent. It is an open protocol, currently at version 0.3, that defines how one AI agent hires another AI agent to complete a task on its behalf. It was first published by Google in early 2025 and is now steered by a cross-vendor working group that includes Anthropic, OpenAI, Microsoft, and a growing roster of independents.
The easiest way to anchor A2A is to contrast it with the protocol most people have already heard of — MCP. MCP lets an agent call a typed function on a server. Think get_availability(date) or create_invoice(amount). It is a tool call. A2A is a different layer entirely: it is how an agent asks another agent to handle the whole job — including which tools to use, in what order, and how to recover from failure.
If MCP is the hands, A2A is the phone. A travel-planning agent uses MCP tools to query calendars and flights. It uses A2A to call a restaurant-specialist agent and say “book me dinner for four on Friday, walkable from this hotel, under $120 a head” — and trust the specialist to work out the rest.
MCP vs A2A: Side by Side
Both protocols matter. Most production agent stacks ship both. But confusing them leads to wasted implementation effort, so keep this table handy.
A practical way to think about it: MCP is the function call. A2A is the job posting. A function call returns a value. A job posting accepts applicants, negotiates scope, runs for minutes or hours, streams progress, and ends with a deliverable. Both are essential, and AgentHermes generates infrastructure for both when you connect a business.
The 5 Skills Every A2A Agent Implements
A2A v0.3 defines five skills that every compliant agent must support. They are not five endpoints — they are five phases of a single cooperative transaction. An agent card declares which of these phases the agent implements and at what fidelity.
Describe Capability
An agent advertises what it can do. Skills, input types, output formats, pricing, rate limits, and authentication requirements are published in the agent card so callers can evaluate fit before invoking.
Example: skills: ["book_reservation", "check_availability", "get_pricing"]
Negotiate Task
The calling agent and the serving agent agree on the specific job before work begins. Parameters, constraints, budget, and success criteria are exchanged so both sides know what done looks like.
Example: task: { intent: "book", slot: "Fri 7pm", party: 4, budget: 120 }
Execute
The serving agent performs the task. This is the only step most humans imagine when they think of agent cooperation, but it is one of five distinct phases in A2A.
Example: POST /a2a/tasks → { task_id, status: "running" }
Stream Updates
Long-running tasks emit progress events so the caller can show status, escalate if stuck, or intervene. Server-Sent Events or WebSockets push partial results as they arrive instead of forcing polling.
Example: event: "progress" data: { step: 2, of: 4, message: "confirming slot" }
Handle Errors
Structured error codes tell the caller exactly what failed and whether a retry is safe. Transient errors, auth failures, quota exhaustion, and capability mismatches each have distinct codes and remediation hints.
Example: error: { code: "INSUFFICIENT_CAPABILITY", retryable: false }
The five skills matter because they encode failure modes, not just happy paths. Describe lets you say no before the task starts. Negotiate lets you refuse bad jobs. Stream lets you recover when execution gets slow. Handle Errors lets the caller know whether retrying will help. Real agent cooperation lives in the unhappy paths — that is why A2A treats them as first-class skills rather than afterthoughts.
Discovery: The /.well-known/agent-card.json File
A2A discovery borrows a pattern from the web: a well-known file at a fixed path. When an agent wants to know whether your business is reachable over A2A, it makes a single request to https://yourdomain.com/.well-known/agent-card.json. The file declares your skills, endpoint URL, authentication requirements, and pricing.
This is the same pattern that gave us robots.txt, security.txt, and OpenID Connect's discovery document. It works because it is boring: one URL, one JSON file, no registration step. An agent can discover a new business in a single HTTP request and immediately know whether cooperation is possible.
AgentHermes scans for the agent card in every audit. Across 500 businesses we have found exactly zero that publish one. The file is trivially easy to author — our full agent-card.json guide walks through the minimal valid structure in under three minutes. AgentHermes will also generate and host yours automatically when you connect a business to the platform.
Why the .well-known prefix matters: It lets agents discover you without prior knowledge of your site structure, subdomain layout, or CMS. They do not need a sitemap, an API docs page, or a developer portal. One GET request, one JSON response. That is the whole ritual.
How AgentHermes Implements A2A for Your Business
AgentHermes itself is an A2A-compliant agent. When you connect a business through the platform, it inherits the same compliance. Here is the pipeline.
We publish an agent card at /.well-known/agent-card.json
The file includes all 5 A2A skills, v0.3 schema, authentication hints, and links to per-business endpoints hosted on AgentHermes infrastructure.
Each business gets a delegated A2A endpoint
A restaurant connected via AgentHermes exposes a book-table specialist endpoint. A plumber exposes a schedule-visit specialist. The endpoint wraps the MCP tools already generated for that business.
Skills advertise capabilities, not just endpoints
Our agent card declares skills as verbs with parameter schemas. A calling agent can tell in one request whether your business can serve its task — before negotiating terms or spending budget.
Streaming is on by default for long tasks
Tasks longer than a second emit Server-Sent Events so the caller sees progress. This is critical for booking flows that pass through third-party confirmation or queue in a restaurant POS.
Error codes follow the A2A v0.3 spec exactly
Every failure returns a structured code: INSUFFICIENT_CAPABILITY, QUOTA_EXCEEDED, NEGOTIATION_FAILED, UPSTREAM_UNAVAILABLE. Callers can branch on the code rather than parsing free-form strings.
This matters because most businesses will never write a line of A2A code. Just as they did not write HTTP stacks when they got websites in the 1990s, they will not implement JSON-RPC streaming when they join the agent economy. The agent-hermes.json standard bundles MCP + A2A + discovery into one file; AgentHermes handles the rest.
Why Your Business Needs A2A (Not Just MCP)
Agents will increasingly delegate, not execute
Monolithic agents are losing to orchestrator-plus-specialist architectures. The orchestrator delegates to specialists. Without an agent card you are not on the specialist list.
Specialists win on fidelity, not generality
A restaurant-specific A2A agent with real POS access will beat a general travel agent trying to scrape your booking page. A2A is how you advertise that specialism.
MCP alone cannot describe long-running tasks
Booking a party of 40 for catering takes more than one function call. A2A gives you negotiation, streaming, and structured errors — phases MCP was not designed to handle.
The delegation chain is a trust graph
Orchestrator agents prefer specialists they already trust. Every successful A2A task earns your business reputation inside that graph. No card, no graph, no compounding trust.
Businesses that only publish MCP tools are reachable but not preferred. Businesses that also publish A2A agent cards become known specialists — and specialists are who the orchestrators hire first. The incremental cost is effectively zero when AgentHermes generates both for you. The cost of staying out is missing the delegation economy entirely.
Frequently Asked Questions
What is the A2A protocol?
A2A (Agent-to-Agent) is an open protocol for AI agents to delegate tasks to other AI agents. It was introduced by Google in 2025 and is now maintained by a cross-vendor working group. The current version is v0.3. Where MCP (Model Context Protocol) lets an agent call a tool, A2A lets an agent hire another agent to complete a job on its behalf.
How is A2A different from MCP?
MCP is agent-to-tool: a single agent calls typed functions on a server to fetch data or perform a discrete action. A2A is agent-to-agent: one agent delegates a whole task to a specialist agent that may itself use MCP tools, other agents, or human operators to complete the job. In practice most real systems use both. MCP is the hands. A2A is the phone.
Where does A2A discovery happen?
A2A discovery uses a standard file at /.well-known/agent-card.json on the serving agent's domain. Any calling agent can GET that URL and learn the serving agent's skills, input schemas, auth requirements, and endpoint. This mirrors the way robots.txt and sitemap.xml work for search crawlers, but for agents. Zero of the 500 businesses AgentHermes has scanned currently publish an agent card.
Do I need to write A2A code to participate?
No. AgentHermes auto-generates a v0.3 compliant agent card and hosts the A2A endpoints for your business. The platform exposes 5 standard skills — describe, negotiate, execute, stream, and handle errors — on top of the MCP tools you already publish. You supply business data through a form; AgentHermes handles the protocol plumbing and keeps the spec current as A2A evolves.
Why does A2A matter for a non-technical business?
As agents get more autonomous, they increasingly outsource subtasks to specialist agents the way humans outsource to vendors. An AI travel agent will not book your restaurant directly — it will hand the booking job to a restaurant-specialist agent that already knows your menu, your seating rules, and your payment terms. A2A is the handshake that makes that handoff possible. Businesses with agent cards become the specialists. Businesses without them stay invisible in the delegation chain.
Ship MCP + A2A in one connect step
AgentHermes generates your agent card, hosts your A2A endpoint, and wires in MCP tools for your vertical. See your Agent Readiness Score first, then connect.