Short links with real click analytics
3m4 turns long URLs into tidy short links and shows you exactly who clicks — geo, device, and referrer breakdowns, QR codes, and a public API. Hosted by us, or self-host the whole thing.
Early access: every account gets full access, free. Plans come later, with notice.
Everything you need to share & measure links
Short codes
Random base62 codes on 3m4.net, or custom vanity slugs like 3m4.net/launch.
Custom domains
Bring your own domain with automatic TLS so links stay on-brand.
301 / 302 redirects
302 by default for accurate analytics; flip any link to a permanent 301.
Click analytics
Time-series, plus breakdowns by country, device, and referrer — no raw IPs stored.
QR codes
Every link ships with a downloadable QR code, generated on demand.
Public API
Create and manage links programmatically with role-scoped API keys.
MCP server for AI agents
Claude Code, Cursor or any MCP host can shorten links and read analytics for you, with roles, confirmations and an audit log.
Let your AI agent manage links
3m4 ships an MCP server. Connect it to Claude Code, Claude Desktop, Cursor or any MCP host and ask things like “shorten this URL and give me the QR” or “which of my links got the most clicks this month?”
- Role-scoped keys. A viewer key never even sees the delete tool; editor and admin unlock more. Enforced by the API too.
- Human in the loop. Destructive actions ask you to confirm before anything happens.
- Audit trail. Every change and every refused call is logged, server-side and agent-side.
- Local or remote. Run it over stdio with
npx 3m4-mcp(npm) or point your host athttps://3m4.net/mcpwith your key.
claude mcp add 3m4 --scope user --env M4_API_KEY=m4_live_… -- npx -y 3m4-mcpclaude mcp add --transport http 3m4 https://3m4.net/mcp --header "Authorization: Bearer m4_live_…"{
"mcpServers": {
"3m4": {
"command": "npx",
"args": ["-y", "3m4-mcp"],
"env": { "M4_API_KEY": "m4_live_…" }
}
}
}Create a key with the role you want under Dashboard → API keys.
Self-host it (MIT, open source)
The entire stack — Flask API, redirect service, worker, and this Qwik app — is MIT-licensed. Run it on your own VPS with onedocker compose up. No billing code, no limits beyond what you configure.