ACP vs MCP vs LSP (and the other ACPs)
If a search result says “ACP”, it might not mean this protocol. Agent Client Protocol is the editor↔coding-agent standard. It composes with MCP; it does not replace it.
Layer comparison
| Protocol | Connects | Shape | Status |
|---|---|---|---|
| ACP (Agent Client Protocol) | Editor / client ↔ coding agent | JSON-RPC, stdio first | v1 stable, v2 draft |
| MCP (Model Context Protocol) | Agent / model ↔ tools, data, prompts | JSON-RPC client/server | Linux Foundation / AAIF |
| LSP (Language Server Protocol) | Editor ↔ language server | JSON-RPC over stdio | Stable, Microsoft-originated |
| A2A (Agent-to-Agent) | Agent ↔ agent across systems | Task/peer protocol | Linux Foundation |
How they fit together
You stay in the editor (ACP client). The editor starts or connects to a coding agent (ACP). That agent calls MCP servers for tools and context — often ones the editor already configured, passed through session/new. LSP still handles completions and diagnostics. A2A is a different plane: agents talking to other agents, not to your IDE.
Same letters, different protocols
Agent Client Protocol (this site)
Created around Zed’s external-agent work, now community-governed at github.com/agentclientprotocol. Apache licensed. This is the protocol acpserver.org covers.
IBM Agent Communication Protocol (retired)
A REST agent-to-agent protocol for BeeAI. Donated to the Linux Foundation, then merged into A2A in August 2025. The repository is archived. Do not implement it for new work.
Agentic Commerce Protocol (OpenAI / Stripe)
A checkout and commerce standard for AI agents that buy things. Unrelated to code editors. If you needed payments, you are on the wrong page.
Agent Control Protocol and others
Research and vendor projects reuse the acronym for authorization or governance layers. They are not wire-compatible with Agent Client Protocol.
Which one do I implement?
I am building an editor, TUI, or chat host for coding agents
Implement an ACP client. Speak v1.
I am building a coding agent
Implement an ACP agent, then optionally list it in the registry. Use MCP for tools.
I am exposing files, APIs, or browsers to a model
Implement MCP. ACP clients will pass those servers through to the agent.
I need agent-to-agent work across organizations
Look at A2A. ACP will not do that job.