Skip to main content
Glama
kelvin6365

sinkto-mcp

by kelvin6365
README.md
# Sinkto.Link MCP Server

Hosted [Model Context Protocol](https://modelcontextprotocol.io) server for [Sinkto.Link](https://www.sinkto.link) — the free URL shortener with unlimited links. Manage short links, generate QR codes, and read click analytics straight from Claude, Cursor, or any MCP client.

**Listed in the official MCP Registry:** [`link.sinkto/sinkto`](https://registry.modelcontextprotocol.io/v0.1/servers?search=sinkto)

## Connect

Streamable HTTP at `https://www.sinkto.link/api/mcp`, authenticated with an API key (create one free at **Teams → API keys** on [sinkto.link](https://www.sinkto.link)):

```bash
claude mcp add --transport http sinkto https://www.sinkto.link/api/mcp \
  --header "Authorization: Bearer sk_live_..."
```

Or in any MCP client config:

```json
{
  "mcpServers": {
    "sinkto": {
      "type": "http",
      "url": "https://www.sinkto.link/api/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}
```

Nothing to install or self-host. Setup guide: [sinkto.link/docs/mcp](https://www.sinkto.link/docs/mcp)

## Tools

| Tool | Scope | What it does |
|---|---|---|
| `whoami` | — | Which team, plan, scopes and limits this key carries |
| `list_links` | `links:read` | Search/filter links (alias, status, pagination) |
| `get_link` | `links:read` | Full detail for one link |
| `create_link` | `links:write` | Shorten a URL with optional custom alias, password, expiry, OG preview, UTM |
| `update_link` | `links:write` | Edit destination, alias, or settings |
| `delete_link` | `links:write` | Remove a link |
| `bulk_create_links` | `links:write` | Create up to 50 links in one call |
| `generate_qr` | `links:read` | PNG QR code for any link |
| `get_link_analytics` | `analytics:read` | Clicks, countries, cities, devices, browsers, referrers, UTM breakdown for one link |
| `get_overview_stats` | `analytics:read` | Account-wide totals and trends |
| `get_recent_clicks` | `analytics:read` | Latest click events with full attributes |

Scopes are chosen per key — a read-only key can report on links without being able to change anything. Every request is visible in per-key usage analytics.

## Plans

| | Free | Pro ($9/mo or $79/yr) |
|---|---|---|
| Short links | Unlimited | Unlimited |
| API keys | 1 | 10 |
| Rate limit | 60 req/min | 600 req/min |
| Analytics window | 30 days | 90 days |

The MCP server itself is free on every plan. Sinkto.Link's free tier: unlimited links, unlimited clicks, unlimited team members.

## Why

Every URL shortener caps its free plan — Bitly at 5 links/month, TinyURL at 30, Short.io at 1,000 lifetime. Sinkto.Link doesn't. The MCP server exists so AI assistants can manage that link infrastructure the same way their human owners do.

## Links

- **Website**: [sinkto.link](https://www.sinkto.link)
- **MCP landing**: [sinkto.link/mcp](https://www.sinkto.link/mcp)
- **Setup docs**: [sinkto.link/docs/mcp](https://www.sinkto.link/docs/mcp)
- **Registry entry**: [link.sinkto/sinkto](https://registry.modelcontextprotocol.io/v0.1/servers?search=sinkto)
- **Free URL shortener comparison**: [sinkto.link/blog/best-free-url-shortener-2026-complete](https://www.sinkto.link/blog/best-free-url-shortener-2026-complete)

---

The main product repository is private. This repo is the public face of the MCP server — issues and questions: [sinkto.link/contact](https://www.sinkto.link/contact) or [@tszhim_tech](https://x.com/tszhim_tech).