Snappy.fyi

Short links your agent can manage.

The same links, permissions and analytics in your browser, API and MCP client. Basic agent access is included with the free account.

Prefer plain text? Read the agent quick reference or the OpenAPI specification. An account and a private API key are required to manage links.

  1. Create an account , then choose a personal username in your workspace .
  2. Create an API key with the permissions your agent needs. Read-only keys can inspect links and analytics. Management keys can also create, update and delete links.
  3. Store the key privately as SNAPPY_API_KEY in the environment used to start your agent. Keys expire after 90 days when created on the website and can be revoked at any time.

Codex

Add this to your Codex MCP configuration. Keep the actual key in your environment.

[mcp_servers.snappy]
url = "https://snappy.fyi/api/mcp"
bearer_token_env_var = "SNAPPY_API_KEY"

Or run codex mcp add snappy --url https://snappy.fyi/api/mcp --bearer-token-env-var SNAPPY_API_KEY

Claude Code

Run this where your private key is available. The command stores the resolved header in your Claude MCP configuration; treat that configuration as a credential.

claude mcp add --transport http snappy https://snappy.fyi/api/mcp --header "Authorization: Bearer $SNAPPY_API_KEY"

Any agent, using the API

curl https://snappy.fyi/api/link/create \
  -H "Authorization: Bearer $SNAPPY_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: project-demo-2026-01' \
  -d '{"url":"https://example.com/demo","slug":"your-name/demo"}'

Repeat a creation with the same idempotency key and identical details to get the same link. Reusing that key with different details returns 409. Use a new key for a new action.

Permanent project links

For memorable endings, call suggest_link_endings through MCP, or POST /api/link/suggest with { url, mode: "personal" }. Use mode: "global" for a shared ending. Optional metadata: true reads a bounded public page title, with no paid AI. Suggestions check availability without reserving a link; request another if creation returns 409.

Keep /your-name/demo in a proposal while changing its destination as your project evolves. Read the current link, preview the proposed destination, then update it with the reviewed version.

  • GET /api/link/query?slug=your-name/demo reads the current link.
  • POST /api/link/preview with { slug, url } returns the change and its expectedVersion.
  • PUT /api/link/edit accepts the full link fields plus expectedVersion. A concurrent change returns 409.
  • GET /api/link/history?slug=your-name/demo returns previous destinations. Restore one by reviewing and saving it as a new edit.
  • MCP supports create_link with idempotencyKey, get_link, update_link, and analytics tools.

Checks without inflated click reports

Read the link through the API instead of opening its public redirect when checking its destination. If you need to follow the public link, send X-Snappy-Purpose: check. It is recorded as a declared agent check. Traffic categories are estimates, not verified human identities.

Open your workspace