Branded short URLs from MCP. Per-run attribution. Single-use, expiring, revocable links. One install, every agent client.
Open source · Built on Cloudflare · No credit card to start
# Add Go2 to Claude Code, Cursor, or any MCP client claude mcp add go2 -- npx -y go2-mcp-server@latest \ --api-key "$GO2_API_KEY"
Link created → click tracked
go2.gg/launch · run_2026_04_27_a1b2
Every capability is a tool. Pick what your agent needs.
Branded short URLs with custom slugs, geo/device targeting, password gating, OG previews.
create_link · bulk_create_links · update_link
Sub-10ms edge redirects. Every click logs geo, device, browser, OS, referrer, bot detection.
Click pipeline · webhooks · pixels
Per-link rollups: clicks over time, top countries, devices, browsers, referrers. Queryable from MCP.
get_analytics · /api/v1/analytics
Every link carries (agent_id, run_id, actor_id, tool_call_id). Rewind any click to the run that made it.
track_agent_link · get_run_attribution · list_agent_runs
Single-use, expiring, or run-revocable. One parameter; no cron jobs.
create_revocable_link · create_expiring_link · revoke_run_links
Custom domains via DNS-TXT, branded QR codes, link-in-bio, SMS-friendly previews.
Custom domains · QR · /api/v1/qr
Without a primitive, every link an agent ships is a dead URL.
Today, without a link toolkit
With Go2 wired in
Four steps. Edge-native. End to end on Cloudflare.
Invoke one of 16 MCP tools or hit REST. Agent context is auto-attached.
Edge resolves in <10ms globally. Click-time attribution via ?ag/?ar/?at/?au or x-agent-* headers.
D1 captures geo, device, browser, OS, referrer, bot — plus the four agent fields. Indexed per-link and per-run.
Pull analytics, attribution, or run summaries via REST, MCP, or webhooks.
Copy-pasteable examples. Same shape across MCP, REST, and webhooks.
Your agent calls track_agent_link (or POSTs to /api/v1/links). Custom slug, AI-suggested if you want one. The agent context env vars are picked up automatically.
# Via MCP — same shape in Claude Code, Cursor, Codex
{
"tool": "track_agent_link",
"arguments": {
"destinationUrl": "https://docs.go2.gg",
"slug": "claude-docs"
}
}
# Returns: { "shortUrl": "https://go2.gg/claude-docs", "id": "link_..." }Geo, device, browser, OS, referrer, hourly buckets. The same data your dashboard renders, served from D1 with edge caching.
curl "https://api.go2.gg/api/v1/analytics/link_abc?period=7d" \ -H "Authorization: Bearer $GO2_API_KEY"
Filter the click stream by agent_run_id to trace any click back to the run that produced the link. Group by agent_id for cohort comparisons.
curl "https://api.go2.gg/api/v1/agent-attribution?agentRunId=run_2026_04_27_a1b2" \ -H "Authorization: Bearer $GO2_API_KEY"
MCP tool that 410s every link tied to a run — useful when an agent run goes off the rails or a user requests deletion.
# Via MCP
{ "tool": "revoke_run_links", "arguments": { "agentRunId": "run_abc" } }One go2-mcp-server package. Stdio for local; Streamable HTTP for remote.
claude mcp add go2 -- npx -y go2-mcp-server@latest \ --api-key "$GO2_API_KEY"
Four agent verticals where per-run attribution is the missing primitive.
Every output is a link bundle. Stamp each URL with the run id; rewind any click to the run that produced it.
BrowserBase · Browserless · Cloudflare Browser Run
Track every link the bot sends. When a deflection works (or doesn't), trace to the exact run, prompt, and tool call.
Intercom Fin · Plain.com
Links in agent-generated emails carry run attribution. Roll clicks back to the prompt template, not just the campaign.
Clay · Apollo · agentic outreach
Pull /agent-attribution into your trace UI. Go2 is the data primitive; you're the dashboard.
LangSmith · Helicone · Braintrust
Built on Cloudflare
Workers for sub-10ms redirects. D1 for the click ledger. KV for hot-path lookup. Workflows for revocable, expiring, and single-use links. Your agent's link doesn't bottleneck the user.
Different buyers. Different questions.
| Dimension | Dub.co | Go2 (after pivot) |
|---|---|---|
| Buyer | Partner-program manager at a scaled SaaS | Technical founder / ML eng at a 1–20p AI startup |
| Core data model | Partner clicks → conversions → payouts | Agent run → click → conversion (per-run granularity) |
| MCP server | ||
| Per-run agent attribution | ||
| Pricing entry | $25/mo · 1K links | $9/mo · 2K links |
| Free tier | 25 links/mo | 50 links/mo · 2K clicks/mo |
| Self-host | Possible, not first-class | First-class · single wrangler deploy |
| License | Muddy AGPL + commercial | Pure AGPL · clear $5K/yr commercial |
| Roadmap focus | Affiliate / partner programs | Agent-side primitives |
Use Dub if your buyer-question is "what attribution did Justin's tweet drive?" Use Go2 if your buyer-question is "what did the Claude run my user just had do?"
The things AI app builders ask before they ship Go2.