ZIPPY DOCS

MCP server

Connect Zippy to Claude, Cursor or any MCP client and make links, check your app-open rate, compare A/B variants and edit your bio page by just asking. Official server, zip_ key auth, one workspace per key.

Drive Zippy from your AI assistant

Zippy has an official MCP server. Connect it and your assistant can do the Zippy things you'd otherwise open the dashboard for:

"Make me a Zippy link for this TikTok, tag it q3-launch, and tell me if people are actually opening the app."

MCP (Model Context Protocol) is the standard way an AI client talks to an outside tool. Claude Desktop, Claude Code and Cursor all speak it, and so does the Zippy server.

Not installable yet — we haven't published it

The server is built and working, but it is not on npm and this page will not pretend otherwise. npx @zippy/mcp resolves to nothing today. When we publish the package this page gets the one-line install below and this box goes away. Everything else here — the tools, the honesty rules, the key scoping — describes the server as it actually behaves right now.

How will I connect Zippy to Claude?

1. Get a key. In the dashboard, Settings → API keys → New key. Copy it — Zippy shows it exactly once. The API is a Legend power, so the key needs a Legend workspace.

2. Add the server to your client's MCP config. In Claude Desktop that's claude_desktop_config.json; in Cursor, .cursor/mcp.json. Same shape either way — this is the config once the package is published, not something that works today:

{
  "mcpServers": {
    "zippy": {
      "command": "npx",
      "args": ["-y", "@zippy/mcp"],
      "env": {
        "ZIPPY_API_KEY": "zip_your_key_here",
        "ZIPPY_API_URL": "https://api.zipthe.link"
      }
    }
  }
}

3. Restart the client and ask it something. Start with "check my Zippy account" — that runs zippy_whoami and tells you the key works and which plan it's on. If anything is wrong, that's the tool that says so in plain language.

Want to be told the day it lands? The changelog gets the entry, and the config above is the whole install.

What can it actually do?

Eleven tools, picked for what people actually ask an assistant — not a wrapper around every endpoint.

Ask for…ToolWhat it does
"Check my Zippy account"zippy_whoamiConfirms the key works, reports the workspace, plan and unlocked features.
"Make me a link for this"zippy_create_linkCreates a link. Optional slug, tags, folder, UTMs, routing, A/B, scheduling, password, pixels.
"What links do I have?"zippy_list_linksLists links newest-first. Filter by tag or folder.
"Point that link somewhere else"zippy_update_linkLiving links — change the destination after the post is live, without changing the short URL.
"Is my link working?"zippy_app_open_statsThe app-open split: opened / browser / broken.
"Which variant is winning?"zippy_ab_variantsPer-variant clicks and app-open rate — so a destination can win clicks and lose app opens.
"Show me my bio page"zippy_get_bio_pageThe page, its settings and its ordered blocks.
"Change my bio"zippy_update_bio_pageHandle, title, bio text, avatar, published on/off.
"Add a button to my bio page"zippy_set_bio_blocksReplaces the whole block list — add, edit, reorder, remove in one write. Needs confirmation.
"Which bio link is doing best?"zippy_bio_block_statsApp-open rate per block.
"Archive that old link"zippy_archive_linkHides it and frees a plan slot. Needs confirmation. The link keeps redirecting.

The numbers your assistant quotes are estimates

App-open rates come from a sampled analytics pipeline, and every tool that returns one says so in its own description — so your assistant is told, before it answers, to report whole-number rates and trends rather than exact counts or decimals.

Two things it's specifically instructed not to do:

  • Never report 0% when nothing has been measured. A link with no data comes back as null, and the honest answer is "no data yet".
  • Never call an A/B winner on a decimal. Two variants a point apart inside a sampled dataset are a tie.

If your assistant ever quotes you a suspiciously precise app-open figure, it's embellishing — the tool didn't give it one.

What it can't do

It can't break a link. There is no tool here — and no endpoint on the API behind it — that stops a published Zippy link from redirecting. zippy_archive_link frees a slot against your plan's link cap and hides the link from your list; the link keeps working forever. That's permanence, and it's not overridable by anything, including you.

It can't act outside your workspace. See below.

It can't do the destructive things without asking. The two tools that overwrite or hide something — zippy_set_bio_blocks and zippy_archive_link — refuse to run unless your assistant passes an explicit confirmation, so it has to check with you first. No request is sent to Zippy at all when that confirmation is missing.

How the key is scoped

The MCP server sends one credential: your zip_ key, as a bearer token. Everything about what it can reach follows from that.

  • One key, one workspace. Zippy resolves the key server-side to exactly the workspace it was minted in, and every query is scoped to that workspace. No tool takes a workspace, org or account argument — there's no argument to set, so there's nothing to aim somewhere else. A link belonging to someone else reads as a 404, not a 403.
  • Your plan is re-checked on every single call. Not at connect time. Downgrade, and the next tool call is already gated.
  • Revoking a key takes effect on the next call. Revoke it in the dashboard and the assistant loses access immediately — no restart, no waiting.
  • Cookies are never sent, and never accepted. Being signed in to Zippy in your browser grants the MCP server exactly nothing.
  • The key lives in your MCP client's config, on your machine. Zippy never sees your client. Treat that config file like any other file holding a credential, and mint a separate key for your assistant so you can revoke it on its own.
  • Rate limit: 120 calls a minute per key, shared with any other automation using it.

The server itself has zero runtime dependencies — it's the protocol, fetch, and the tool list. That's on purpose: it runs on your laptop next to your API key, and every dependency would be supply-chain surface on that credential.

On this page