openspec/changes/add-mcp-2026-server-handlerupgrade-mcp-2026-07-28 (client, PR #142)#142 shipped the 2026-07-28 client and wrote the server contract against serve(addr, {mcp}) with a one-line
auth block, deferring the build to "a follow-up on #140's MCPHandler". #140 meanwhile made the handler the place
hosts mount MCP, with every policy as a plain hook, and refused 2026-07-28 until its wire existed.
protocolVersions. No new handler type, no
default change, no breaking change; both wires can share one mount (routing pinned in SPEC §7C.2).input_required rounds; requestState is unsigned (beforeCall re-runs every round).MCPServerAuth.authenticate + metadata()), not handler
configuration. The handler only learns MCPAuthError {status, challenge}. Tenancy, token issuance and storage
stay the host's.listSkills hook (data), with loadMcpSkills(dir) for the common case.internal/devauth)
and is not exported. A server that approves everyone is not something a library should let a host import;
hosts bring their own AS and MCPServerAuth verifies its tokens.serve(addr, {mcp}) is not switched to 2026 here. #142 marks that switch BREAKING; it needs an owner call.interop/mcp2026/run.sh)."*" scopes are enforced.serve-shaped target from #142) and §7C.2 describe the same wire; when #142 and this
change both merge, §7C should point serve at §7C.2 once the owner decides the serve switch.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |