MCP worked examples
Real commands and the engine's own messages, verbatim.
Real commands and the engine's own messages, verbatim.
Start, foreground
The banner is keyed to the address actually bound, never a hostname guess — and a loopback bind says plainly that its install line is useless to other machines, with the ready alternative.
Widening the bind must name the host:
Local MCP client over stdio
No listener, no pidfile — the client owns the process lifetime, the operator scope is unrestricted (local trust), paths are unredacted, and the access log goes to stderr because stdout is the wire.
Registering in Claude Code (HTTP variant, against a running listener):
Detached, and reached from outside for an evaluation
⚠ This is the evaluation path, not a production exposure — see Transports for what a quick tunnel does not give you.
The confirmation prints only after the readiness handshake — never a fork-and-lie.
Every route the tunnel forwards is still bearer-gated; the self-issued /authorize and
/token refuse over the forwarded hop — mint credentials locally or use an external IdP.
Discovery and the 401 challenge
returns the RFC 9728 metadata: the canonical resource, the authorization server(s), and
scopes_supported: stream-state, cost-data, offline_access. An unauthenticated call
to the resource:
The challenge names exactly one resource_metadata, and that URL answers 200 — the two
properties clients demonstrably break on.
Reading the fleet, within budget
With a valid bearer token:
A defaulted-horizon response carries horizon_note naming the narrowing and the escape
hatch (horizon:"all"); a truncated response carries next_after for the follow-up call
and keeps isError: false. Ask for too much and the refusal names the fix: