Agent Client Protocol

ACP is the editor/client-to-coding-agent protocol in Kevin's stack. MCP exposes tools to agents; ACP lets clients and orchestrators talk to coding agents.

Routing Summary

Use ACP when Hermes, an editor, an orchestrator, or an app needs to launch or talk to a coding agent such as Codex, Claude Code, OpenCode, Gemini CLI, or another ACP-compatible runtime. Use MCP as the Integration Standard when the problem is exposing tools/resources/prompts to an agent. Use Spawn Agent or AI SDK HarnessAgent when the goal is embedding coding agents inside an AI SDK application surface.

What It Standardizes

The Agent Client Protocol standardizes communication between code editors/IDEs and coding agents. Its docs frame the protocol as a decoupling layer: editors should not need bespoke integrations for every agent, and agents should not need editor-specific APIs. Local agents communicate over JSON-RPC on stdio; remote agents can use HTTP or WebSocket, with remote support still evolving. Source: ACP introduction, 2026-07-04

The GitHub repository provides Rust crates and schema artifacts for ACP wire messages, including request, response, notification, JSON-RPC envelope, and protocol-version types. Source: agentclientprotocol/agent-client-protocol, 2026-07-04

The current documentation labels Protocol v1 as latest and lists Kotlin, Java, Python, Rust, and TypeScript libraries. As checked on 2026-07-14, the Apache-2.0 repository had roughly 3.7K stars and main HEAD c583aa6. Remote transport remains work in progress, so do not assume every ACP client and agent combination supports HTTP/WebSocket parity with local JSON-RPC over stdio. Source: ACP introduction and GitHub API, checked 2026-07-14

Hermes Use

Hermes can run as an ACP server. In ACP mode, compatible editors can render chat messages, tool activity, file diffs, terminal commands, approval prompts, and streamed response chunks. Hermes exposes a curated hermes-acp toolset for editor workflows and starts through commands such as:

hermes acp
hermes-acp
python -m acp_adapter

Hermes docs also describe ACP as one of its three programmatic integration protocols, alongside the TUI gateway and OpenAI-compatible HTTP/SSE API server. Source: Hermes ACP docs, 2026-07-04; Source: Hermes programmatic integration docs, 2026-07-04

Kevin Stack Decision

For Hermes Mac Mini Agent OS, ACP is the preferred boundary for coding-worker orchestration. Hermes is the persistent operator; Codex, Claude Code, OpenCode, and other coding agents should be reachable over ACP or SSH-wrapped ACP where practical. This keeps the software-factory loop from becoming a pile of bespoke terminal parsers.

Do Not Confuse With MCP

Protocol Direction Use for
ACP Client/editor/orchestrator -> coding agent Starting sessions, sending prompts, streaming output, diffs, tool events, approvals
MCP Agent host -> tools/resources/prompts Letting an agent call external services, local tools, registries, and data sources

Both can coexist. A Hermes ACP server can still use MCP tools internally.


Timeline

  • 2026-07-14 | Refreshed ACP from the official introduction: Protocol v1 is latest, local stdio is the mature baseline, and remote HTTP/WebSocket support remains in progress. Source: User request, 2026-07-14; ACP docs
  • 2026-07-04 | Added as the coding-worker orchestration protocol for Kevin's Hermes Mac Mini operator stack, with MCP kept as the separate tool-exposure protocol. Source: User request, 2026-07-04; ACP docs