Skip to content

01 · Magazine

A2A Protocol: How Agents from Different Vendors Work Together

What the Agent2Agent protocol (A2A) is, how Agent Card, Task and Artifact fit together, how it differs from MCP and when you need it.

· Reviewed

The Agent2Agent protocol (A2A) is an open standard that lets AI agents from different vendors and frameworks work together. An agent built with LangGraph can use it to hand a task to an agent in Copilot Studio or SAP Joule without knowing how that agent works inside. Google introduced A2A in April 2025 and contributed it to the Linux Foundation in June 2025. This article explains how A2A works, how it differs from the Model Context Protocol (MCP) and when you need it.

Fact sheet (as of October 2026)

Attribute Details
Steward Linux Foundation (Agent2Agent Project)
License Apache 2.0
Current version 1.0, the first stable version of the specification
Transport JSON-RPC, gRPC or HTTP+JSON (REST)
Official SDKs Python, JavaScript, Java, Go, .NET
Supporters more than 150 organizations, including AWS, Cisco, Google, IBM, Microsoft, Salesforce, SAP and ServiceNow (April 2026)

The problem A2A solves

Inside a single framework, agent collaboration is solved: CrewAI has crews, LangGraph has graphs, the OpenAI Agents SDK has handoffs. It gets hard at the boundary. A purchasing agent in the ERP needs to ask a supplier's agent; a service agent in ServiceNow needs to bring in an agent in Salesforce. Without a shared standard, each of these connections needs its own interface.

A2A defines how an agent describes itself, how you give it a task and how results come back. The called agent stays a black box: it does not reveal its prompt, tools or memory.

How A2A works

A2A distinguishes a client (the agent that wants something) and a remote agent (the agent that does the work). Four building blocks carry the protocol:

Building block Meaning
Agent Card JSON document in which an agent describes itself: name, skills, address, supported transports, authentication. The usual location is /.well-known/agent-card.json
Task A unit of work with its own ID and status, such as working, input required, completed, failed or rejected
Message A message between client and agent, made of one or more parts (text, file, structured data)
Artifact The result of a task, such as a document, an image or a JSON object

The flow is simple: the client reads the Agent Card, sends a message and gets a task back. Short tasks finish right away with a result. For long tasks, the agent reports progress via streaming (server-sent events or a gRPC stream) or via push notifications to a webhook of the client. If the agent needs more information, it sets the status to "input required" and waits for the answer.

Example Agent Card

{
  "name": "Supplier agent",
  "description": "Checks stock levels and delivery times for spare parts",
  "version": "2.1.0",
  "supportedInterfaces": [
    {
      "url": "https://agent.example.com/a2a/v1",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": { "streaming": true, "pushNotifications": false },
  "defaultInputModes": ["text/plain"],
  "defaultOutputModes": ["application/json"],
  "skills": [
    {
      "id": "stock-check",
      "name": "Check stock",
      "description": "Returns stock level and delivery date for a part number",
      "tags": ["purchasing", "inventory"]
    }
  ]
}

A2A handles authentication and permissions with familiar web methods: API keys, OAuth 2.0, OpenID Connect or mutual TLS. The Agent Card states which of them an agent requires.

A2A and MCP: what is the difference?

The two protocols are often mentioned together but solve different problems. The A2A documentation puts it this way: "MCP is vertical. It deepens a single agent." and "A2A is horizontal. It connects agents across that boundary."

MCP A2A
Connects an agent with tools and data sources an agent with other agents
Counterpart a tool without its own judgment, e.g. database, API, file system an autonomous agent with its own model and logic
Duration usually a single call also long tasks with follow-up questions and intermediate results
Origin Anthropic, since December 2025 at the Agentic AI Foundation (Linux Foundation) Google, since June 2025 at the Linux Foundation

In practice the two appear together. The A2A documentation uses the example of a car repair shop: the customer talks to a shop agent, which hands the diagnosis to a mechanic agent (A2A). The mechanic agent uses its diagnostic tools (MCP) and asks a parts supplier's agent for the spare part (A2A again).

Who supports A2A

According to the Linux Foundation, A2A is built into Azure AI Foundry, Copilot Studio and Amazon Bedrock AgentCore. In our directory, these systems among others list A2A support:

  • Frameworks: Google ADK, Microsoft Agent Framework, Strands Agents, AG2, AgentScope, BeeAI Framework
  • Enterprise platforms: SAP Joule Studio, ServiceNow AI Agents, Oracle AI Agent Studio, Glean
  • Specialized solutions: Rasa Pro, kagent (Kubernetes)

If you choose a system that will later need to talk to agents of other departments or partners, check whether it supports A2A and which version.

When you need A2A

A2A makes sense when

  • agents from different frameworks or platforms need to work together,
  • agents are called across team, department or company boundaries,
  • an agent should be offered as a service to others without revealing how it is built.

You do not need A2A when

  • all agents run in one framework. Its own mechanisms such as handoffs or subagents are simpler and faster,
  • an agent only needs to connect tools or data. That is what MCP is for.

Limitations

  • More operational effort: every remote agent is a separate service with its own address, authentication and monitoring.
  • Trust is still your job: signed Agent Cards (new in version 1.0) prove that a card has not been altered. Whether you trust the provider and what the agent does with your data is outside the protocol.
  • Different versions: many products started with version 0.2 or 0.3. Check which version a vendor supports before you connect two systems.
  • Debugging across boundaries: when a task runs through several agents from different vendors, the cause of an error is harder to find than inside one framework.

Frequently asked questions

Is A2A a product I can buy?

No. A2A is an open protocol. You use it through a framework or platform that supports it, or directly through the official SDKs.

Does A2A replace the Model Context Protocol?

No. MCP connects an agent with tools and data; A2A connects agents with each other. Many systems use both.

Does A2A still belong to Google?

No. Google contributed A2A to the Linux Foundation in June 2025. Since then it has been developed there across vendors.

What about IBM's Agent Communication Protocol (ACP)?

ACP is now part of A2A under the Linux Foundation. The BeeAI Framework, where ACP originated, supports A2A today.

Sources

Last reviewed:

Market notes

Get the next analysis by email

New articles and changes in the directory, at most once a week.