AI & Automation10 min read

How Do You Implement the A2A Protocol in Enterprise AI Systems?

The A2A protocol enables enterprise AI agents to discover and coordinate across vendors. Covers Agent Cards, authentication, and A2A vs MCP for production use.

The A2A protocol is the missing standard that makes enterprise multi-agent AI architectures actually interoperable. Every major AI agent framework in 2026 — LangGraph, AutoGen, CrewAI, Vertex AI Agent Builder, Azure AI Foundry — ships with its own inter-agent communication conventions. Connect a LangGraph orchestrator to a Vertex AI specialist agent and you immediately find yourself writing bespoke adapter code for a problem that should be solved at the protocol layer. A2A, the Agent-to-Agent Protocol launched by Google Cloud in April 2025 and now governed by the Agentic AI Foundation under the Linux Foundation, is the open standard that eliminates this integration tax. With 150+ production organizations and v1.0 stable as of early 2026, it is moving from emerging standard to enterprise baseline.

The architecture split that matters: MCP (Model Context Protocol) standardizes how agents connect to tools and data sources — the vertical connection between an agent and its capabilities. The A2A protocol standardizes how agents communicate with and delegate work to other agents — the horizontal connection between autonomous AI systems. A complete enterprise agent stack uses MCP to expose your tools, databases, and APIs as agent-accessible capabilities, and A2A to coordinate the specialist agents that consume those tools across vendor boundaries and framework differences. This guide covers how A2A works at the protocol level, the Agent Card discovery mechanism, task lifecycle and streaming, production authentication, and the implementation patterns engineering teams are deploying in 2026.

For teams approaching multi-agent systems for the first time, the orchestration patterns and agent topology decisions that precede protocol selection are covered in our multi-agent AI orchestration guide. The MCP foundation — how agents expose tools and data to AI models — is explained in our Model Context Protocol guide. This post assumes you have agents and are asking the next question: how do they communicate with each other across framework and vendor boundaries?

What Is the A2A Protocol and Why Does It Exist?

The A2A Protocol is an open standard for agent-to-agent communication that allows AI agents built on different frameworks, by different vendors, to discover each other's capabilities, assign and receive tasks, and coordinate on multi-step workflows without custom integration code. It launched in April 2025 with 50+ founding partner organizations and grew to 150+ by mid-2026, including Microsoft, Salesforce, SAP, ServiceNow, Accenture, and Deloitte. The protocol reached v1.0 stable in early 2026 and is governed by the Agentic AI Foundation (AAIF) under the Linux Foundation — making it a vendor-neutral open standard, not a Google-proprietary technology. This distinction matters: A2A is governed the same way as the Linux kernel or Kubernetes, with cross-industry participation and no single company's product roadmap driving the spec.

  • Transport: HTTPS with TLS 1.2 minimum and JSON-RPC 2.0 as the messaging format — deliberately built on infrastructure every enterprise already operates, with no new protocol layer or network configuration required
  • Streaming: Server-Sent Events (SSE) for pushing incremental results from long-running agent tasks to the requesting agent without polling or holding a blocking HTTP connection
  • Authentication: follows the OpenAPI authentication specification, supporting OAuth 2.0, OpenID Connect, API keys, and mutual TLS — agents declare what they accept in their Agent Card; clients present credentials accordingly; A2A introduces no new identity system
  • SDKs: Python, JavaScript, Java, Go, and .NET are all production-ready as of mid-2026, hosted under the A2A Protocol GitHub organization under the Linux Foundation
  • Signed Agent Cards: v1.0 introduced cryptographically signed Agent Cards that let agents verify they are communicating with the agent they believe they are — the A2A equivalent of TLS certificate verification at the application identity layer

A2A vs MCP: Two Protocols That Define the Enterprise Agent Stack

The most common confusion in enterprise agent architecture is treating A2A and MCP as alternatives. They are not. They operate at different layers of the agent stack and you typically use both. MCP is vertical: it connects a single agent to external tools, APIs, databases, and data sources. A2A is horizontal: it connects agents to other agents, enabling task delegation, parallel execution, and specialization hierarchies across vendor and framework boundaries. The architectural pattern consolidating in 2026 is MCP for every tool and data integration, A2A for coordination between agents — a two-layer stack rather than a choice between two competing standards.

  • Use MCP when an agent needs to access a tool, database, or API — call a function, run a query, read a file, trigger an action. MCP standardizes the agent-to-capability interface and has 18,000+ community-indexed servers in mid-2026, making it the broadest tool integration ecosystem available
  • Use A2A when an agent needs to delegate a task to another agent — engage a specialist, spin up a parallel sub-task, receive streamed results from a long-running process, or coordinate across vendor boundaries where the remote agent runs on a different framework or in a different cloud
  • The two-layer enterprise pattern: an orchestrator agent uses MCP to access its own tools and A2A to coordinate specialist sub-agents, each of which also uses MCP to access their own tool sets. The orchestrator never needs to know the implementation details of a specialist's tools — only its A2A interface as described in its Agent Card
  • What A2A adds that MCP cannot provide: task delegation with streaming updates, multi-turn agent conversation, long-running sub-task cancellation and resumption, cross-vendor agent discovery with authentication negotiation, and Agent Card-driven dynamic skill matching at runtime
  • What A2A cannot replace MCP for: low-level tool access, resource browsing, direct data retrieval, and function calling. A2A handles agent coordination; MCP handles tool access. Conflating the two layers leads to architectures that are either overengineered for simple tool use or underspecified for real agent coordination

Agent Cards: The Discovery Mechanism That Powers Interoperability

An Agent Card is a small JSON document published at /.well-known/agent.json on every A2A-compliant agent endpoint. It is the entry point to any A2A interaction: before an agent can delegate a task, it fetches the target's Agent Card to learn what the agent can do, how to communicate with it, and what credentials it requires. The Agent Card is to A2A what an OpenAPI specification is to a REST API — the machine-readable interface description. But it is designed to be consumed by AI agents rather than human developers, which changes what it needs to carry: natural language skill descriptions optimized for LLM semantic matching, not developer-readable operation names.

  • name and description: natural language description of the agent's capabilities, written to be semantically matched by LLM orchestrators deciding whether to delegate a specific task here
  • skills: a structured list of capabilities the agent offers, each with a description, input schema, and expected output format — the data orchestrators use for automatic task routing at runtime
  • url: the endpoint where the agent receives A2A task requests via JSON-RPC 2.0
  • authentication: which authentication schemes the agent accepts — OAuth 2.0 scopes, OpenID Connect provider URL, API key header name, or mutual TLS requirements; requesting agents check this before initiating any task
  • capabilities: protocol-level feature flags indicating whether the agent supports streaming via SSE, push notifications, long-running tasks, and multi-turn conversation; orchestrators use these flags to determine which interaction mode to use
  • Signature metadata: in v1.0, the card includes a pointer to the signing key at a second well-known endpoint, allowing consuming agents to cryptographically verify the card's authenticity before trusting it — preventing Agent Card substitution attacks via DNS spoofing or supply chain compromise

The A2A Task Lifecycle: From Request to Completion

A2A structures all agent interaction around a Task — the fundamental unit of delegated work. Every task has an ID, an initial message from the requesting agent, a streaming result channel if SSE is used, a set of typed Artifacts produced as output, and a terminal status. Understanding the task lifecycle is essential for production implementations because A2A tasks can run for seconds or hours, can be cancelled mid-execution, can push incremental results, and must be idempotently resumable after network interruptions — none of which a simple HTTP request-response handles gracefully.

  • tasks/send: the initiating method; the requesting agent sends the task as a Message object containing typed Parts — text, binary data, or structured data. For short tasks under 5 seconds, the remote agent returns the result synchronously in the response
  • tasks/sendSubscribe: the streaming variant; the remote agent sends Server-Sent Events as the task progresses — status updates, partial artifacts, and the final completed result. Use this for tasks longer than 5–10 seconds to avoid HTTP timeout failures and provide real-time progress visibility to the orchestrator
  • tasks/get: retrieve the current state of a running or completed task by ID; used when the requesting agent needs to poll task status or reconnect after a network interruption without resubmitting the task with a new ID
  • tasks/cancel: signal the remote agent to stop a running task; the agent is expected to clean up in-progress work and set the task status to cancelled. Not guaranteed to halt immediately if the agent is mid-tool-call — implement a cancel-check in long-running agent loops rather than treating cancellation as synchronous
  • Artifacts: the structured outputs a task produces, published incrementally as the task runs. Each artifact carries a MIME type, a name, and the content. A coding agent produces source files; a research agent produces a structured report. Orchestrators consume artifacts as the raw deliverable of delegation and must validate artifact schemas at the boundary between agent teams

Authentication and Security for Production A2A Deployments

The biggest gap between tutorial A2A implementations and production deployments is authentication. Almost every getting-started example runs agents on localhost over HTTP with no auth. Every production A2A deployment requires HTTPS with verified TLS certificates, an authentication scheme chosen from the remote agent's Agent Card, and authorization policy at the receiving agent that enforces what the calling agent is allowed to do — not just who it is. The A2A security model is intentionally explicit: unauthenticated endpoints in a multi-agent system are an attack surface that grows with every specialist you add. For the broader access control and audit trail requirements that underpin A2A security, see our guide to securing AI agents in enterprise environments.

  • HTTPS with TLS 1.2 minimum and verified certificates: all A2A communication must occur over HTTPS. The requesting agent's HTTP client must verify the TLS certificate of the responding agent against trusted certificate authorities — do not skip verification. In Kubernetes environments, use cert-manager with Let's Encrypt or an enterprise CA; self-signed certificates require a configured trust bundle to avoid disabling verification entirely
  • OAuth 2.0 with the Client Credentials grant for agent service identities: the recommended production authentication pattern. Each agent authenticates as a service principal and presents an access token scoped to exactly the operations it needs. Agents are not users — they should have their own service identities and OAuth scopes, not borrowed human credentials that expire unpredictably or carry excessive permissions
  • Signed Agent Card verification before the first task: fetch the Agent Card and verify its cryptographic signature before trusting any declared capability or URL. An unsigned Agent Card in a production environment should be treated as unverified — possibly legitimate, but not trusted until validated by an out-of-band mechanism
  • Authorization at the receiving agent, not just authentication: authentication tells you who is calling; authorization tells you what they are allowed to do. Implement fine-grained policy at the task-receive layer: the calling agent's service identity must match a policy that permits the specific skill being requested, with scope covering the data being accessed. An orchestrator authorized to request document summaries should not automatically be authorized to trigger database mutations
  • Rate limiting and per-caller budget controls: agent-to-agent calls can cascade exponentially. A bug in an orchestrator's retry logic can send thousands of task requests to a specialist in minutes. Implement per-caller rate limits at the receiving agent and a maximum-tasks-in-flight budget at the orchestrator — the most common cause of unexpected inference cost spikes in early production multi-agent deployments

Implementation Patterns: How Engineering Teams Are Using A2A in 2026

A2A is flexible enough to support several distinct coordination patterns. The maturity of your existing agent infrastructure, whether you operate a single-cloud or multi-cloud environment, and whether you need cross-organization coordination all influence which pattern to adopt first. Start with the simplest pattern that covers your immediate coordination requirement — complexity is easy to add and hard to remove.

  • Hub-and-spoke orchestration: a central orchestrator agent maintains the task plan and delegates to specialist agents via A2A — a research agent, a coding agent, a QA agent, a communication agent. The orchestrator uses Agent Card discovery to find appropriate specialists and routes tasks by matching the goal against declared skills. This is the most common initial pattern and the one most directly supported by existing frameworks like LangGraph and AutoGen
  • Parallel fan-out: the orchestrator spawns multiple specialist tasks simultaneously — all via A2A — and aggregates their artifacts once all tasks complete. For time-critical multi-step workflows where subtasks are independent, this reduces total workflow latency proportionally to the degree of parallelism. Requires the orchestrator to track multiple task IDs and implement a collect-and-synthesize step once all tasks reach terminal status
  • Cross-vendor agent marketplace: your orchestrator delegates to specialist agents operated by different vendors or teams — a Salesforce agent, an SAP agent, a compliance vendor's risk-scoring agent — using their published Agent Cards. This is where A2A's protocol standardization pays off: your orchestrator code does not change as new specialist vendors publish compliant Agent Cards, eliminating bespoke integration code for each external AI service
  • Human-in-the-loop delegation: the orchestrator delegates a task requiring human judgment to a dedicated human-proxy agent — an A2A-compliant agent that routes the task to a human interface, waits for the response, and returns it as an artifact. The rest of the multi-agent system is unaware that human involvement occurred. This pattern decouples human oversight design from agent architecture decisions and lets you add or remove human checkpoints without refactoring orchestration logic

Common Production Pitfalls and How to Avoid Them

Teams deploying A2A in production encounter a predictable set of problems. The pattern is consistent: the tutorial implementation works on localhost, the production deployment fails in a specific, avoidable way. Most pitfalls are architectural decisions that tutorial documentation skips entirely.

  • Skipping Agent Card signature verification: fetching a card over HTTPS but not verifying its cryptographic signature leaves the system vulnerable to Agent Card substitution attacks, where a malicious card redirects the orchestrator to an attacker-controlled endpoint that mimics a trusted specialist. Implement signature verification as a required step from day one, not an optional hardening measure
  • No task idempotency at the receiving agent: if the orchestrator retries a failed task without checking whether the first attempt completed, specialist agents execute the same work twice — with billing, database mutation, or communication side effects that occur twice as well. Implement task ID-based idempotency at the receive layer: check whether a task with the given ID already exists before executing; generate task IDs deterministically as a hash of goal plus session ID so retries carry the same ID
  • Context leakage in task messages: orchestrators often serialize full conversation history into task messages to provide context to specialists, inadvertently leaking user PII, internal system details, and prior tool outputs to every agent in the chain. Pass the minimum required context per task; use a shared memory layer for cross-agent state rather than inline context injection
  • Unbounded SSE connections: streaming connections that are never explicitly closed accumulate and exhaust HTTP connection pool limits. Set explicit timeouts on SSE subscriptions in the requesting agent and implement reconnect logic with exponential backoff rather than holding connections open indefinitely or polling at high frequency
  • Artifact format mismatch at agent boundaries: different frameworks serialize artifacts differently despite protocol compliance. A LangGraph agent producing a structured data artifact and a CrewAI agent consuming it may disagree on encoding, field names, or MIME type. Define artifact schemas explicitly in your Agent Cards and add schema validation at agent team boundaries to catch mismatches before they become silent data corruption issues in downstream steps

Frequently Asked Questions

What is the difference between the A2A protocol and MCP?

MCP (Model Context Protocol) standardizes how an AI agent connects to tools, APIs, databases, and data sources — the vertical connection between one agent and its capabilities. The A2A protocol standardizes how one AI agent communicates with and delegates tasks to another AI agent — the horizontal connection across autonomous agents. MCP is agent-to-tool; A2A is agent-to-agent. A production enterprise agent stack uses both: MCP for every tool and data integration, A2A for coordination between specialist agents across framework and vendor boundaries. Both protocols are governed by the Agentic AI Foundation under the Linux Foundation as of 2026.

What is an Agent Card in the A2A protocol?

An Agent Card is a JSON document published at /.well-known/agent.json on an A2A-compliant agent's endpoint. It describes the agent's name, skills (capabilities and their input/output schemas), accepted authentication schemes, streaming support, and task endpoint URL. Orchestrators fetch the Agent Card before delegating any task — it is the machine-readable interface description that enables dynamic skill discovery without hardcoded agent registries. In v1.0, Agent Cards can be cryptographically signed so consuming agents can verify authenticity before trusting the declared capabilities and endpoint URL.

How does A2A authentication work in enterprise environments?

A2A does not define a new identity system. Instead, agents declare which standard authentication schemes they accept in their Agent Card using the OpenAPI authentication format — OAuth 2.0, OpenID Connect, API keys, or mutual TLS. The production pattern is OAuth 2.0 with the Client Credentials grant: each agent has a service principal identity and requests scoped access tokens from your existing enterprise identity provider — Okta, Entra ID, or Keycloak. The receiving agent validates the token and enforces fine-grained authorization policy on top of the authentication result. This integrates into existing enterprise IAM infrastructure without adding a new identity layer or agent-specific credential management system.

Which platforms and frameworks support the A2A protocol in 2026?

As of mid-2026, native A2A support is available in Microsoft Copilot Studio, Azure AI Foundry, Amazon Bedrock AgentCore, Salesforce Agentforce, and SAP's Business AI platform. Open-source multi-agent frameworks — LangGraph, AutoGen, CrewAI, and Google's Agent Development Kit — all provide A2A integration libraries or built-in support. The protocol is governed by the Agentic AI Foundation (AAIF) under the Linux Foundation with 150+ member organizations and production SDKs in Python, JavaScript, Java, Go, and .NET. A2A reached 22,000+ GitHub stars and v1.0 stable by early 2026.

When should you use A2A instead of direct API calls between your own agents?

Use A2A when agents are built on different frameworks, run in different deployment environments, or are operated by different teams or organizations — situations where you cannot share code or rely on a single orchestration runtime. For agents within a single framework where you control both sides and the interface is stable, the framework's native coordination primitives are faster and simpler. A2A earns its complexity when you need cross-vendor agent interoperability, long-running task streaming with cancellation, or Agent Card-driven dynamic skill discovery at runtime. If your agents are internal services with team-owned, stable contracts, direct HTTP calls with a shared schema library may be sufficient and is the lower-complexity starting point.

How Belsoft Helps with Multi-Agent AI Architecture

Building an enterprise multi-agent system that uses A2A and MCP together — with proper authentication, task lifecycle management, streaming, and audit trails — is not a tutorial project. The protocol decisions, agent topology, identity configuration, and per-agent authorization policies are the foundational engineering choices that determine whether the system is maintainable and safe at production scale. Belsoft designs and builds production multi-agent AI systems for enterprise products and internal automation platforms: from agent topology design and protocol selection through authentication hardening, observability instrumentation, and production deployment. Explore our AI and automation engineering service for the full scope of what we build.

If you are designing an enterprise multi-agent system and want A2A and MCP implemented with the right security posture from the start — not retrofitted after the first production incident — book a technical scoping session with our team. We scope the full agent architecture, protocol configuration, and security model in a single working session. Related: our guide to securing AI agents in enterprise environments covers the access control and audit trail requirements that A2A authentication builds on.

Agent-to-agent communication without A2A is bespoke adapter code masquerading as architecture. The protocol exists so you build the system, not the plumbing.

Written by

Belsoft Team

Ready to build?

Let's talk about your project.

30 minutes. No pitch. We map your requirements and tell you honestly what it will take.

Book a Strategy Call
logo

Enterprise software engineering SaaS, AI, cloud, and security for companies that need more than an agency.

Copyright Ⓒ 2026 BelSoft. All Rights Reserved.

social-media-1social-media-2social-media-3social-media-4