Agent Client Protocol
The open standard connecting code editors and AI coding agents, like LSP but for agentic workflows.
About
The Agent Client Protocol (ACP) standardizes how code editors talk to AI coding agents: session management, prompts, tool calls, permission requests, and plan reporting all go over JSON-RPC, usually over stdio. It is deliberately complementary to MCP, which connects agents to tools, while ACP connects agents to editors.
Created by Zed Industries in 2025 and co-developed with JetBrains, ACP already has official SDKs for TypeScript, Rust, Python, and Kotlin, and adapters exist for Claude Code, Gemini CLI, GitHub Copilot, Cline, OpenHands, Goose, and others. If it sticks, any ACP-compatible agent will work inside any ACP-compatible editor. The spec and SDKs are Apache-2.0 licensed.
What it can do
- Standardized agent-to-editor messaging over JSON-RPC
- Session management with auth, permissions, and tool-call reporting
- Official SDKs for TypeScript, Rust, Python, and Kotlin
- Adopted by Zed and JetBrains with 20+ agent integrations
- Coexists with MCP (editors vs tools, respectively)
Setup
Implement the ACP spec against the SDK in your language (npm @agentclientprotocol/sdk, crates.io, or PyPI), or run an existing ACP adapter as an agent server for Zed or JetBrains IDEs.
Prerequisites
An editor or agent to connect; SDK available in TS, Rust, Python, Kotlin.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (verified tier, metrics-v1). Evidence: 4,451 GitHub stars (agentclientprotocol/agent-client-protocol); repo pushed 2026-10-15 (same-day activity); Apache-2.0 license confirmed in repo; created by Zed Industries, co-developed with JetBrains; officialUrl https://agentclientprotocol.com curl-verified 200. Manual review: JSON-RPC-over-stdio transport, TS/Rust/Python/Kotlin SDKs, and Zed+JetBrains adoption verified against official site and Zed's announcement blog. License: Apache-2.0.
★ 4,451 GitHub stars
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.