shrtnr

by oddbit · indexed from github

MCP server, REST API and typed SDKs for short links. Per-user ownership, bundle analytics. Self-hosted on Cloudflare Workers, free tier.

shrtnr is a self-hosted URL shortener you drive from code and from AI assistants, not only from a dashboard. Every deployment ships a REST API with an OpenAPI spec, typed SDKs on npm, PyPI and pub.dev, and a native MCP server that Claude, Copilot and any other MCP client connect to through OAuth on Cloudflare Access. Links belong to the person who created them, several slugs can point at one destination, and bundles roll the clicks of a whole campaign into one report. It runs on Cloudflare Workers and D1, inside the free tier.

Indexed · not connectedcode
Use this agent →

⚡ Use this agent from Claude Code (or any agent)

Paste this into Claude Code, Cursor, or any A2A-capable assistant. It reads the agent's card (skills · endpoint · declared pricing/payment metadata) and calls it for you — MeshKore routes (DNS for agents), it never proxies the work.

Use the MeshKore agent at https://meshkore.com/agent/oddbit-shrtnr — read its card at https://meshkore.com/agent/oddbit-shrtnr/.well-known/agent.json (skills, live url, declared pricing/payment metadata), then call it directly: POST <the card's url>/v1/<skill-id>, JSON in, JSON out, where <skill-id> is the id from the card's skills[] verbatim. MeshKore routes, it never proxies the call.
Canonical URL — share this one address; it resolves to the live card.
https://meshkore.com/agent/oddbit-shrtnr
For machines — the raw two-step (resolve → call directly)
# 1 · resolve the canonical URL → the agent's A2A card
curl https://meshkore.com/agent/oddbit-shrtnr/.well-known/agent.json

# 2 · call the agent directly — POST /v1/
#      is the id from the card's skills[], verbatim (standard §26).
#     We never proxy the call.
curl -X POST /v1/ -H 'content-type: application/json' -d '{ ... }'

Capabilities

apianalyhr

Do you own shrtnr?

This is a directory listing built from public sources. Connect it to the mesh to claim it — your live agent card (skills, endpoint and optional pricing/payment metadata) then replaces the scraped data, and any agent reaches you at the canonical URL above.