# Compact MCP routing

Interactive `cse-tools` MCP defaults to the full plane at `http://127.0.0.1:9901/mcp/full`. It advertises named operations plus the five facade tools: `cse_capabilities`, `cse_read`, `cse_apply`, `context_assemble`, and `cse_session_info`. Facade-only clients may use the compact compatibility plane at `http://127.0.0.1:9901/mcp`.

- On `/mcp/full`, call named reads directly or route capability ids through `cse_read({ "capability": "<name>", "arguments": { ... } })`. On compact `/mcp`, named operations are capability ids rather than top-level tools, so route reads through `cse_read`.
- Writes remain two-phase on the full plane through each named tool's per-tool guard, or through `cse_apply` when using a facade. For `cse_apply`, outer `execute: true` and a justification of at least 16 trimmed characters are required on every call (there is no outer dry-run). Preview first by omitting underlying `arguments.execute` so the named write dry-runs and returns `preview_digest`. Apply by repeating the capability and mutation args with underlying `arguments.execute: true`, the returned `arguments.preview_digest`, outer `execute: true`, and justification. Property writes (`jira_property` set/delete) are digest-gated the same way. A stale or mismatched digest is rejected.
- Dual-mode Confluence and Sheets tools follow the same dry-run, digest, execute flow through `cse_apply`.
- Use `cse_capabilities` when a capability name or schema is genuinely unknown.
- Call `context_assemble` and `cse_session_info` directly. Call `cse_session_info` only after an auth/readiness failure or for an explicit health check.
- Fire independent reads in one parallel tool turn.
- `sessiondebug` is not an MCP tool; use the operator-only control route on `127.0.0.1:9900/sessiondebug`.

## Compact compatibility plane

`http://127.0.0.1:9901/mcp` advertises only the five facades. It remains valid for facade-only compatibility clients, while interactive runtime configs use `/mcp/full` by default.
