Skip to main content
Below are the core design principles Google baked into the Agent-to-Agent (A2A) protocol and how A2A fits into the broader agent ecosystem. These principles emphasize practicality, interoperability, and enterprise readiness so organizations can adopt agent-based workflows without sacrificing security or developer productivity. Simplicity — adopt common web standards, avoid reinvention A2A prefers well-established web standards such as HTTP and JSON. By building on widely adopted open protocols, the barrier to entry is low for developers and teams—there’s minimal upskilling required, and existing infrastructure and tooling can be reused.
A presentation slide titled "Key Design Principles" with a focus on "Simplicity." It shows five dark dots across the top and two cards reading "Uses existing web standards (HTTP, JSON, etc.)" and "Doesn't reinvent the wheel."
Enterprise-ready features and asynchronous operation Because A2A is supported and maintained by Google, it includes enterprise-grade capabilities: authentication, security controls, privacy protections, and observability for monitoring and tracing. The protocol is designed for asynchronous message flows so it can handle long-running tasks, survive intermittent connectivity, and support streaming for real-time updates. Modality independence — media-agnostic payloads A2A treats agents as media-agnostic endpoints: agents can exchange plain text, structured data, files, images, and other payload types. This modality independence makes the protocol suitable for workflows that require more than simple text exchange.
A presentation slide titled "Key Design Principles" with several dark circles above a large rounded panel labeled "Modality Independent." Inside are two light boxes stating that agents can send different types of content — not just text but also files, data, etc.
Flexible communication patterns A2A supports a range of interaction models: request/response, one-way events, streaming updates, and bidirectional conversations. This flexibility accommodates simple tool-like calls as well as multi-turn collaborative workflows between agents. Opaque execution — expose interfaces, hide internals A2A encourages agents to publish a clear surface of capabilities (what they can do) without exposing implementation details. This protects intellectual property and privacy while still enabling interoperability between heterogeneous agent implementations.
A presentation slide titled "Key Design Principles" with a dark banner labeled "Opaque Execution" and three boxes stating that agents don't show internal workings, only share capabilities, and protect intellectual property and privacy. Five dark circular icons are shown above the banner.
How A2A sits in the agent stack The typical deployment pattern is: a user application communicates with a client agent over A2A; that agent coordinates work using models, data, and tools via a Model–Context Protocol (MCP); and agent frameworks orchestrate conversation and logic. In practice, an agent often combines an MCP-based model/tool integration with a framework that manages state and orchestration.
A dark-themed architecture diagram titled "The Complete Stack" showing a User/Application on the left connecting via an A2A Protocol to MCP (Model Context Protocol) and Agent Frameworks in the center, which link to LLM Models (GPT, Claude, Gemini, etc.) on the right.
A2A vs MCP — distinct responsibilities MCP connects models to tools and data (calculators, databases, APIs) and is typically tool-centric and stateless—ideal for single action → single result calls. A2A, in contrast, connects agents to other agents to enable collaborative, stateful, multi-turn workflows. Use MCP for model/tool integrations and A2A for agent-to-agent collaboration.
The image is a split diagram titled "A2A vs MCP" comparing two scenarios: on the left two friendly robot agents having multi-line back-and-forth conversations, and on the right a single robot interacting with servers/tools (illustrated by servers and a calculator). Captions note that agents are complex and conversational while tools are simple and stateless (one action, one result).
Framework-agnostic interoperability A2A is a communication protocol—not an SDK or framework—so agents built with different toolchains can interoperate. Agent frameworks (ADK, LangChain, CrewAI, AutoGen, LangGraph, etc.) can implement A2A clients or servers to participate in heterogeneous ecosystems.
A slide titled "A2A and Agent Frameworks" showing two cute robot icons facing each other with the label "Framework-Agnostic" between them. Below are tiles with logos for various agent frameworks (ADK, LangChain, crewai, Autogen, LangGraph).
A2A is protocol-focused: its goal is to enable interoperable communication between agents regardless of the frameworks or models that implement them.
Primary roles in an A2A interaction Below is a concise reference for the three main roles you’ll encounter when designing or integrating with A2A:
RolePurposeExample
UserPerson or system that initiates a requestHuman using a support portal or an automated CRON job
A2A client (client agent)Acts on behalf of the user and initiates A2A conversationsA bot that coordinates data collection and delegates tasks
A2A server (remote agent)Provides services, exposes an endpoint, and responds while keeping internals opaqueA proprietary scheduling agent that accepts requests and returns results
Summary Simplicity, modality-independence, opaque execution, flexible communication, and framework-agnostic interoperability are the pillars that make A2A suitable for enterprise agent ecosystems. Together, these principles enable secure, extensible agent-to-agent collaboration across diverse tools and models. Links and references

Watch Video