Why Corti uses A2A
We chose A2A because it:- Standardizes agent communication: Agents can talk to each other without siloed, point-to-point integrations. That makes composite workflows easier to build and maintain.
- Supports real workflows: A2A includes discovery, task negotiation, and streaming updates, so agents can coordinate long-running or multi-step jobs.
- Preserves security and opacity: Agents exchange structured messages without sharing internal memory or tools. That protects intellectual property and keeps interactions predictable.
- Leverages open tooling: There are open source SDKs in multiple languages and example implementations you can reuse.
A2A v1.0 in Corti
The Agentic Framework supports A2A v1.0 only. The previous v0.3 protocol version is no longer supported. All requests and responses follow the v1.0 specification.A2A-Version header
The server returns anA2A-Version: 1.0 header on every A2A response, indicating the protocol version used to handle the request. Client SDKs may also send this header on requests.
Protocol bindings
A2A v1.0 defines two protocol bindings. Corti supports both, and they share the same base URL:JSON-RPC binding
The JSON-RPC binding sends a JSON-RPC 2.0 envelope to the base URL. Themethod field determines the operation:
HTTP+JSON binding
The HTTP+JSON binding uses path-suffixed endpoints. Each JSON-RPC method maps to a specific HTTP endpoint:The HTTP+JSON binding is simpler for most use cases. Use the JSON-RPC binding if your client or tooling expects a JSON-RPC envelope.
REST query parameters
The HTTP+JSON binding supports query parameters on certain endpoints:Agent discovery
A2A enables agent discovery through agent cards. Every agent exposes its card at the.well-known/agent-card.json location, describing its capabilities, skills, and supported protocol bindings. You can retrieve a card to inspect an agent before integrating. The agent card endpoint requires the same authentication (bearer token and tenant header) as all other v2 endpoints.
Relationship to MCP
MCP (Model Context Protocol) and A2A serve different purposes in the Agentic Framework:- A2A is the conversational surface: how clients talk to agents, send messages, receive tasks, and stream responses
- MCP is a connector type: how agents call external tool servers to retrieve data or perform actions
mcp) to an agent. The agent runtime calls the MCP server when it needs data or actions from that tool. A2A is the protocol the client uses to talk to the agent itself.
The v1 MCP protocol and authentication pages are preserved in the v1 archived documentation. In v2, MCP concepts are covered by the connectors and connector auth pages.
Open source SDKs and tooling
For links to Corti’s official SDK and the official A2A project SDKs (Python, JavaScript/TypeScript, Java, Go, and .NET), see SDKs and integrations.Next steps
- Learn about agent cards for A2A discovery
- Read about connectors and how MCP fits as a connector type
- Follow the quickstart to send your first A2A message