tunnels.io

io.github.tunnels-ioPublished by GitHub account tunnels-iov0.0.2Updated Oct 24, 2026

Read a tunnels.io account and put local ports online. Lists only the tools the token was granted.

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

Read a tunnels.io account (tunnels, usage, tokens, invoices, domains, notifications, cloud apps) and start or stop local port tunnels.

What you can do
  • List tunnels and read usage and metrics for them
  • Read account details, API tokens, invoices, registered domains, notifications and cloud apps
  • Start a tunnel for a local port over HTTP (served as HTTPS on the public URL) or TCP
  • Stop a running tunnel
  • Only the tools allowed by the token's permissions are listed, so the tool set varies per token
When to use it
Useful when you want an assistant to check tunnels.io account state, usage or billing data, or to expose a local development port publicly and shut it down again without leaving the chat.
Requirements
Runs as a local process (binary, Go install, or MCP bundle for clients like Claude Desktop). Requires a tunnels.io token starting with tnl_ in TUNNELS_TOKEN, created on the account tokens page with the permissions you want. The tunnels CLI must be on PATH (or set via TUNNELS_CLI) for start_tunnel and stop_tunnel. Optional TUNNELS_API and TUNNELS_INSPECT. Network access to tunnels.io.
Before you install
The token is a credential granting account access; scope it to the permissions you need, since an older all-access token cannot reach billing, domains or cloud apps. start_tunnel and stop_tunnel change live state by shelling out to the tunnels CLI and can expose a local port publicly. The server contacts tunnels.io only, and error bodies are redacted.

Installation

In SourceWeft

  1. Open tunnels.io in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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/[email protected]

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.

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.ioTUNNELS_CLI       default "tunnels" on PATHTUNNELS_INSPECT   unset. The CLI inspector is off; set an address to enable it.

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

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

The environment wins.

Client setup

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

Tools

ToolPermission
list_tunnelstunnels:read
get_usageusage:read
get_metricsusage:read
get_accountaccount:read
list_tokenstokens:read
list_invoicesbilling:read
list_domainsregistrar:read
list_notificationsnotifications:read
list_cloud_appscloud:read
start_tunnelnone
stop_tunnelnone

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 checkmake 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.

Source: README.md at commit 901a1be

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.0.2LatestSep 22, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts