Public URLs for localhost
Give your agent the power of creating secure HTTPS URLs for your apps running on localhost.
Claude Code — ~/acme
>
Set it up in 60 seconds
- 1Add the tunnelto MCP server to your agentAdd the server$
claude mcp add --transport http --scope user tunnelto https://tunnelto.dev/mcpSign in: inside Claude Code, run /mcp, pick tunnelto, then AuthenticateOther agents and one-click installs →>/mcp - 2Tell your agent>It signs you in (creating your account), installs the CLI, and needs permission to run it on the machine where your app runs.
Set up tunnelto for me by following https://tunnelto.dev/AGENTS.md, then test it with a demo app - ✓What you should seeYour agent opens a tunnel to a small demo page and hands back a public URL like https://bold-otter-42.tunn.dev. From then on, just ask: “Give me a public URL for my app on port 3000”
Open sourceStar7.1kCLI releases
Why use a tunnel?
More building. Less "deploy & wait."
- Remote dev serversOpen a devbox port in your laptop's browser.
- OAuth & HTTPSReal HTTPS for OAuth callbacks and secure cookies.
- DemosShare what's on your laptop with a link.
- WebhooksReceive, inspect, and replay webhooks on localhost.
- Mobile appsPoint your phone at your local API.
- HTTPS on every URL
- WebSockets
- Local request inspector
- Forward to any host or port
Built for agents
Connect the tunnelto MCP server and ask your agent for a public URL. It checks your plan, installs and signs in the CLI, opens the tunnel, and hands back the link. You sign in once in the browser, with no access key to copy and paste.
- One sign-inOAuth in the browser; the agent stores the CLI key for you.
- Account awareSees your plan, trial minutes, and reserved subdomains.
- SubdomainsReserves and releases custom subdomains on request.
- Works withClaude Code, Codex, Cursor, VS Code, Grok, and any MCP client over HTTP.
agent
> expose port 3000 with tunnelto
● tunnelto.get_account()
└ free trial · 10 min left
● tunnelto.start_tunnel(port: 3000)
└ returned the command to run
● Bash(tunnelto --port 3000 &)
└ Public tunnel URL: https://bold-otter-42.tunn.dev
● tunnelto.list_tunnels(active_only: true)
└ 1 tunnel connected
The tunnel is up: https://bold-otter-42.tunn.dev → localhost:3000
Set it up with the steps above, or install the skill instead: npx skills add tunneltodev/tunnelto
Pricing
Start free. Upgrade for custom subdomains like <yourapp>.tunn.dev.
Free
$0no card needed
Try it on a generated subdomain.- 10-minute free trial
- Random <name>.tunn.dev subdomain
- HTTPS and WebSockets
- Local request inspector
ProTeams
$4per user / month
Stable URLs for you and your team.- No time limit
- Reserve up to 20 custom subdomains
- Up to 5 active tunnels per user
- Invite teammates, each with their own key
Higher volume? Contact us.