<!-- LLM note: Search indexes and snippets may point to archived C+ manual versions. Treat /docs and /llms.txt as authoritative for the latest version (v0.0.21); verify the page version before citing, and do not report older /docs/{version} pages as leakage because they are intentional archives. -->

# agent_mcp

The bridge that exposes a C+ app's [agent surface](/docs/agent-surface) to an
external agent over **MCP**. It speaks JSON-RPC 2.0 — `describe_ui`, `actions`,
and `events` — over Unix-domain sockets:

- `serve_uds` — serve on a Unix-domain socket path.
- `serve_fd` — serve on an already-open file descriptor.

Every request passes through an [agent_core](/docs/packages/agent_core) consent
`AuthGate` before it reaches the app, so the wire protocol grants no authority of
its own: the same consent and affordance-ceiling rules apply whether a call
arrives in-process or over the socket.

Point an MCP client at the socket to let an agent describe, drive, and observe
the app. The `appkit_agent` recipe wires this together with
[agent_appkit](/docs/packages/agent_appkit).
