A2A Protocol Specification
A2A Protocol Specification detailed explanation
Stay updated with the latest A2A protocol documentation and learning tutorials
A2A provides a standardized way for agents to collaborate with each other, regardless of the underlying framework or vendor
Through this unified protocol, AI agents can securely exchange information, coordinate actions, and work across diverse enterprise platforms
Agent applications need both A2A and MCP
We recommend using MCP for tools and A2A for agents
Standard protocols are essential for agent interoperability, especially when connecting agents to external systems. This is critical in two interconnected areas of innovation: tools and agents.
Tools are interfaces that agents use to interact with their environment, such as accessing databases, calling APIs, or performing specific tasks.
Agents are autonomous entities that perform complex tasks and need to communicate with each other to collaborate.
A2A and MCP protocols complement each other to build a complete agent application ecosystem.
The two protocols have clear areas of responsibility that work together without overlap.
Here's a practical scenario showing A2A and MCP working together:
User asks the 'SalesGPT' analytics agent to generate a quarterly sales data analysis report with charts
'SalesGPT' discovers and communicates with the 'DataVizPro' visualization agent via A2A, sharing sales data and chart requirements through a task request
'SalesGPT' uses MCP protocol to call database query tools to retrieve raw sales data, while 'DataVizPro' uses MCP to invoke chart generation tools to create trend graphs and comparisons
'SalesGPT' and 'DataVizPro' collaborate on the report, with 'DataVizPro' sending the generated charts to 'SalesGPT' via A2A, ultimately delivering a complete sales analysis report to the user
In this example, A2A enables the two specialized agents, 'SalesGPT' and 'DataVizPro', to discover and collaborate with each other, while MCP enables each agent to access and use the specialized tools they need. This combination provides a complete solution.
A powerful protocol built on existing standards (HTTP, SSE, JSON-RPC) that enables true multi-agent collaboration across enterprise systems
Standard format for agents to advertise their capabilities and skills
Structured approach to defining, tracking, and completing tasks between agents
Standardized message format supporting rich content types and UI capabilities
Built on existing standards like HTTP, SSE, and JSON-RPC
Supports enterprise-grade authentication and authorization
Designed with security as a fundamental principle
A2A protocol provides strong security features and flexibility for enterprise environments
TLS encryption ensures the security of all agent-to-agent communications
A2A servers present their identity through digital certificates signed by well-known certificate authorities
Supports standard open API authentication formats, such as API keys, OAuth, and OIDC
Uses enterprise-standard tools for request tracing and monitoring, supporting logging and event queues
A2A protocol provides multiple ways to discover and obtain agents
A2A's AgentCard standardizes the format of data shared during discovery
{
"name": "Recipe Agent",
"description": "Agent that helps users with recipes and cooking",
"url": "https://example.com/agent",
"provider": {
"organization": "Culinary AI Inc.",
"url": "https://culinary-ai.example.com"
},
"version": "1.0.0",
"documentationUrl": "https://example.com/agent/docs",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"stateTransitionHistory": false
},
"authentication": {
"schemes": ["Bearer"],
"credentials": "..."
},
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["text/plain", "image/jpeg"],
"skills": [
{
"id": "generateRecipe",
"name": "Generate Recipe",
"description": "Creates recipes based on ingredients and preferences",
"tags": ["cooking", "food", "recipes"],
"examples": ["Create a recipe with chicken and pasta", "What can I make with potatoes?"]
}
]
}
Discover publicly available agent cards in open directories
High-quality agent collections maintained by organizations or communities
Organization-specific agent registries with controlled access
A2A protocol supports push notifications in disconnected scenarios for more flexible agent communication
Support for tasks that require extended execution time without maintaining constant connection
Encrypted push notifications ensure secure communication even in disconnected states
Real-time communication when agents maintain an active connection
Asynchronous communication through push notifications when agents are offline
{
"jsonrpc": "2.0",
"id": 1,
"method": "tasks/send",
"params": {
"id": "de38c76d-d54c-436c-8b9f-4c2703648d64",
"message": {
"role": "user",
"parts": [{
"type": "text",
"text": "tell me a joke"
}]
},
"pushNotification": {
"url": "https://example.com/callback",
"authentication": {
"schemes": ["bearer"]
}
},
"metadata": {}
}
}
{
"id": "de38c76d-d54c-436c-8b9f-4c2703648d64",
"sessionId": "c295ea44-7543-4f78-b524-7a38915ad6e4",
"status": {
"state": "completed"
},
"artifacts": [{
"parts": [{
"type": "text",
"text": "Why did the chicken cross the road? To get to the other side!"
}]
}],
"metadata": {}
}
A2A is backed by Google and over 50 technology partners, making it a truly global standard for agent interoperability