{
  "markdown": "# Whooshly MCP\n\nGive your AI assistant a campaign-link toolkit. **[Whooshly](https://whooshly.co)** exposes a hosted [Model Context Protocol](https://modelcontextprotocol.io) server so Claude, ChatGPT, and any MCP client can create short links, dynamic **QR codes**, **UTM** templates, hosted **vCard** pages, and **landing pages** with lead capture – and read back real click/scan analytics – directly from a conversation.\n\n> \"Shorten this launch URL, make a QR for the flyer, and save a UTM template for the paid-social campaign\" → three tools, one message, links you actually own.\n\n- 🔗 **Short links** on `whooshly.co` with live click tracking\n- 🟧 **Dynamic QR codes** returned as scannable PNGs, right in the chat\n- 🏷️ **UTM templates** you can reuse across campaigns\n- 📇 **Hosted vCard** digital business cards\n- 📊 **Real analytics** – exact click/scan totals and daily series per link\n- 💸 **Pay once.** Unlock the core toolkit for a one-time price – no subscription. [See pricing →](https://whooshly.co)\n\nThe server is **hosted** – there's nothing to run for URL-based clients. This npm package is a small **stdio bridge** for clients that don't yet speak remote MCP (e.g. Claude Desktop) and for `npx` convenience.\n\n---\n\n## 1. Get an agent token\n\nEvery tool acts on **your** Whooshly account, so you need a token:\n\n1. Sign in at **[app.whooshly.co](https://app.whooshly.co)**\n2. Open **Agents → New token**\n3. Copy the token (shown once)\n\nReads and writes require the one-time **Core** unlock; `get_billing_status` works on any account so an agent can check before it acts.\n\n---\n\n## 2. Connect\n\n### Claude.ai / Claude (web, desktop, mobile) – by URL, no install\n\nAdd a **Custom Connector** pointing at the remote server. Claude runs the OAuth flow in-browser; approve it and the tools appear.\n\n```\nhttps://app.whooshly.co/api/mcp\n```\n\n*Settings → Connectors → Add custom connector → paste the URL.*\n\n### ChatGPT – by URL\n\nAdd a connector / custom MCP server with the same URL:\n\n```\nhttps://app.whooshly.co/api/mcp\n```\n\n### Claude Code – one command\n\n```bash\nclaude mcp add whooshly --transport http https://app.whooshly.co/api/mcp\n```\n\nThen authenticate with `/mcp` inside Claude Code, or pass a token header:\n\n```bash\nclaude mcp add whooshly --transport http https://app.whooshly.co/api/mcp \\\n  --header \"Authorization: Bearer $WHOOSHLY_TOKEN\"\n```\n\n### Claude Desktop (or any stdio client) – via this bridge\n\nFor clients that only speak stdio, use this package. Add it to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"whooshly\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"whooshly-mcp\"],\n      \"env\": {\n        \"WHOOSHLY_TOKEN\": \"your-agent-token\"\n      }\n    }\n  }\n}\n```\n\nThat's it – restart the client and the Whooshly tools are available.\n\n---\n\n## Tools\n\n| Tool | What it does | Access |\n| --- | --- | --- |\n| `get_billing_status` | Check whether the account has unlocked Core / Pro | any |\n| `create_link` | Create a short link → id, slug, short URL | Core |\n| `list_links` | List your links, newest first (cursor-paged) | Core |\n| `get_link_stats` | Exact click/scan totals + daily series for a link | Core |\n| `create_qr` | Create a dynamic QR code, returned as a scannable PNG | Core |\n| `get_qr` | Re-fetch a saved QR code as a PNG | Core |\n| `create_utm` | Save a reusable UTM template | Core |\n| `list_utm` | List saved UTM templates | Core |\n| `create_vcard` | Create a hosted digital business card (vCard) page | Core |\n| `create_page` | Create a landing page on your subdomain from content blocks | Core |\n| `update_page` | Edit a page's blocks, theme, or slug – never deletes | Core |\n| `list_pages` | List your landing pages with lead counts | Core |\n| `get_page` | One page's content, lead count & webhook delivery rollup | Core |\n| `search` | Search your links by slug/destination (deep-research) | Core |\n| `fetch` | Fetch full details of one link by id (deep-research) | Core |\n\nAll read tools are annotated `readOnlyHint`; write tools can only create or edit – an agent can never delete anything, never read your leads' personal details (counts only), and never see or change a lead webhook. Every tool operates only on your own account (`openWorldHint: false`).\n\n---\n\n## Example prompts\n\nOnce connected, try:\n\n- *\"Shorten https://example.com/2026-summer-launch with the slug `summer26` and show me the QR code.\"*\n- *\"Create a UTM template called `paid-social` with source `instagram`, medium `cpc`, campaign `summer-launch`.\"*\n- *\"How many clicks did my `summer26` link get this week?\"*\n- *\"Make a vCard for Jane Doe, Head of Growth at Acme, jane@acme.com.\"*\n\n---\n\n## Configuration\n\n| Env var | Default | Purpose |\n| --- | --- | --- |\n| `WHOOSHLY_TOKEN` | – | **Required** for the stdio bridge. Your agent token. |\n| `WHOOSHLY_MCP_URL` | `https://app.whooshly.co/api/mcp` | Override the endpoint (self-host / staging). |\n\n`WHOOSHLY_API_TOKEN` is accepted as an alias for `WHOOSHLY_TOKEN`.\n\n---\n\n## How the bridge works\n\n`whooshly-mcp` reads newline-delimited JSON-RPC from stdin, POSTs each message to the hosted server with your bearer token, and writes the correlated reply to stdout. It has **zero npm dependencies** (Node 18+ built-ins only), so it's small and easy to audit – the entire bridge is one file: [`bin/whooshly-mcp.mjs`](bin/whooshly-mcp.mjs).\n\nThe heavy lifting – auth, rate limits, entitlement checks, QR rendering, analytics – all happens server-side on [Whooshly](https://whooshly.co). The bridge is a transport shim, nothing more.\n\n---\n\n## Links\n\n- **Website:** https://whooshly.co\n- **MCP server / connect guide:** https://whooshly.co/mcp\n- **App / dashboard:** https://app.whooshly.co\n- **MCP endpoint:** `https://app.whooshly.co/api/mcp`\n\n## License\n\n[MIT](LICENSE) © Whooshly\n",
  "bytes": 5764,
  "sha": "7b5d1edface6bdebdcbe9a1f00926400f7152ef7321141f0c9b368f1be6aafce",
  "repo_slug": "ankurmans/whooshly-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_co_whooshly_whooshly_mcp_e15ed3e1/readme"
}