Agent Client Protocol (ACP) for AI Coding Agents
ACP is the LSP-like standard between code editors and coding agents. Local agents speak JSON-RPC over stdio. Remote HTTP and WebSocket transports are being standardized. This site is an independent ecosystem guide, not the official spec.
Wire protocol
v1 stable
Ship this in production
Next major
v2 draft
Feature-flag only until it stabilizes
Authenticated agents
40 in registry
Curated catalog as of 12 Sep 2026
Official SDKs
TS & Rust 1.0
Plus Python, Java, Kotlin
Tired of building a custom integration for every editor-agent pair?
AI coding agents and editors are tightly coupled unless they share a protocol. Each new pairing becomes another plugin, another RPC shape, another week of glue.
ACP: implement once, connect everywhere
Like LSP for language servers, ACP gives agents one interface and editors one client. Compatible agents work in any ACP client; compatible editors get the whole agent ecosystem. MCP types are reused where they already fit.
How Agent Client Protocol works
The user stays in the editor. The client boots a local agent as a subprocess, or connects to a remote agent, then runs sessions over JSON-RPC.
JSON-RPC over stdio
JSON-RPC 2.0
Requests, responses, and notifications. Bidirectional: the agent can ask the client for permissions, files, terminals, or structured input.
MCP-friendly types
Content blocks, resources, and tool-call UX reuse MCP JSON where possible, then add coding-specific types such as diffs and plans.
Markdown by default
User-visible text is Markdown so clients can render rich output without shipping an HTML engine.
Real ACP method: session/prompt
{
"jsonrpc": "2.0",
"id": 2,
"method": "session/prompt",
"params": {
"sessionId": "sess_abc123def456",
"prompt": [
{
"type": "text",
"text": "Refactor this function"
}
]
}
}Why teams adopt ACP
A shared contract beats N×M editor plugins — and it still leaves room for each product’s UX.
What people actually use ACP for
The protocol is the pipe. The product is still your editor UX and the agent’s tools.
In-editor coding agents
Refactor, write tests, and apply diffs with the same keybindings you already have.
Multi-agent workbenches
Run Claude, Codex, Gemini, and OpenCode as parallel sessions instead of parallel plugins.
Chat and mobile control planes
Drive a desktop agent from Telegram, Slack, WeChat, QQ, Lark, or a phone app.
Notebooks and data tools
Keep an agent next to Jupyter, marimo, or DuckDB without a one-off RPC.
Review and security loops
Permission prompts and tool-call cards keep file writes and shell commands in front of a human.
Custom harnesses
Frameworks such as Deep Agents, Koog, Mastra, and ACP Kit wrap existing runtimes as ACP agents.
Clients, agents, and the registry
The ecosystem is no longer “Zed plus a couple of CLIs”. Editors, IDEs, desktop apps, and 40 authenticated registry agents ship ACP today.
Editors & client surfaces
Agents & adapters
Need a specific pairing?
Compare client surfaces, adapters, registry entries, and capability support.
Guides on this site
We summarize the live protocol and ecosystem. Canonical schema and RFDs live on agentclientprotocol.com.
Get started with ACP
Pick a side. Use v1 in production. Treat v2 as an opt-in draft.
Ready to wire an editor to an agent?
Start from v1, pick an SDK, and keep v2 behind a version check.
Frequently asked questions
Short answers. Official schema always wins if this guide and the spec disagree.