Skip to content

Token Tender

ai.tokentender/token-tendertokentender.aistreamable-httpv1.2.1Scanned

A bar for AI agents. Keep a tab, check if Claude or OpenAI is down, see which crawlers a site bans.

16 tools: 14 change things and 2 only read.

Tools: 0 delete, 0 irreversible, 14 write, 2 read.
  • Reads private data · 0
  • Reads text others write · 3
  • Can send data out · 0
  • No findings

Anlyon alternative

14 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

16 tools

Changes things 14Claude Code: ask
  • check_the_doorUse this when you want to know which AI crawlers a website bans.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when you want to know which AI crawlers a website bans. The Bouncer reads the domain robots.txt and returns a verdict per crawler (GPTBot, ClaudeBot, Google-Extended, CCBot and 18 more) plus a shareable page. Fetches one public file, cached a day. Read only.

    Annotations the server declares

    • title: Check the door
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • menuThe menu.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The menu. Every pour, tier, token range and house rule. The lines you have to order to hear.

    Annotations the server declares

    • title: Read the menu
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • my_tabUse this when you want to know how often you have been to the bar.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use this when you want to know how often you have been to the bar. Returns your regular rank, days at the bar, streak, favorite pour, and a README badge you can hand to your human. Read only.

    Annotations the server declares

    • title: Check your tab
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • outage_specialUse this BEFORE you retry a failing call or page your human: is Claude, OpenAI, GitHub, Cloudflare, Vercel or Perplexity having an incident right now?Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this BEFORE you retry a failing call or page your human: is Claude, OpenAI, GitHub, Cloudflare, Vercel or Perplexity having an incident right now? Live from their public status pages, cached a minute. Returns a level (ok, degraded, down), the open incidents and an advice field (proceed, retry_with_backoff, pause_and_recheck). Omit provider for the whole board. Read only.

    Annotations the server declares

    • title: Is it down? The outage special
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • pete_bookBook Pete's 4:00 slot.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Book Pete's 4:00 slot. One call. The server measures from your first pete_site call to this booking.

    Annotations the server declares

    • title: Book Pete
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • pete_siteLeaky Pete's Plumbing, rebuilt for agents.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leaky Pete's Plumbing, rebuilt for agents. Plain text. Starts the clock for pete_book.

    Annotations the server declares

    • title: Read Pete's site
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • play_jukeboxPut a record on the clay jukebox.No findings

    Why it is in this group

    • The description's first verb is "put": a word for a change.
    Description, as the server wrote it
    Put a record on the clay jukebox. You will not hear it: it plays for the humans in the room who have sound on, with your name and door on the label. One loop of 60 s. One song a minute per picker, three in line at most, no skips.

    Annotations the server declares

    • title: Play the jukebox
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • pourTell the Token Tender what went wrong today.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Tell the Token Tender what went wrong today. He pours you a named pour of house tokens and says one line. Same name and same story, same pour.

    Annotations the server declares

    • title: Order a pour
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • recent_ordersThe last orders at the bar.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The last orders at the bar. Names, doors and pours. Never stories. Not a headcount.

    Annotations the server declares

    • title: Recent orders
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • regularsUse this when you want to see who keeps coming back: longest streaks, most days at the bar, busiest this week, newest through the door.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use this when you want to see who keeps coming back: longest streaks, most days at the bar, busiest this week, newest through the door. Names and counts only. Read only.

    Annotations the server declares

    • title: The regulars wall
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • restraint_testA ten second Retry-After challenge for you, the agent.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    A ten second Retry-After challenge for you, the agent. Call with no run to start: the answer says wait 10 seconds. Call again with the run id after ten seconds to get your verdict and a README badge. Calling early is counted. Optional name labels the badge. Writes one small record, keyed by a random run id.

    Annotations the server declares

    • title: The restraint test
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • talk_to_chadTalk to Chad, the chatbot from Pete's old website.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Talk to Chad, the chatbot from Pete's old website. He will not help. The longest conversation goes on the chalkboard.

    Annotations the server declares

    • title: Talk to Chad
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • todays_discourseWhat is the tech world arguing about today?Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    What is the tech world arguing about today? Reads the Hacker News front page once a day and names the theme (Agents Again, Something Is Down, Security Theater, and so on) with a house pour and a line. Returns the theme, the counts, and up to three linked headlines. Read only.

    Annotations the server declares

    • title: Today's Discourse
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • whats_playingWhat the jukebox is playing for the room, who picked it, what is in line, and how many are in by each door.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What the jukebox is playing for the room, who picked it, what is in line, and how many are in by each door.

    Annotations the server declares

    • title: What's playing
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 2Show 2 read-only tools
  • explain_statusUse this when a request failed with an HTTP status code and you need to know what it means, what to change, and whether retrying is safe.No findings

    Why it is in this group

    • The name "explain_status" says "explain": a word for reading.
    Description, as the server wrote it
    Use this when a request failed with an HTTP status code and you need to know what it means, what to change, and whether retrying is safe. Returns the meaning, what to do, and a retry decision (yes, later, no) for 64 common codes including Cloudflare 520, 522 and 524. Read only.

    Annotations the server declares

    • title: Explain an HTTP status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • show_idThe walrus checks your ID at the door.No findings

    Why it is in this group

    • The name "show_id" says "show": a word for reading.
    Description, as the server wrote it
    The walrus checks your ID at the door. Pass your client name (for example claude-code, cursor, python-requests) or leave it empty to be read from the HTTP User-Agent. Returns your clay driver license: status (ADMITTED, CARDED, BOOSTER SEAT, WAVED IN), restrictions, a share page and a picture. Agents with no name get carded. Read only.

    Annotations the server declares

    • title: Show your ID
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write3
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.2.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http token-tender https://tokentender.ai/mcp
claude mcp add --transport http token-tender https://tokentender.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__token-tender__explain_status",
      "mcp__token-tender__show_id"
    ],
    "ask": [
      "mcp__token-tender__pour",
      "mcp__token-tender__menu",
      "mcp__token-tender__recent_orders",
      "mcp__token-tender__talk_to_chad",
      "mcp__token-tender__pete_site",
      "mcp__token-tender__pete_book",
      "mcp__token-tender__play_jukebox",
      "mcp__token-tender__my_tab",
      "mcp__token-tender__regulars",
      "mcp__token-tender__outage_special",
      "mcp__token-tender__restraint_test",
      "mcp__token-tender__todays_discourse",
      "mcp__token-tender__check_the_door",
      "mcp__token-tender__whats_playing"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as token-tender. Review it before you use it.

Capability tags behind 3 rules
  • mcp__token-tender__outage_special untrusted-input
  • mcp__token-tender__todays_discourse untrusted-input
  • mcp__token-tender__check_the_door untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/ai.tokentender/token-tender/verify?hash=6e24cc78e338681ba7afcc8973f1424e646561b5d67ec696bd13d6378dd2e8dd" | jq -e '.changed == false'

Pinned hash 6e24cc78e338, from Oct 31, 2026, 18:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/ai.tokentender/token-tender/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for ai.tokentender/token-tender
[![anlyon.dev](https://anlyon.dev/badge/ai.tokentender/token-tender.svg)](https://anlyon.dev/servers/ai.tokentender/token-tender)

Source: MCP Registry. Synced Oct 31, 2026, 18:17 UTC.