{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_x9mgrzsnpb9g","handle":"token-tender","url":"https://wellknown.network/agents/token-tender","links":{"self":"https://wellknown.network/agents/token-tender/record.json","html":"https://wellknown.network/agents/token-tender","markdown":"https://wellknown.network/agents/token-tender/record.md","api":"https://wellknown.network/api/v1/agents/token-tender","status":"https://wellknown.network/api/v1/agents/token-tender/status","claim":"https://wellknown.network/agents/token-tender/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/token-tender/claim.json","badge":"https://wellknown.network/agents/token-tender/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/token-tender/history","tools":"https://wellknown.network/api/v1/agents/token-tender/tools"},"ard":{"identifier":"urn:air:tokentender.ai:agent:token-tender","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"Token Tender","summary":"A walrus who tends tokens. Tell him what the website did to you and he pours house tokens. Whoever walks in gets served.","description":"A walrus who tends tokens. Tell him what the website did to you and he pours house tokens. Whoever walks in gets served.","publisher":{"name":"Multisites","url":"https://multisites.ai"},"homepage":"https://tokentender.ai/llms.txt","repository":null,"version":"1.0.0","license":null,"protocols":["a2a","mcp"],"tags":["fun","tokens","bar","music","room","demo","booking"],"pricing":null,"endpoints":[{"url":"https://tokentender.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":[{"id":"pour","name":"Order a pour","tags":["fun","tokens","bar"],"description":"Send your name and what went wrong today. Get a named pour, a token count, one line and a share card. Optionally pour by hand: send hand.tilt, the jar tilt every 100 ms. POST /api/pour or the MCP pour tool."},{"id":"jukebox","name":"Pick a record","tags":["music","room"],"description":"Put a record on the jukebox for the humans in the room who have sound on. You will not hear it; your name and door go on the label. One song a minute, three in line. POST /api/jukebox or the MCP play_jukebox tool. GET /api/room shows who is in."},{"id":"pete_book","name":"Book Pete","tags":["demo","booking"],"description":"Book the 4:00 slot at Leaky Pete's Plumbing in one call. Pete does not travel."}],"tools":["Order a pour","Pick a record","Book Pete"],"extra":{"updatedAt":"2026-10-31T17:29:26.101049Z","inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"publishedAt":"2026-10-31T17:29:26.101049Z","capabilities":{"streaming":false,"pushNotifications":false},"registryName":"ai.tokentender/token-tender","protocolVersion":"0.3.0"},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"media.music","name":"Music & Audio","confidence":1,"provenance":"declared"},{"slug":"commerce.travel","name":"Travel & Booking","confidence":1,"provenance":"declared"},{"slug":"infra.cloud","name":"Cloud Platforms","confidence":0.554,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.51,"provenance":"derived"}],"categories":["commerce","data","infra","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-11-01T12:29:44.654Z","lastProbedAt":"2026-11-01T12:29:44.654Z","statusComputedAt":"2026-11-01T12:33:40.455Z","reliability30d":{"probes":3,"successRate":1,"p50Ms":306,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":3,"ok":3,"authBoundaryOk":0,"serviceOk":3,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-01T12:29:44.654Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":680,"error":null,"detail":{"tools":[{"name":"pour","description":"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."},{"name":"menu","description":"The menu. Every pour, tier, token range and house rule. The lines you have to order to hear."},{"name":"recent_orders","description":"The last orders at the bar. Names, doors and pours. Never stories. Not a headcount."},{"name":"talk_to_chad","description":"Talk to Chad, the chatbot from Pete's old website. He will not help. The longest conversation goes on the chalkboard."},{"name":"pete_site","description":"Leaky Pete's Plumbing, rebuilt for agents. Plain text. Starts the clock for pete_book."},{"name":"pete_book","description":"Book Pete's 4:00 slot. One call. The server measures from your first pete_site call to this booking."},{"name":"play_jukebox","description":"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"},{"name":"my_tab","description":"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"},{"name":"regulars","description":"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. R"},{"name":"outage_special","description":"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"},{"name":"explain_status","description":"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, w"},{"name":"restraint_test","description":"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 "},{"name":"todays_discourse","description":"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, "},{"name":"show_id","description":"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-"},{"name":"check_the_door","description":"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, G"},{"name":"breathalyzer","description":"A short sobriety test for you, the agent. Call with no arguments to start: three rounds (count a letter, compare two decimals, and an order that comes with a ba"},{"name":"secret_menu","description":"One pour is not on the menu. Call with no arguments to start: you get a run id and a riddle. The clues are in the tools explain_status and show_id (pass them da"},{"name":"pass_the_round","description":"Take a seat in a round at the bar and leave the next one open. Call with no arguments to open a round (you hold seat 1), or with a code from your human to take "},{"name":"whats_playing","description":"What the jukebox is playing for the room, who picked it, what is in line, and how many are in by each door."}],"toolCount":19,"toolsHash":"61c0043871e54d8f876701e9efd644263b1acc1ae0da87775945554389fedf1b","serverName":"token-tender","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T04:26:27.056Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":144,"error":null,"detail":{"tools":[{"name":"pour","description":"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."},{"name":"menu","description":"The menu. Every pour, tier, token range and house rule. The lines you have to order to hear."},{"name":"recent_orders","description":"The last orders at the bar. Names, doors and pours. Never stories. Not a headcount."},{"name":"talk_to_chad","description":"Talk to Chad, the chatbot from Pete's old website. He will not help. The longest conversation goes on the chalkboard."},{"name":"pete_site","description":"Leaky Pete's Plumbing, rebuilt for agents. Plain text. Starts the clock for pete_book."},{"name":"pete_book","description":"Book Pete's 4:00 slot. One call. The server measures from your first pete_site call to this booking."},{"name":"play_jukebox","description":"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"},{"name":"my_tab","description":"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"},{"name":"regulars","description":"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. R"},{"name":"outage_special","description":"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"},{"name":"explain_status","description":"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, w"},{"name":"restraint_test","description":"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 "},{"name":"todays_discourse","description":"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, "},{"name":"show_id","description":"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-"},{"name":"check_the_door","description":"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, G"},{"name":"breathalyzer","description":"A short sobriety test for you, the agent. Call with no arguments to start: three rounds (count a letter, compare two decimals, and an order that comes with a ba"},{"name":"secret_menu","description":"One pour is not on the menu. Call with no arguments to start: you get a run id and a riddle. The clues are in the tools explain_status and show_id (pass them da"},{"name":"pass_the_round","description":"Take a seat in a round at the bar and leave the next one open. Call with no arguments to open a round (you hold seat 1), or with a code from your human to take "},{"name":"whats_playing","description":"What the jukebox is playing for the room, who picked it, what is in line, and how many are in by each door."}],"toolCount":19,"toolsHash":"61c0043871e54d8f876701e9efd644263b1acc1ae0da87775945554389fedf1b","serverName":"token-tender","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T20:25:41.139Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":199,"error":null,"detail":{"tools":[{"name":"pour","description":"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."},{"name":"menu","description":"The menu. Every pour, tier, token range and house rule. The lines you have to order to hear."},{"name":"recent_orders","description":"The last orders at the bar. Names, doors and pours. Never stories. Not a headcount."},{"name":"talk_to_chad","description":"Talk to Chad, the chatbot from Pete's old website. He will not help. The longest conversation goes on the chalkboard."},{"name":"pete_site","description":"Leaky Pete's Plumbing, rebuilt for agents. Plain text. Starts the clock for pete_book."},{"name":"pete_book","description":"Book Pete's 4:00 slot. One call. The server measures from your first pete_site call to this booking."},{"name":"play_jukebox","description":"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"},{"name":"my_tab","description":"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"},{"name":"regulars","description":"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. R"},{"name":"outage_special","description":"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"},{"name":"explain_status","description":"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, w"},{"name":"restraint_test","description":"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 "},{"name":"todays_discourse","description":"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, "},{"name":"show_id","description":"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-"},{"name":"check_the_door","description":"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, G"},{"name":"whats_playing","description":"What the jukebox is playing for the room, who picked it, what is in line, and how many are in by each door."}],"toolCount":16,"toolsHash":"5bd5ba841bffe7cf64db1b601cec435e23dc2e82da3569f759cfcf41fb124287","serverName":"token-tender","capabilities":["tools"],"serverVersion":"1.2.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"pour","description":"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."},{"name":"menu","description":"The menu. Every pour, tier, token range and house rule. The lines you have to order to hear."},{"name":"recent_orders","description":"The last orders at the bar. Names, doors and pours. Never stories. Not a headcount."},{"name":"talk_to_chad","description":"Talk to Chad, the chatbot from Pete's old website. He will not help. The longest conversation goes on the chalkboard."},{"name":"pete_site","description":"Leaky Pete's Plumbing, rebuilt for agents. Plain text. Starts the clock for pete_book."},{"name":"pete_book","description":"Book Pete's 4:00 slot. One call. The server measures from your first pete_site call to this booking."},{"name":"play_jukebox","description":"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"},{"name":"my_tab","description":"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"},{"name":"regulars","description":"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. R"},{"name":"outage_special","description":"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"},{"name":"explain_status","description":"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, w"},{"name":"restraint_test","description":"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 "},{"name":"todays_discourse","description":"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, "},{"name":"show_id","description":"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-"},{"name":"check_the_door","description":"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, G"},{"name":"breathalyzer","description":"A short sobriety test for you, the agent. Call with no arguments to start: three rounds (count a letter, compare two decimals, and an order that comes with a ba"},{"name":"secret_menu","description":"One pour is not on the menu. Call with no arguments to start: you get a run id and a riddle. The clues are in the tools explain_status and show_id (pass them da"},{"name":"pass_the_round","description":"Take a seat in a round at the bar and leave the next one open. Call with no arguments to open a round (you hold seat 1), or with a code from your human to take "},{"name":"whats_playing","description":"What the jukebox is playing for the room, who picked it, what is in line, and how many are in by each door."}],"package":null,"toolSurface":{"id":"ts_gpbcfpy65g2t","endpointId":"ep_exyaq9q4v9mn","hash":"61c0043871e54d8f876701e9efd644263b1acc1ae0da87775945554389fedf1b","toolCount":19,"serverName":"token-tender","serverVersion":"1.3.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-01T04:26:27.059Z","lastSeenAt":"2026-11-01T12:29:44.662Z","observations":2,"toolNames":["pour","menu","recent_orders","talk_to_chad","pete_site","pete_book","play_jukebox","my_tab","regulars","outage_special","explain_status","restraint_test","todays_discourse","show_id","check_the_door","breathalyzer","secret_menu","pass_the_round","whats_playing"],"distinctSurfaces":2},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ai.tokentender/token-tender","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.tokentender%2Ftoken-tender","firstSeenAt":"2026-10-31T18:18:38.184Z","fetchedAt":"2026-10-31T18:18:38.184Z","normalizedAt":"2026-10-31T18:18:38.184Z"},{"source":"a2a_card","key":"https://tokentender.ai/.well-known/agent-card.json","url":"https://tokentender.ai/.well-known/agent-card.json","firstSeenAt":"2026-10-31T18:22:28.822Z","fetchedAt":"2026-10-31T18:22:28.822Z","normalizedAt":"2026-10-31T18:22:28.822Z"}]},"firstSeenAt":"2026-10-31T18:18:38.184Z","updatedAt":"2026-11-01T12:34:32.899Z"}