Odel
tollbooth shortlinks

tollbooth shortlinks

@lonnievPythonApache-2.0Updated 1w ago

Ephemeral, human-friendly short URLs for Tollbooth MCP services

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Tollbooth Shortlinks

License Version Python

Don't Pester Your Customer™ (DPYC™) — Ephemeral, human-friendly short URLs for the Tollbooth ecosystem.

The metaphors in this project are drawn with admiration from The Phantom Tollbooth by Norton Juster, illustrated by Jules Feiffer (1961). Milo, Tock, the Tollbooth, Dictionopolis, and Digitopolis are creations of Mr. Juster's extraordinary imagination. We just built the payment infrastructure.


Why This Exists

OAuth Authorization URLs are long, ugly, and hostile to copy-paste:

https://api.schwab.com/v1/oauth/authorize?client_id=abc123&redirect_uri=https%3A%2F%2F
fastmcp.cloud%2Foauth%2Fcallback%3Fserver_id%3D...&scope=...&response_type=code&state=...

Traditional link shorteners have become opinionated. They inject interstitial pages, track clicks, require accounts, gate features behind paywalls, or silently expire links on their own schedule. When an MCP server needs to hand a patron a one-time URL for an OAuth dance, none of that belongs in the path.

Tollbooth Shortlinks is a community utility with no monetization. It turns any URL into a memorable four-word phrase like brave-otter-finds-gold, stores the mapping in Neon Postgres, and expires it after 24 hours. A companion Val Town HTTP handler does the 302 redirect with zero interstitial.

How It Works

MCP Server                    Shortlinks MCP              Val Town
    |                              |                         |
    |-- create_shortlink(url) ---->|                         |
    |<-- brave-otter-finds-gold ---|                         |
    |                              |                         |
    |  (patron clicks short URL)   |                         |
    |                              |    GET /brave-otter-..  |
    |                              |<------------------------|
    |                              |    Neon lookup           |
    |                              |-- 302 redirect -------->|
    |                              |                         |
    |        (24h later)           |                         |
    |                              |  link expires silently   |

Tools

ToolDescription
create_shortlinkStore a URL, get back a memorable slug (or supply your own)
resolve_shortlinkLook up where a slug points without redirecting
delete_shortlinkRemove a shortlink before it expires
shortlink_statusHealth check showing active link count and TTL

All tools are free -- no credits, no npub, no Tollbooth ledger required.

Install

pip install -e ".[dev]"

Run Locally

export NEON_SHORTLINKS_URL="postgres://user:pass@ep-xyz.us-east-2.aws.neon.tech/shortlinks"
python -c "from server import mcp; mcp.run()"

Deploy to Horizon

The .fastmcp.yaml at the repo root is ready for fastmcp deploy.

DPYC Identity

Tollbooth Shortlinks is registered as an Advocate in the DPYC Social Contract. Peer MCP servers discover its URL via registry lookup:

from tollbooth import resolve_service_by_name

shortlinks_url = resolve_service_by_name("tollbooth-shortlinks")
redirect_base  = resolve_service_by_name("tollbooth-shortlinks-redirect")

Related Repos

The Tollbooth DPYC™ ecosystem:

RepoRole
tollbooth-dpycThe wheel -- operator-side credit ledger, BTCPay client, tool gating, constraint engine
tollbooth-authorityThe institution -- fee collection, Schnorr signing, purchase certification
dpyc-oracleThe oracle -- Social Contract governance, membership, ban elections
dpyc-communityThe registry -- governance data, operator catalog, community rules
tollbooth-sampleReference operator -- weather API with full Tollbooth wiring
cypher-mcpMonetized graph answers -- named Cypher over Neo4j/AuraDB
schwab-mcpCharles Schwab brokerage MCP -- trading, quotes, portfolio access
excalibur-mcpeXcalibur -- formatted posting to X (Twitter)
thebrain-mcpPersonal Brain MCP -- thought graphs, knowledge management
taxsort-mcpTax sorting and classification MCP
optionality-mcpOptions analytics MCP
tollbooth-shortlinks (this repo)Community utility -- ephemeral short URLs for OAuth flows
tollbooth-oauth2-collectorOAuth2 callback collector -- browser-based token exchange
tollbooth-pricing-studioiOS app -- operator dashboard and pricing model editor

License

Apache-2.0. See LICENSE for details.