car-mcp 0.18.0

MCP (Model Context Protocol) server library — transport-agnostic dispatch for exposing CAR capabilities. Used by car-mcp-server (stdio binary) and car-server (HTTP-streamable daemon endpoint).
Documentation

MCP (Model Context Protocol) server library — transport-agnostic dispatch for exposing CAR capabilities to MCP-aware clients.

Two transports use this crate today:

  • stdiocar-mcp-server binary, one client per process. Suitable for Claude Desktop / Cursor / Claude Code's --mcp-config and any other client that follows the MCP spec's stdio framing. See [transport::stdio_loop].
  • HTTP-streamablecar-server daemon endpoint, many concurrent clients sharing the same Runtime / policy chain / eventlog. Implemented in car-server-core against the same [Server::handle] entry point. (Phase 2 stage 4b — pending.)

Both share the same Server::handle(Request) -> Option<Response> pure function, so transports stay separable from protocol logic.

Why a library crate

Originally this lived in car-mcp-server's main.rs as a self-contained binary. v0.8 + the external-agent work made it clear MCP needs to be a first-class daemon surface so every external client (Claude Code, Codex, Gemini, custom GPTs) gets CAR's tools through the same governance layer. Extracting the dispatch logic into a library lets the daemon embed it without shelling out to a subprocess. See docs/proposals/external-agent-detection.md (Phase 2 stage 4b).