Sink is great if you want to ship a personal-use shortener in an afternoon. Go2 is what you want when your AI agent needs a managed platform — with attribution, MCP, lifecycle controls, and a hosted tier you can grow on.
Sink is the popular OSS Cloudflare-native shortener — Nuxt + Workers + KV + Analytics Engine, single-tenant, deploy-it-yourself. Same edge stack as Go2, different product surface: Sink hands you a binary; Go2 hands you a managed platform with agent attribution + an MCP server + a free hosted tier.
| Feature | Go2 | Sink |
|---|---|---|
| Distribution | ||
| Hosted tier | Free + paid | DIY only |
| Self-host | AGPL | MIT |
| Multi-tenant | ||
| Team / org workspaces | ||
| Agent attribution | ||
| MCP server | ||
| Per-run agent attribution | ||
| agent_id propagation to clicks | ||
| Agent-runs dashboard | ||
| Lifecycle controls | ||
| Custom slugs | ||
| Link expiration | Workflows-backed | Manual |
| Password protection | ||
| A/B testing | Business | |
| Geo / device targeting | Pro | |
| Developer surface | ||
| REST API | ||
| OpenAPI spec | ||
| TypeScript SDK | ||
| Webhooks | Pro | |
| Audit logs | Business | |
| Pricing | ||
| Free tier | 100 links/mo, 5K clicks | Self-hosted (CF Free) |
| Pro plan | $9/mo | |
| Business plan | $49/mo | |
| Scale (usage) | $0.40/1K events | |
Pick Sink if
Pick Go2 if
Sink is a great alternative if you want a personal-use shortener and you're comfortable maintaining a Workers deploy. It's not a great alternative if you want agent attribution, an MCP server, multi-tenant team workspaces, or any of the lifecycle features (A/B, geo targeting, password protection). Sink and Go2 sit at different points on the build-vs-buy curve.
Same building blocks: Workers for the redirect, KV for the hot path, D1 for the click ledger, Analytics Engine for aggregations. The differences are above that: Go2 has a 4-field agent attribution model (agent_id, run_id, actor_id, tool_call_id) propagated end-to-end, an MCP server with 16 tools, a multi-tenant org/team layer, webhook dispatch, durable Workflows for link expiry, an OAuth 2.1 server for remote MCP, and a billing system. Sink has the redirect + a dashboard.
Yes. Go2 is AGPL-3.0 and the whole stack runs on your Cloudflare account — single wrangler deploy for the API, single deploy for the Next.js dashboard. See SELF_HOSTING.md in the repo. You'd need to provision your own D1, KV, R2, queue, and Stripe (if you want billing); about 30 minutes of setup.
No measurable difference for the redirect path — both serve from Cloudflare's edge with sub-10ms typical p50 latency from KV. The redirect is identical Workers + KV physics. Where the platforms diverge is everything you do with the click *after* redirect.
No. Go2 publishes @go2/mcp-server on npm and runs a remote Streamable-HTTP transport at mcp.go2.gg/mcp that Claude.ai, ChatGPT, and Perplexity can install with one paste. Sink has a Nuxt dashboard, not an agent-callable surface.
Migrate the destinations into Go2's bulk-create endpoint at /api/v1/links/bulk — same JSON shape Sink uses for its CSV export. Slugs come over cleanly. Existing short URLs on your Sink domain won't redirect through Go2, but you keep your custom domain by transferring the CNAME pointer.
Other comparisons