localhost dev server directly. The tunnel solves this: a separate local MCP server (subtext-tunnel) runs on your machine, bridges the hosted browser to your local server, and hands your agent a relay URL it can pass to live-connect.
How the tunnel works
When you start a tunnel,subtext-tunnel opens a reverse connection from your machine to Subtext’s relay infrastructure. The hosted browser then reaches your local dev server through that relay — no firewall changes, no public IP required. Your agent calls tunnel-connect from the local side and live-tunnel from the hosted browser side to get the relay URL.
subtext-tunnel is a separate MCP server from the main Subtext MCP. It runs entirely on your local machine. Add it as a second entry in your MCP config — do not replace your existing Subtext entry with it.Add subtext-tunnel to your MCP config
Add the following entry alongside your existing Subtext MCP server configuration:
subtext server and one for subtext-tunnel.
Tunnel tools
Connect your agent to localhost
1
Add subtext-tunnel to your MCP config
Add the
subtext-tunnel entry shown above to your MCP configuration file. Restart your agent or MCP host to pick up the new server.2
Start your local dev server
Run your development server as usual — for example,
npm run dev on port 3000. Confirm it is reachable at http://localhost:3000 before proceeding.3
Open a tunnel from the local side
Ask your agent to call This establishes the reverse connection from your machine to the relay.
tunnel-connect with your local server URL:4
Get the relay URL on the hosted browser side
Ask your agent to call
live-tunnel on the hosted browser side. It returns the relay URL that the cloud browser can reach.5
Open your app in the hosted browser
Pass the relay URL to
live-connect. The hosted browser navigates to your local app through the tunnel, and your agent can interact with it just like any other live session.
