Skip to main content
Glama

tunnels-mcp

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.

Install

Download a binary for your platform from the releases page, or build it:

go install github.com/tunnels-io/tunnels-mcp/cmd/tunnels-mcp@v0.0.2

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.

Related MCP server: depot-mcp

Token

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.

TUNNELS_TOKEN     required, starts tnl_
TUNNELS_API       default https://tunnels.io
TUNNELS_CLI       default "tunnels" on PATH
TUNNELS_INSPECT   unset. The CLI inspector is off; set an address to enable it.

A config file works too, at ~/.config/tunnels/mcp.json:

{ "token": "tnl_..." }

The environment wins.

Client setup

{
  "mcpServers": {
    "tunnels": {
      "command": "tunnels-mcp",
      "env": { "TUNNELS_TOKEN": "tnl_..." }
    }
  }
}

Tools

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.

Token handling

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.

Build

make check
make build

No dependencies.

Release

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:

make release V=0.0.2

Licence

MIT. See LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables assistants to securely work on a Chest via personal access token: reading tool logs, builds, and databases, editing rows and variables, and installing or linking tools, with every write requiring a dry run and human confirmation.
    7 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only inspection of Depot CI failures, job logs, GitHub Actions jobs on Depot runners, and container builds through the Depot API, so agents can diagnose issues without installing the Depot CLI.
    76 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to create projects, deploy files, container images, or Git repositories, attach domains, set write-only secrets, add Postgres, read logs, metrics, and failure summaries, and roll back.
    15 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Gives AI assistants read access to MDRN's workspaces, projects, products, builds, releases, deployments and logs, plus safe write actions such as deploying a connected repository, rolling back, toggling products and managing service variables and services.
    174 npm
    MIT