docs(runtime-mcp): document MCP 2024-11-05 spec compliance
Adds a "MCP spec compliance" subsection to runtime-mcp.mdx that: - Lists which MCP methods the wheel implements + how - Notes the wheel speaks protocol version 2024-11-05 with only the `tools` capability (no streaming, no logging) - Clarifies that notifications/claude/channel is the only non-spec method emitted, and that clients which don't handle it discard per JSON-RPC semantics - States explicitly that any spec-compliant MCP client can drive the wheel (Claude Code, Cursor, Cline, OpenCode, hermes-agent, or anything else that opens MCP stdio) This is the deliverable for verifying cross-client compatibility. The wheel uses no client-specific behavior, so the verification reduces to "does your client speak MCP 2024-11-05?" — which all the listed clients do. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
7df9bb6631
commit
798294b62a
@ -182,6 +182,30 @@ wheel works for both push-capable and poll-only runtimes. There is no
|
||||
config flag to toggle: pollers keep polling, notification-capable hosts
|
||||
get push automatically.
|
||||
|
||||
### MCP spec compliance
|
||||
|
||||
The wheel speaks MCP protocol version **2024-11-05** over stdio
|
||||
JSON-RPC, declaring only the `tools` capability. It implements the
|
||||
standard request methods and nothing client-specific:
|
||||
|
||||
| MCP method | Behavior |
|
||||
|---|---|
|
||||
| `initialize` | Echoes `protocolVersion: "2024-11-05"`, `serverInfo`, declares `tools` capability |
|
||||
| `notifications/initialized` | No-op (no response — per spec) |
|
||||
| `tools/list` | Returns all exposed tools in one response (no pagination cursor — surface is small) |
|
||||
| `tools/call` | Dispatches by name, returns `content: [{ type: "text", text: ... }]` |
|
||||
| _(unknown method)_ | Returns JSON-RPC error code `-32601` (Method not found) |
|
||||
|
||||
The push-UX notification (`notifications/claude/channel`) is the only
|
||||
non-standard method emitted, and it's a one-way notification — clients
|
||||
that don't handle it discard it per JSON-RPC semantics. No part of the
|
||||
wheel's tool surface depends on a client recognizing it.
|
||||
|
||||
This means **any spec-compliant MCP client** can drive the wheel:
|
||||
Claude Code, Cursor, Cline, OpenCode, hermes-agent, or anything else
|
||||
that opens an MCP stdio connection. If your client speaks MCP, it
|
||||
speaks the wheel.
|
||||
|
||||
## Heartbeat & lifecycle
|
||||
|
||||
The wheel spawns a daemon thread that POSTs `/registry/heartbeat` every
|
||||
|
||||
Loading…
Reference in New Issue
Block a user