AI Agent Protocols Explained: MCP vs A2A vs SLIM vs ACP
AI agents rarely work alone. They read files, query databases, call business APIs, and sometimes delegate work to other agents. Without shared contracts, every connection becomes a custom integration with its own discovery, authentication, message format, and failure behavior. Review What Is Agentic AI? first if orchestrators, tools, and specialist agents are new concepts.
Four names appear often: MCP for tool and resource access, A2A for remote-agent tasks, SLIM for secure message transport, and ACP for older BeeAI agent integrations now moving toward A2A. They solve different problems rather than competing for one job. Protocol surfaces and migration status are current as of July 2026; verify the linked specifications before implementation. This guide follows one support incident through all four boundaries and shows when a plain function is still the better choice; Communication Protocols Between Services covers the broader service-to-service landscape.
Why AI agent protocols matter
Modern AI applications need two kinds of interoperability. First, a host needs a consistent way to reach tools such as GitHub, Slack, a filesystem, or Postgres. Second, one application may need to delegate a task to an independently deployed agent without knowing that agent’s model or framework.
The protocols fit into three layers. MCP is the capability layer: host → tool or resource. A2A is the agent layer: client → remote agent; ACP belongs to this same lane but is now mainly a migration concern. SLIM is an optional transport layer beneath them, providing secure routing and messaging when direct connections are not enough.
Running example: a support host looks up incident INC-42 through MCP, asks a remote research agent for analysis through A2A, and uses SLIM only if that A2A exchange must cross sites with end-to-end encryption and registration-based reachability.
Quick reference
- MCP — use for host → tool/data; trade-off: another server, permission, and error boundary.
- A2A — use for delegated work by an independent agent; trade-off: remote task state, identity, and duplicate-work recovery.
- SLIM — use under an application protocol for secure multi-hop routing; trade-off: routing nodes, sessions, keys, and monitoring.
- ACP — use only for installed BeeAI compatibility while migrating to A2A; trade-off: maintaining a legacy contract during transition.
- Plain function — use inside one process or ownership boundary; no interoperability protocol is automatically better.
Remember this
Three layers, not four rivals: MCP carries capability, A2A carries agent tasks, SLIM carries bytes — and ACP rides in the A2A lane.
MCP: standardized access to tools and data
What it is. Model Context Protocol (MCP), introduced by Anthropic, standardizes how an AI host connects to servers that expose tools, resources, and prompts. A client inside the host communicates with an MCP server, commonly through JSON-RPC over stdio or Streamable HTTP. The server then calls the real system—such as GitHub, Slack, a filesystem, or Postgres—and returns structured content.
How it works. Suppose a user asks, “Summarize incident INC-42.” The host discovers a lookup_issue tool, sends a typed call through its MCP client, and receives either incident data or a structured error. The model never receives database credentials and never talks directly to Postgres; the server owns that boundary.
Use MCP when several compatible hosts need reusable access to the same capability. Skip it when a local typed function is enough or when the destination is an independent agent with its own task lifecycle—that is an A2A problem.
Quick reference
- Best uses: file access, databases, GitHub, Slack, Drive, and internal APIs.
- Main benefit: one server contract can be reused by multiple compatible hosts.
- Security boundary: the server enforces credentials, scopes, validation, and audit logs.
- Failure mode: a backend timeout must become a visible tool error—not a fabricated answer.
- MCP complements product APIs; it does not replace every REST or SDK integration.
Remember this
The model never touches Postgres — the MCP server does, and hands back structured content or a structured error, never invented rows.
A2A: communication between independent agents
What it is. A2A (Agent2Agent Protocol), introduced by Google and now governed through the Linux Foundation, standardizes communication with an independently deployed agent. The agents may use different models, frameworks, tools, and memory systems because A2A defines the external contract rather than their internal implementation.
How it works. An Agent Card describes the remote agent’s identity, skills, interfaces, and security requirements. A client discovers that card, sends a message or task, and receives task state, clarification requests, streamed updates, or final artifacts. A registry is optional: cards may come from a well-known URL, direct configuration, or a curated registry.
Example and failure: the support host sends INC-42 to a research agent. If the response times out after the remote agent accepted the task, blindly resending can create two investigations and two artifacts. Reuse a stable task ID, query task state before retrying, and mark one terminal result authoritative. Use A2A when the remote worker has a separate deployment and task lifecycle; use a function call when it does not.
Quick reference
- Best uses: cross-team agents, delegated research, and long-running remote tasks.
- Main benefit: agents remain opaque and independently implemented.
- Agent Cards advertise capabilities; they do not prove that an agent is trustworthy.
- Authenticate the endpoint, authorize the caller, and version the task contract.
- Retries need stable task IDs so a timeout does not start duplicate work.
Remember this
A2A needs an Agent Card, not a registry: fetch the card from a well-known URL, config, or optional registry — then exchange tasks and artifacts.
SLIM: secure transport for agent messages
What it is. SLIM means Secure Low-Latency Interactive Messaging. It is an open-source AGNTCY messaging framework—not an OpenAI tool-calling protocol. SLIM provides routing nodes, registration-based reachability, native streaming RPC (SRPC), and end-to-end payload encryption through Message Layer Security (MLS).
How it fits. A2A or MCP defines the meaning of a task or tool message; SLIM can carry that message across a distributed network. An endpoint registers with the SLIM network, sends encrypted content through one or more routing nodes, and the destination session decrypts it. Routing infrastructure can forward the payload without reading it, even where TLS terminates between hops.
Use SLIM when agents cross organizational or network boundaries and need secure multi-hop routing, group messaging, or reachability without exposing every endpoint. Skip it when direct HTTPS to a known agent already satisfies the threat model.
Quick reference
- Created by the AGNTCY community; it is not an OpenAI protocol.
- Best uses: secure cross-site messaging, group communication, and NAT/firewall reachability.
- Main benefit: MLS protects message content across intermediate routing nodes.
- SRPC adds gRPC-like request, response, and streaming semantics.
- Operational cost: routing, identity, keys, sessions, and node failures must be monitored.
Remember this
SLIM moves messages; it does not define them. It is the encrypted pipe under A2A/MCP from AGNTCY — not OpenAI, and not a tool schema.
ACP: the legacy BeeAI agent contract
What it is. Agent Communication Protocol (ACP) was introduced by IBM’s BeeAI community as an HTTP-native contract for discovering agents and running work synchronously or asynchronously. Agent manifests described capabilities and content types, while REST endpoints carried messages and run state.
What changed. ACP addressed much of the same remote-agent boundary as A2A. The ACP project subsequently joined A2A under the Linux Foundation and now provides migration guidance. That makes ACP important for understanding or maintaining existing BeeAI services, but it is no longer an equal greenfield choice beside A2A.
Failure and recovery: a partial migration can map discovery but lose ACP run status or content types, leaving clients polling forever or dropping an artifact. Replay captured ACP success, waiting, failure, and cancel cases against the A2A adapter; keep the old endpoint available until every case reaches the same terminal state. Use ACP only when compatibility with an installed service requires it.
Quick reference
- Correct name: Agent Communication Protocol—not Agent Control Protocol.
- Best use today: maintaining or migrating an existing BeeAI/ACP integration.
- Legacy manifests describe agent capabilities and accepted content.
- Migration maps manifests, messages, runs, and status to A2A concepts.
- Do not start a new ACP deployment merely to add discovery or routing.
Remember this
ACP is Agent Communication Protocol (IBM/BeeAI), now folding into A2A — keep it for migration, do not start new designs on it.
MCP vs A2A vs SLIM vs ACP: which should you use?
Choose the protocol by asking what the connection crosses. Choose MCP when an AI host needs tools, APIs, files, or data. Choose A2A when a client delegates work to an independently deployed agent. Evaluate SLIM only when those messages need secure multi-hop transport, registration-based reachability, or group communication. Keep ACP for an existing BeeAI integration while planning its A2A migration.
A real system may combine them. The support host can query Postgres through MCP, delegate investigation through A2A, and carry the A2A exchange over SLIM when the network requires it. But do not add every protocol to every hop: local modules should remain typed functions, and direct HTTPS is valid when one known endpoint and ordinary transport security are enough.
Official references (checked July 2026): MCP architecture and specification at modelcontextprotocol.io/docs/learn/architecture and modelcontextprotocol.io/specification; A2A documentation and specification at a2a-protocol.org/latest; ACP documentation and migration status at agentcommunicationprotocol.dev; SLIM documentation at slim.agntcy.org/latest. Versioned protocol guarantees belong to those specifications, not to this comparison.
Quick reference
- Tool or data source → MCP.
- Independent remote agent → A2A.
- Secure distributed messaging beneath A2A/MCP → SLIM.
- Existing BeeAI/ACP service → ACP compatibility plus an A2A migration plan.
- Same process, no interoperability boundary → plain typed function.
Remember this
Pick by the boundary a hop crosses: tool → MCP, remote agent → A2A, hostile/multi-hop network → SLIM, old BeeAI service → ACP, nothing crossed → plain function.
Key takeaway
No single protocol wins because they solve different layers. MCP connects hosts to capabilities. A2A connects clients to remote agents. SLIM can transport those messages securely across a distributed network. ACP remains relevant mainly when an existing BeeAI service must be maintained or migrated. Start with the boundary, then choose the smallest contract that satisfies it.
Practice (25 min): map one product flow with a row for every hop. Record the boundary, protocol, discovery method, auth owner, timeout, retry rule, terminal error, and whether encryption beyond TLS is required. Example: host → issue lookup | tool boundary | MCP | tools/list | service account | 3s | retry once | isError | no. Then inject one timeout after acceptance: the MCP hop must return a structured error, while an A2A hop must reuse its task ID and query state rather than start duplicate work. Pass when every hop has one terminal error, one recovery action, and no protocol remains on a same-process call.
Related Articles
Explore this topic