The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Tunnels.io listing page.
MCP server for tunnels.io.
It runs locally, holds one CLI token, and gives an assistant read access to the account. It can also open a tunnel.
Download a binary for your platform from the releases page, or build it:
Clients that take MCP bundles, such as Claude Desktop, can install
tunnels-mcp-<version>.mcpb from the same page. It asks for the token.
The server is listed in the MCP Registry as io.github.tunnels-io/tunnels-mcp.
Create one at tunnels.io/account/tokens. Tick the permissions you want.
Skipping a permission is not a broken tool. The server reads the token's permissions at startup and lists only the tools that work.
An older all-access token (*) works for everything except billing, domains
and cloud apps. Those three services refuse *, so the server does not list
their tools for such a token. Make a token on the page above to reach them.
A config file works too, at ~/.config/tunnels/mcp.json:
The environment wins.
| Tool | Permission |
|---|---|
list_tunnels | tunnels:read |
get_usage | usage:read |
get_metrics | usage:read |
get_account | account:read |
list_tokens | tokens:read |
list_invoices | billing:read |
list_domains | registrar:read |
list_notifications | notifications:read |
list_cloud_apps | cloud:read |
start_tunnel | none |
stop_tunnel | none |
Reads only, apart from the last two. Those shell out to the tunnels CLI, which
must be on PATH. No tool changes a plan, buys a domain or deploys anything.
start_tunnel takes http (the default, served as HTTPS on the public URL) or
tcp.
The token goes to tunnels.io in a Bearer header, and to the CLI through the environment. Never a command line. Never a log. Never a tool result.
Error bodies are redacted before they are shown.
The server contacts tunnels.io and nothing else.
No dependencies.
Push a tag such as v0.0.2. The release workflow builds six binaries and
the MCPB bundle, creates the GitHub release, and publishes server.json to the
MCP Registry. To build the same files locally, on macOS:
MIT. See LICENSE.