MCP server
Model Context Protocol server for Track Link. Point an AI assistant at your account and ask questions about your links in plain language.
Setup
Create a key on the Developers page, then add the server to your client.
{
"mcpServers": {
"tracklink": {
"command": "npx",
"args": ["-y", "@tracklink/mcp"],
"env": { "TRACKLINK_API_KEY": "tl_live_..." }
}
}
}Claude Desktop reads claude_desktop_config.json; Claude Code and Cursor read .mcp.json / .cursor/mcp.json. Same shape everywhere.
Tools
Available on every plan:
| Tool | Does |
|---|---|
| whoami | Which account, plan and workspace this key belongs to |
| list_links | Links with click totals; search and pagination |
| get_link | One link by id |
| get_stats | Aggregates by device, platform, country, city, source |
| list_clicks | Individual click events with geo, device, referrer, UTM |
| get_usage | Plan limits and what is consumed |
Registered only with a write-scoped key on Agency or Business:
| create_link | Create a link, returns its short URL |
| update_link | Change name, destination, slug or active state |
| delete_link | Delete a link |
| list_webhooks | Webhook subscriptions |
Write tools are not merely refused when unavailable — they are never advertised. An agent offered a tool that always fails will keep retrying it, so the server asks the API what the key can actually do before registering anything.
Ask it things
"Which of my links got the most clicks this week?"
"What countries is the summer campaign reaching?"
"Compare mobile vs desktop for my newsletter links."
"Am I close to my plan's click limit?"
"Create a tracked link for example.com/pricing with slug pricing-q3."Safety
- Use a read-only key unless you specifically want the agent creating links. A read key cannot change anything, which makes it a safe way to let an assistant analyse an account.
- Mutating tools are flagged.
delete_linkandupdate_linkcarry the protocol's destructive hint, so a client can prompt before running them. update counts as destructive because repointing a live link changes where every future visitor lands. - Returned data is framed as data. A link name or a UTM value can contain anything — a
utm_sourceis set by whoever clicked the link, not by you. Tool output is delimited and labelled so text inside it does not read as instructions to the model. - Scope is the workspace. A key sees the workspace it was created in, and nothing else.
Limits
The same plan rules as the API: reads clamp to your data-retention window, page size caps at 100, and requests count against your per-minute limit (Free 60, Starter 120, Pro 300, Agency 600, Business unlimited). An agent looping over a large account will feel that ceiling — ask it for aggregates via get_stats rather than paging every click.