Skip to content

Quickstart

This walks you from nothing to a public MCP endpoint in about a minute.

  1. Install the CLI.

    Terminal window
    curl --proto '=https' --tlsv1.2 -LsSf https://mcppipe.sh | sh

    Other options — Scoop, MSI — are on the Install page.

  2. Create a tunnel in the dashboard.

    Sign in, click New tunnel, and optionally type a subdomain (leave it blank for a random name). The preview shows the public host you’ll get: <subdomain>--<account-slug>.mcppipe.dev.

    The New tunnel dialog with a subdomain field and host preview The create dialog previews your public host as you type the subdomain.

    On Create tunnel, the dialog reveals a CLI key (mtk_…) — this is the value you pass to --api-key (or MCPPIPE_API_KEY) in the next step. Copy it now, it is shown only once. If you lose it, rotate the key from the tunnel’s Settings tab (the old key dies immediately).

    The success state showing the one-time mtk_ key and a copy button The mtk_ key is shown once on creation; copy it before closing.

  3. Start the tunnel. Point the CLI at a local MCP server:

    Terminal window
    mcppipe up --api-key mtk_xxx --upstream http://127.0.0.1:3000

    --upstream and --stdio are mutually exclusive for a single upstream. To put several MCP servers behind one tunnel, repeat them with name= prefixes or use --upstreams-file — see Multi-upstream aggregation.

    The key can also come from the MCPPIPE_API_KEY environment variable instead of --api-key. The first line the CLI prints is a telemetry notice; pass --no-telemetry to opt out of crash reporting. Full flag list: CLI reference.

  4. Connect your agent. Once connected, the CLI prints your public URL and a ready-to-paste config snippet:

    {
    "mcpServers": {
    "mcppipe": {
    "url": "https://<subdomain>--<account-slug>.mcppipe.dev/mcp"
    }
    }
    }

    Drop that block into your remote MCP client’s config (Claude, Cursor, Windsurf, Cline all accept it verbatim). VS Code wraps the same entry under "mcp": { "servers": { ... } }. The endpoint speaks Streamable HTTP at the /mcp path with no interstitial — the client connects directly.

A new account shows an onboarding checklist on the dashboard home with two ticks, both derived from live state:

  1. Create your first tunnel — flips once you have a tunnel.
  2. Connect the CLI — flips the first time a CLI connects to it.

The banner pre-fills the run command with your real subdomain and auto-hides when both ticks are green. There is no “dismiss” — it mirrors observable state, so it returns if you later delete every tunnel.

Dashboard home with the two-step onboarding checklist The onboarding banner: it disappears once both steps are done.

  • A stable subdomain — your tunnel is always reachable at https://<subdomain>--<account-slug>.mcppipe.dev/mcp, and it does not change between runs. The subdomain stays editable in Settings.
  • Reconnect that does not lose work — if the network blips, the CLI resumes the session and mcppipe replays in-flight requests. See Reliability.
  • Live traffic in the dashboard — open the tunnel’s Live tab and watch every JSON-RPC call as it happens; the Inspector tab keeps history. See Live traffic & Inspector.