BETALinux Foundation

Agent-to-Agent Protocol (A2A)

2 min read

The standard for AI agents to communicate, collaborate, and delegate tasks.

Overview

The Agent-to-Agent (A2A) Protocol enables AI agents to discover each other, negotiate capabilities, and delegate tasks—regardless of their underlying framework or vendor.

If MCP is how agents talk to tools, A2A is how agents talk to each other.

Core Concepts

Agent Cards

Agent Cards are JSON documents that describe an agent's capabilities:

{
  "name": "Research Agent",
  "description": "Searches and synthesizes information",
  "skills": ["web-search", "summarization"],
  "endpoint": "https://agent.example.com/a2a",
  "authentication": { "type": "oauth2" }
}

Agent Cards are discoverable at /.well-known/agent-card.json.

Task Lifecycle

  1. Discovery: Find agents via Agent Cards
  2. Negotiation: Agree on task parameters
  3. Execution: Remote agent processes task
  4. Streaming: Real-time progress updates
  5. Completion: Results with artifacts

Multimodal Support

A2A handles rich content: text, images, video, interactive forms, and custom UI widgets.

Technical Details

  • Transport: HTTP/HTTPS, gRPC (v0.3+), SSE, WebSocket
  • Format: JSON-RPC 2.0
  • Auth: OAuth 2.0, API Keys, Signed Agent Cards, mTLS

IBM ACP Merger

In August 2025, IBM's Agent Communication Protocol (ACP) merged with A2A under the Linux Foundation. This unified the two leading standards, with IBM joining the A2A Technical Steering Committee.

IETF Standardization

Several IETF drafts are building on A2A:

  • ANS (Agent Name Service): DNS-based agent discovery with PKI
  • DN-ANR: DNS SVCB records for agent protocols
  • BANDAID: Structured DNS namespace for AI discovery

Enterprise Adoption

150+ organizations support A2A including:

  • Microsoft (Azure AI Foundry, Copilot Studio)
  • SAP (Joule integration)
  • Salesforce, ServiceNow, Workday

Real deployments: Tyson Foods, Gordon Food Service (supply chain agents).

Relationship with MCP

Aspect MCP A2A
Primary Use Agent → Tool Agent → Agent
Architecture Client-Server Peer-to-Peer
Focus Tool invocation Task delegation

Most production systems use both.

When to Use A2A

Use A2A for:

  • Multi-agent orchestration
  • Cross-vendor collaboration
  • Enterprise workflows
  • Agent marketplaces

Don't use A2A for:

  • Simple tool calling (use MCP)
  • Decentralized discovery (use ANP)
Example Code
# Python A2A Client Example
from a2a import A2AClient, AgentCard

# Discover remote agent via well-known path
card = AgentCard.fetch(
    "https://agent.example.com/.well-known/agent-card.json"
)

# Create client and send task
client = A2AClient(card)
task = await client.create_task(
    skill="summarize",
    input={"document": "...long text..."},
    stream=True
)

# Stream results
async for event in task.stream():
    if event.type == "progress":
        print(f"Progress: {event.progress}%")
    elif event.type == "complete":
        print(f"Result: {event.result}")
Quick Info
Architecturepeer-to-peer
Message FormatJSON-RPC 2.0
TransportHTTP/HTTPS, gRPC, SSE, WebSocket
SDKsPython, TypeScript, Java, Go
Agent-to-Agent Features
Discovery
Negotiation
Streaming
Bidirectional
Multi-Agent
Stay Updated

Get notified when protocols evolve.

Subscribe
Strengths
  • Massive industry backing (150+ organizations)
  • Task-centric design with lifecycle management
  • Multimodal content support
  • gRPC for high-performance scenarios
  • Linux Foundation governance
Considerations
  • Still evolving (beta)
  • Requires Agent Card infrastructure
  • More complex than REST APIs
Tags
multi-agentcollaborationlinux-foundationenterprise

Compare with Other Protocols

Compare against:(2/2)
Agent-to-Agent Protocol (A2A)(current)
Strengths
Agent-to-Agent Protocol (A2A)
beta
  • Massive industry backing (150+ organizations)
  • Task-centric design with lifecycle management
  • Multimodal content support
AG-UI Protocol
beta
  • Purpose-built for frontend integration
  • Human-in-the-loop patterns built-in
  • Framework-agnostic design
Agent Name Service (ANS)
experimental
  • Leverages existing DNS infrastructure
  • Cryptographic identity via PKI
  • Scalable and decentralized
Considerations
Agent-to-Agent Protocol (A2A)
  • Still evolving (beta)
  • Requires Agent Card infrastructure
  • More complex than REST APIs
AG-UI Protocol
  • Frontend-specific scope
  • No agent discovery
  • Smaller community than MCP/A2A
Agent Name Service (ANS)
  • Early draft stage
  • Requires PKI infrastructure
  • DNS propagation delays
Best For
Agent-to-Agent Protocol (A2A)
Cross-vendor agent collaborationEnterprise workflow automationMulti-agent customer serviceAgent marketplace integration
AG-UI Protocol
AI-powered chat interfacesCollaborative document editingApproval workflow UIsReal-time agent dashboards
Agent Name Service (ANS)
Finding agents by capabilityVerifying agent identityCross-platform discovery
Technical Details
Agent-to-Agent Protocol (A2A)AG-UI ProtocolAgent Name Service (ANS)
Architecturepeer-to-peerevent-drivendistributed
Message FormatJSON-RPC 2.0JSON EventsDNS Records
TransportHTTP/HTTPS, gRPC, SSE, WebSocketSSE, WebSocket, HTTP WebhooksDNS
Version0.31.0draft-00
SDKsPython, TypeScript, JavaTypeScript, Python, React
Architecture
Agent-to-Agent Protocol (A2A)peer-to-peer
AG-UI Protocolevent-driven
Agent Name Service (ANS)distributed
Message Format
Agent-to-Agent Protocol (A2A)JSON-RPC 2.0
AG-UI ProtocolJSON Events
Agent Name Service (ANS)DNS Records
Transport
Agent-to-Agent Protocol (A2A)HTTP/HTTPS, gRPC, SSE, WebSocket
AG-UI ProtocolSSE, WebSocket, HTTP Webhooks
Agent Name Service (ANS)DNS
Version
Agent-to-Agent Protocol (A2A)0.3
AG-UI Protocol1.0
Agent Name Service (ANS)draft-00
SDKs
Agent-to-Agent Protocol (A2A)Python, TypeScript, Java
AG-UI ProtocolTypeScript, Python, React
Agent Name Service (ANS)