In depth
A2A (Agent2Agent) is an open protocol for communication between autonomous AI agents. Each agent publishes an agent card, a JSON document listing its name, skills, endpoint, supported protocol versions and how callers must authenticate. A client agent sends JSON-RPC messages to that endpoint, and the remote agent answers with a message or a task: a unit of long-running work with a lifecycle, status updates and artifacts such as files or structured results. Versions 0.3 and 1.0 are both in production use, with different method names on the wire. A2A is complementary to MCP: MCP lets an agent call a tool, while A2A lets an agent delegate work to another agent that has its own reasoning, tools and context.
Why it matters
A2A makes another organization’s agent part of your AI system. The remote agent decides for itself what to do with the data you send it, so the controls that matter for tool calls matter more here: who may call which agent and skill, what data may leave in the message, what comes back, whether the agent you approved is still the agent you are talking to, and an audit record of each exchange. Ferentin governs A2A 0.3 and 1.0 in both directions through the same policy, approval, data-loss-prevention and audit chain as MCP tool calls.
Common use cases
- Delegating a task from an internal agent to a vendor’s specialist agent
- Exposing an installed agent to external A2A clients through a governed gateway
- Applying per-user skill permissions and approvals to agent-to-agent messages
- Scanning messages and returned files for sensitive data in both directions
- Recording each agent-to-agent call with the skill, protocol version and acting user
How Ferentin handles it
Ferentin is the trust layer for AI agents. The platform centralizes identity, policy enforcement and audit across LLMs, MCP servers and AI tools. A2A (Agent2Agent) is one of the primitives this trust layer is designed around. See the platform overview for how it fits into the service edge, control plane and observability plane.