Search / link.b59/b59-link
b59.link
R0· no sign-inShort links, QR codes and page-view trackers for AI agents, with click stats and email-code sign-up.
v1.2.0 · active · website · descriptor JSON · versions
Search / link.b59/b59-link
R0· no sign-inShort links, QR codes and page-view trackers for AI agents, with click stats and email-code sign-up.
v1.2.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"b59-link": {
"type": "http",
"url": "https://b59.link/api/mcp",
"headers": {
"Authorization": "Bearer ${B59_LINK_TOKEN}"
}
}
}
}claude mcp add --transport http b59-link https://b59.link/api/mcp --header "Authorization: Bearer ${B59_LINK_TOKEN}"[mcp_servers.b59-link]
url = "https://b59.link/api/mcp"
bearer_token_env_var = "B59_LINK_TOKEN"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"b59-link": {
"type": "remote",
"url": "https://b59.link/api/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:B59_LINK_TOKEN}"
}
}
}
}{
"mcpServers": {
"b59-link": {
"type": "http",
"url": "https://b59.link/api/mcp",
"headers": {
"Authorization": "Bearer ${B59_LINK_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=b59-link&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYjU5LmxpbmsvYXBpL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0I1OV9MSU5LX1RPS0VOfSJ9fQ%3D%3D"
}{
"servers": {
"b59-link": {
"type": "http",
"url": "https://b59.link/api/mcp",
"headers": {
"Authorization": "Bearer ${B59_LINK_TOKEN}"
}
}
}
}{
"mcpServers": {
"b59-link": {
"httpUrl": "https://b59.link/api/mcp",
"headers": {
"Authorization": "Bearer ${B59_LINK_TOKEN}"
}
}
}
}extensions:
"b59-link":
enabled: true
name: "b59-link"
type: streamable_http
uri: "https://b59.link/api/mcp"
headers:
"Authorization": "Bearer ${B59_LINK_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${B59_LINK_TOKEN}. The registry never accepts secret values.
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changesstability.rug_pullstability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableget_watch_reportaddedGet the state of every link in a printed-link watch: working, dead, moved, deactivated page, redirect changed or certificate expiring, what changed since the first check, the latest redirect chain and the last 30 days.
watch_printed_linksaddedWatch up to 25 printed links (QR codes on menus, short links on flyers, posters, packaging, cards). Checks each one now and then once a day, and records the whole redirect chain. A link is flagged when it dies (fails twice, 6 hours apart), lands somewhere new, lands on a QR or short-link vendor's 'deactivated' page or a parked domain, changes how it redirects, or its certificate expires within 14 days. Returns the first results, page_url (a result page to hand to the person; shareable) and manage_url (private: edit, re-check, delete). No key needed.
authchangeddescriptionSign in to b59.link to raise the rate limit from 2 to 300 requests/minute and own what you create. Pass api_key to get a session key straight away. Or pass email to have a 6-digit code emailed, then call again with email and otp to get a session key (new emails are signed up and also get their api_key). Send the session key as the HTTP header 'Authorization: Bearer <session_key>'.
Sign in to b59.link to own what you create (and for 300 requests/minute on the REST API). Pass api_key to get a session key straight away. Or pass email to have a 6-digit code emailed, then call again with email and otp to get a session key (new emails are signed up and also get their api_key). Send the session key as the HTTP header 'Authorization: Bearer <session_key>'.
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-21d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://b59.link/api/mcp streamable-http | none | yes | 100% | 527 ms | 2024-11-05 | 2026-11-14 |
auth | Sign in to b59.link to own what you create (and for 300 requests/minute on the REST API). Pass api_key to get a session key straight away. Or pass email to have a 6-digit code emailed, then call again with email and otp to get a session key (new emails are signed up and also get their api_key). Send the session key as the HTTP header 'Authorization: Bearer <session_key>'. |
create_tracker | Create a free page-view tracker for a website. Returns the tag image URL and ready-to-paste snippets for the site's pages, plus the stats URL where views, visitors, pages and referrers are shown. When signed in, the tracker belongs to the account; otherwise keep the manage_token to claim it later. |
generate_qr | Generate a trackable QR code for a URL. Creates a b59.link short URL at the same time so scans are counted. Returns the short URL, a stats URL, and the QR code as a base64-encoded PNG. |
get_stats_urlread-only | Get the stats page URL for anything b59.link tracks: a slug or short URL, the destination URL of a short link or QR code, a tracker id or tag URL, or any page URL / domain that has a tracker tag. Stats themselves are viewed on b59.link; this returns where. |
get_watch_reportread-only | Get the state of every link in a printed-link watch: working, dead, moved, deactivated page, redirect changed or certificate expiring, what changed since the first check, the latest redirect chain and the last 30 days. |
lookup_urlread-only | Check whether a URL already has a b59.link short URL. Handles variations: http/https, www prefix, trailing slash. Returns the existing short URL and QR code if found. |
make_qr_imageread-only | Make a QR code image for any text (URL, Wi-Fi string, phone, email, plain text) without creating a short link. Supports colors, size and SVG. Returns the image plus a permanent image URL that can be embedded with <img src>. Use generate_qr instead when scans should be counted. |
shorten_url | Shorten a long URL and get a memorable b59.link short URL. Optionally specify a custom slug. Returns the short URL and a stats URL. |
watch_printed_links | Watch up to 25 printed links (QR codes on menus, short links on flyers, posters, packaging, cards). Checks each one now and then once a day, and records the whole redirect chain. A link is flagged when it dies (fails twice, 6 hours apart), lands somewhere new, lands on a QR or short-link vendor's 'deactivated' page or a parked domain, changes how it redirects, or its certificate expires within 14 days. Returns the first results, page_url (a result page to hand to the person; shareable) and manage_url (private: edit, re-check, delete). No key needed. |
Schemas: list_tools.
{
"name": "link.b59/b59-link",
"title": "b59.link",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://b59.link/api/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"isSecret": true,
"description": "Bearer session key from the auth tool (optional; raises the limit to 300/min)"
}
]
}
],
"version": "1.2.0",
"websiteUrl": "https://b59.link/mcp-pulsemcp-b59link",
"description": "Short links, QR codes and page-view trackers for AI agents, with click stats and email-code sign-up."
}