caddy-mcp is a Caddy plugin for exposing MCP servers that live on private networks. The private box dials out to Caddy over QUIC, Caddy serves it as a normal HTTPS endpoint. No inbound ports, no third party in the request path. Public Internet | v +--------------------+ | Caddy :443 | TLS, routing, middleware | reverse_proxy | +--------+-----------+ | v +--------------------+ | caddy-mcp plugin | QUIC listener :4443 | tunnel registry | token store | policy engine | MCP-aware ACLs | audit logger | structured logging +--------+-----------+ | | QUIC connection (TLS 1.3, multiplexed streams) v +--------------------+ | rift client | runs on private network | --protocol mcp | dials out — no inbound ports +--------+-----------+ | v +--------------------+ | MCP server | tools, resources, prompts | localhost:9090 | +--------------------+ Enter fullscreen mode Exit fullscreen mode The dial-out side runs rift with --protocol mcp . Two modes per tunnel: Transparent — Caddy forwards bytes untouched.…