Skip to content

FAQ

A reverse tunnel for Model Context Protocol servers. You run a small CLI next to a local MCP server; it opens an outbound WebSocket to a hosted control plane, and remote AI agents reach your server through a stable public URL over Streamable HTTP.

How is it different from ngrok or Cloudflare Tunnel?

Section titled “How is it different from ngrok or Cloudflare Tunnel?”

Generic tunnels move bytes. mcppipe understands the protocol inside them:

  • It parses JSON-RPC, so the dashboard can live-tail MCP traffic — method, tool name, arguments, latency, status — instead of opaque packets. See Live traffic & Inspector.
  • It bridges stdio MCP servers (npx, python, …), not just HTTP ones — that covers the majority of MCP servers that exist today.
  • Its reconnect logic is built for long-lived agent sessions: a session-resume buffer replays in-flight requests so a network blip does not silently drop a tool call. See Reliability: reconnect & sessions.
  • It adds MCP-native controls a byte tunnel can’t: an allow/deny tool policy, per-method rate limits, and tool pinning with rug-pull detection.
  • It is vendor-neutral — one tunnel, every agent. The same public URL answers Claude, ChatGPT, Cursor and any other MCP client at once. The single-vendor tunnels the model providers shipped in 2026 (Anthropic MCP Tunnels, OpenAI Secure MCP Tunnel) each serve only their own agent by design. See Client compatibility.
  • It promises zero interstitial / clean URLs — no anti-phishing warning page injected on any tier (including Free), and no special header to bypass one. Clients (and curl) get your MCP server’s response verbatim, so demos never break on a “Visit Site” click-through the way ngrok’s free tier does.
  • Servers: any MCP server that speaks Streamable HTTP (point --upstream at it) or stdio (spawn it with --stdio). You can also put several servers behind one tunnel.
  • Clients: any MCP-capable agent that can reach an HTTP endpoint — Claude, Cursor, Windsurf, ChatGPT, and others. The CLI prints a config snippet you paste into the client.

All of them — that is the point of being vendor-neutral. Claude (Desktop, web, Managed Agents), ChatGPT connectors, Cursor, Windsurf, VS Code, Cline, Continue.dev and Zed all connect over Streamable HTTP to the same URL. The Client compatibility page has the full matrix with the transport, config snippet and IP preset for each, and notes which clients we exercise end-to-end with the official MCP SDK.

Each tunnel answers at https://<subdomain>--<account-slug>.<zone>/mcp — for example https://api--acme.mcppipe.dev/mcp. The account slug namespaces your subdomains, so two accounts can both use api without colliding. The MCP endpoint path is always /mcp. If you wire up a custom domain, the tunnel also answers on your own FQDN.

Can several agents use one tunnel at the same time?

Section titled “Can several agents use one tunnel at the same time?”

Yes. A single tunnel accepts multiple concurrent agent sessions — you do not need one tunnel per client. Each plan caps how many sessions a tunnel may hold at once: Free 3, Pro 10, Scale 25. When the cap is reached mcppipe returns an honest session_limit error to the newest connection rather than silently displacing an existing one. See Reliability: reconnect & sessions and Billing & plans.

Do I need to open a port or configure my router?

Section titled “Do I need to open a port or configure my router?”

No. The CLI makes a single outbound connection. Nothing listens for inbound traffic on your machine.

By default, yes — that is what powers the dashboard. For each request that gets a response, mcppipe records a traffic event: method, tool name, the request payload, latency and status code. The Live tab streams these in real time and the Inspector tab keeps searchable history. See Live traffic & Inspector.

You control what is stored, per tunnel, in Settings — see Privacy: redaction & zero-knowledge:

  • Field-level redaction masks (***) or drops specific arguments/results (by tool and JSON pointer) before anything is recorded. The upstream still receives the real value on the wire; only the stored copy is redacted.
  • Privacy mode stores { "_redacted": true } in place of the body while still recording the metadata (method, tool, latency, status).
  • Zero-knowledge mode turns mcppipe into a pure byte router for a tunnel: no JSON-RPC parsing, no traffic events, no tool policy, no rate limits, no pinning — the service never reads your payload. Only by-bytes billing remains. It is available on every tier.

There are two independent layers you can stack, both per tunnel in Settings:

  • OAuth 2.1 vs. the CLI key. Every tunnel is keyed to your account by its CLI key — that is what authorizes the CLI to connect. It does not gate agent requests on its own. To require callers to present a token, switch the tunnel’s auth mode to OAuth: mcppipe then validates a Bearer JWT (signature against the issuer’s JWKS, expiry, issuer, and the audience bound to the tunnel’s host), and a missing or invalid token earns a 401 with an RFC 9728 metadata pointer. Headless agents use long-lived Service Tokens instead of the browser consent flow. See Authentication: OAuth & Service Tokens.
  • IP allowlist. A per-tunnel CIDR allowlist, enforced before auth and quota, with one-click vendor presets (Anthropic / OpenAI / Google) and a Multi-LLM union preset. See IP allowlist & access control.

Yes. A tunnel keeps the same subdomain across CLI restarts and reconnects, so the config you paste into an agent does not go stale. You can rename the subdomain (or your account slug) in Settings if you choose to.

The CLI reconnects automatically and resumes the same session. mcppipe replays the frames that were buffered while you were gone, so work in progress is not lost. See Reliability: reconnect & sessions and Troubleshooting.

No — mcppipe is a proprietary, fully managed service; you connect your own MCP server to it with the CLI, but you do not self-host mcppipe.

There is a free tier; paid Pro ($12/month) and Scale ($39/month) plans raise the limits, and Pro adds custom domains. Billing runs through Paddle as Merchant of Record. The plans, quotas and prices are on the Billing & plans page.

The CLI checks for new releases in the background and tells you when one is out. Upgrade with your package manager (brew upgrade, scoop update) or by re-running the install script — see Install. You can suppress the background check with --no-update-check; see the CLI reference.