ACP is designed for agent-editor integrations. If you want your agent to call tools hosted by external servers, see Model Context Protocol (MCP).
Quickstart
Install the ACP integration package:DeepAgents ACP on npm
The
deepagents-acp package provides both a CLI and a programmatic API for exposing deep agents over ACP.Clients
Deep Agents works anywhere you can run an ACP agent server. Some notable ACP clients include:- Zed
- JetBrains IDEs
- Visual Studio Code (via vscode-acp)
- Neovim (via ACP-compatible plugins)
Zed
Register your deep agent with Zed by adding it to your Zed settings (~/.config/zed/settings.json on Linux, ~/Library/Application Support/Zed/settings.json on macOS):
Simple setup (no code required):
ACP Registry
DeepAgents is available in the ACP Agent Registry for one-click installation in Zed and JetBrains IDEs. When an ACP client supports the registry, users can discover and install Deep Agents without any manual configuration.CLI reference
The CLI is the fastest way to start an ACP server. It requires no code — just runnpx deepagents-acp and connect your editor.
| Option | Short | Description |
|---|---|---|
--name <name> | -n | Agent name (default: "deepagents") |
--description <desc> | -d | Agent description |
--model <model> | -m | LLM model (default: "claude-sonnet-4-5-20250929") |
--workspace <path> | -w | Workspace root directory (default: cwd) |
--skills <paths> | -s | Comma-separated skill paths |
--memory <paths> | Comma-separated AGENTS.md paths | |
--debug | Enable debug logging to stderr | |
--help | -h | Show help message |
--version | -v | Show version |
Environment variables
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY | API key for Anthropic/Claude models (required) |
OPENAI_API_KEY | API key for OpenAI models |
DEBUG | Set to "true" to enable debug logging |
WORKSPACE_ROOT | Alternative to --workspace flag |
Programmatic API
startServer
Convenience function to create and start a server in one call:
DeepAgentsServer
For full control, use the DeepAgentsServer class directly:
Server options
| Option | Type | Default | Description |
|---|---|---|---|
agents | DeepAgentConfig | DeepAgentConfig[] | required | Agent configuration(s) |
serverName | string | "deepagents-acp" | Server name for ACP |
serverVersion | string | "0.0.1" | Server version |
workspaceRoot | string | process.cwd() | Workspace root directory |
debug | boolean | false | Enable debug logging |
Agent configuration
| Option | Type | Description |
|---|---|---|
name | string | Unique agent name (required) |
description | string | Agent description |
model | string | LLM model (default: "claude-sonnet-4-5-20250929") |
tools | StructuredTool[] | Custom LangChain tools |
systemPrompt | string | Custom system prompt |
middleware | AgentMiddleware[] | Custom middleware |
backend | BackendProtocol | BackendFactory | Filesystem backend |
skills | string[] | Skill source paths |
memory | string[] | Memory source paths (AGENTS.md) |
interruptOn | Record<string, boolean | InterruptOnConfig> | Tools requiring user approval (HITL) |
commands | Array<{ name, description, input? }> | Custom slash commands |
Customization
Multiple agents
You can expose multiple agents from a single server. The ACP client selects which agent to use when creating a session:Some ACP clients (like Zed) don’t currently expose a UI for selecting between agents. In that case, consider running separate server instances with a single agent each.
Slash commands
The server registers built-in slash commands with the IDE:/plan, /agent, /ask, /clear, and /status. You can also define custom commands per agent:
Human-in-the-loop
UseinterruptOn to require user approval in the IDE before the agent runs sensitive tools:
Custom tools
Custom backend
Skills and memory
See the upstream ACP docs for protocol details and editor support:
- Introduction: https://agentclientprotocol.com/get-started/introduction
- Clients/editors: https://agentclientprotocol.com/get-started/clients
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

