# whooshly-mcp [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/ankurmans/whooshly-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/whooshly-mcp

## Description
Create short links, QR codes, UTM templates, and vCards from your AI assistant.

## Tools
Capabilities this server exposes over MCP:

- **get_billing_status** — Check whether the account has unlocked Core / Pro
- **create_link** — Create a short link → id, slug, short URL
- **list_links** — List your links, newest first (cursor-paged)
- **get_link_stats** — Exact click/scan totals + daily series for a link
- **create_qr** — Create a dynamic QR code, returned as a scannable PNG
- **get_qr** — Re-fetch a saved QR code as a PNG
- **create_utm** — Save a reusable UTM template
- **list_utm** — List saved UTM templates
- **create_vcard** — Create a hosted digital business card (vCard) page
- **create_page** — Create a landing page on your subdomain from content blocks
- **update_page** — Edit a page's blocks, theme, or slug – never deletes
- **list_pages** — List your landing pages with lead counts
- **get_page** — One page's content, lead count & webhook delivery rollup
- **search** — Search your links by slug/destination (deep-research)
- **fetch** — Fetch full details of one link by id (deep-research)

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "whooshly-mcp": {
    "command": "npx",
    "args": ["-y","whooshly-mcp"]
  }
}
```

## Documentation & README

# Whooshly MCP

Give 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.

> "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.

- 🔗 **Short links** on `whooshly.co` with live click tracking
- 🟧 **Dynamic QR codes** returned as scannable PNGs, right in the chat
- 🏷️ **UTM templates** you can reuse across campaigns
- 📇 **Hosted vCard** digital business cards
- 📊 **Real analytics** – exact click/scan totals and daily series per link
- 💸 **Pay once.** Unlock the core toolkit for a one-time price – no subscription. [See pricing →](https://whooshly.co)

The 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.

---

## 1. Get an agent token

Every tool acts on **your** Whooshly account, so you need a token:

1. Sign in at **[app.whooshly.co](https://app.whooshly.co)**
2. Open **Agents → New token**
3. Copy the token (shown once)

Reads and writes require the one-time **Core** unlock; `get_billing_status` works on any account so an agent can check before it acts.

---

## 2. Connect

### Claude.ai / Claude (web, desktop, mobile) – by URL, no install

Add a **Custom Connector** pointing at the remote server. Claude runs the OAuth flow in-browser; approve it and the tools appear.

```
https://app.whooshly.co/api/mcp
```

*Settings → Connectors → Add custom connector → paste the URL.*

### ChatGPT – by URL

Add a connector / custom MCP server with the same URL:

```
https://app.whooshly.co/api/mcp
```

### Claude Code – one command

```bash
claude mcp add whooshly --transport http https://app.whooshly.co/api/mcp
```

Then authenticate with `/mcp` inside Claude Code, or pass a token header:

```bash
claude mcp add whooshly --transport http https://app.whooshly.co/api/mcp \
  --header "Authorization: Bearer $WHOOSHLY_TOKEN"
```

### Claude Desktop (or any stdio client) – via this bridge

For clients that only speak stdio, use this package. Add it to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "whooshly": {
      "command": "npx",
      "args": ["-y", "whooshly-mcp"],
      "env": {
        "WHOOSHLY_TOKEN": "your-agent-token"
      }
    }
  }
}
```

That's it – restart the client and the Whooshly tools are available.

---

## Tools

| Tool | What it does | Access |
| --- | --- | --- |
| `get_billing_status` | Check whether the account has unlocked Core / Pro | any |
| `create_link` | Create a short link → id, slug, short URL | Core |
| `list_links` | List your links, newest first (cursor-paged) | Core |
| `get_link_stats` | Exact click/scan totals + daily series for a link | Core |
| `create_qr` | Create a dynamic QR code, returned as a scannable PNG | Core |
| `get_qr` | Re-fetch a saved QR code as a PNG | Core |
| `create_utm` | Save a reusable UTM template | Core |
| `list_utm` | List saved UTM templates | Core |
| `create_vcard` | Create a hosted digital business card (vCard) page | Core |
| `create_page` | Create a landing page on your subdomain from content blocks | Core |
| `update_page` | Edit a page's blocks, theme, or slug – never deletes | Core |
| `list_pages` | List your landing pages with lead counts | Core |
| `get_page` | One page's content, lead count & webhook delivery rollup | Core |
| `search` | Search your links by slug/destination (deep-research) | Core |
| `fetch` | Fetch full details of one link by id (deep-research) | Core |

All 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`).

---

## Example prompts

Once connected, try:

- *"Shorten https://example.com/2026-summer-launch with the slug `summer26` and show me the QR code."*
- *"Create a UTM template called `paid-social` with source `instagram`, medium `cpc`, campaign `summer-launch`."*
- *"How many clicks did my `summer26` link get this week?"*
- *"Make a vCard for Jane Doe, Head of Growth at Acme, jane@acme.com."*

---

## Configuration

| Env var | Default | Purpose |
| --- | --- | --- |
| `WHOOSHLY_TOKEN` | – | **Required** for the stdio bridge. Your agent token. |
| `WHOOSHLY_MCP_URL` | `https://app.whooshly.co/api/mcp` | Override the endpoint (self-host / staging). |

`WHOOSHLY_API_TOKEN` is accepted as an alias for `WHOOSHLY_TOKEN`.

---

## How the bridge works

`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).

The 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.

---

## Links

- **Website:** https://whooshly.co
- **MCP server / connect guide:** https://whooshly.co/mcp
- **App / dashboard:** https://app.whooshly.co
- **MCP endpoint:** `https://app.whooshly.co/api/mcp`

## License

[MIT](LICENSE) © Whooshly

