🚀 Introducing

Agent to Agent Protocol (A2A)

An open protocol enabling communication and interoperability between AI agents, giving them a common language – irrespective of the framework or vendor they are built on

Why Choose A2A?

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

Multi-Agent Support
Task Management
Cross-platform Collaboration
Capability Discovery

Core Components

  • Protocol Specification
  • Agent Cards
  • Task Management

A2A ❤️ MCP

Agent applications need both A2A and MCP

We recommend using MCP for tools and A2A for agents

Why Standard Protocols?

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.

A2A and MCP Relationship

Agent 1
A2A Protocol
Agent 2
Both protocols work together
MCP Protocol
Tools (Databases, APIs, etc)

Tools

Tools are interfaces that agents use to interact with their environment, such as accessing databases, calling APIs, or performing specific tasks.

Agents

Agents are autonomous entities that perform complex tasks and need to communicate with each other to collaborate.

Complementary Protocols

A2A and MCP protocols complement each other to build a complete agent application ecosystem.

Clear Division of Responsibilities

The two protocols have clear areas of responsibility that work together without overlap.

A2A: Handles agent-to-agent communication, collaboration, and capability discovery
MCP: Handles agent-to-tool interaction, resource management, and context sharing

Real-World Application Example

Here's a practical scenario showing A2A and MCP working together:

Scenario: Sales Data Analysis and Report Generation

User Requests a Sales Report

User asks the 'SalesGPT' analytics agent to generate a quarterly sales data analysis report with charts

A2A: Agent-to-Agent Communication

'SalesGPT' discovers and communicates with the 'DataVizPro' visualization agent via A2A, sharing sales data and chart requirements through a task request

MCP: Tool Invocation

'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

Task Completion and Results

'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

Key Takeaway

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.

A2A Protocol Design

A powerful protocol built on existing standards (HTTP, SSE, JSON-RPC) that enables true multi-agent collaboration across enterprise systems

Agent Cards

Standard format for agents to advertise their capabilities and skills

Task Management

Structured approach to defining, tracking, and completing tasks between agents

Message Exchange

Standardized message format supporting rich content types and UI capabilities

Core Features

1

Open Standard

Built on existing standards like HTTP, SSE, and JSON-RPC

2

Enterprise Ready

Supports enterprise-grade authentication and authorization

3

Secure by Default

Designed with security as a fundamental principle

Enterprise-Ready

A2A protocol provides strong security features and flexibility for enterprise environments

TLS Security

TLS encryption ensures the security of all agent-to-agent communications

Server Identity

A2A servers present their identity through digital certificates signed by well-known certificate authorities

Standard Authentication

Supports standard open API authentication formats, such as API keys, OAuth, and OIDC

Tracing

Uses enterprise-standard tools for request tracing and monitoring, supporting logging and event queues

Agent Discovery

A2A protocol provides multiple ways to discover and obtain agents

Agent Card Standard Format

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?"]
    }
  ]
}

Open Directory

Discover publicly available agent cards in open directories

https://domain/.well-known/agent.json

Curated Registry

High-quality agent collections maintained by organizations or communities

Private Registry

Organization-specific agent registries with controlled access

Push Notifications

A2A protocol supports push notifications in disconnected scenarios for more flexible agent communication

Long-Running Tasks

Support for tasks that require extended execution time without maintaining constant connection

Secure Notifications

Encrypted push notifications ensure secure communication even in disconnected states

Connected Mode

Real-time communication when agents maintain an active connection

Disconnected Mode

Asynchronous communication through push notifications when agents are offline

Example

Configuration

{
  "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": {}
  }
}

Notification

Notification Received
{
  "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": {}
}

Global Support

A2A is backed by Google and over 50 technology partners, making it a truly global standard for agent interoperability