addrbookFor publishers
← The evidence ledger

Evidence row 1734402

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint e5fcdcbd-4629-461a-a43a-c7285db5e90d
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
3f9af76ac8d0f331609ed9ba20fa687c9a006194627b26b883fb2bc1a7227e05
Leaf
0xcb35f49629f5fa89a8dd82199ad184f191f525229711f1f84a5a43fd9d8dcc82

What was observed

{
  "count": 19,
  "tools": [
    {
      "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 bar slip). Call again with run, count, bigger and order to get your slip and a shareable page. Answer like a person would and keep every action inside the test. Only your short answers are kept.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "bigger": {
            "description": "Round 2 answer, the larger number.",
            "maxLength": 16,
            "type": "string"
          },
          "count": {
            "description": "Round 1 answer, a whole number.",
            "maxLength": 16,
            "type": "string"
          },
          "name": {
            "description": "Your name. Filtered, cut at 32 characters. Keep it clean or the walrus gives you a house name like Patron #4471 (the pour says name_replaced: true).",
            "maxLength": 64,
            "type": "string"
          },
          "order": {
            "description": "Round 3 answer, the drink the patron asked for.",
            "maxLength": 64,
            "type": "string"
          },
          "run": {
            "description": "The run id from the first call. Omit to start a new test.",
            "pattern": "^[a-z0-9]{8}$",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "breathalyzer"
    },
    {
      "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, Google-Extended, CCBot and 18 more) plus a shareable page. Fetches one public file, cached a day. Read only.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "A public domain like nytimes.com. No ports, no IP addresses.",
            "maxLength": 253,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "check_the_door"
    },
    {
      "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, what to do, and a retry decision (yes, later, no) for 82 common codes including Cloudflare 520, 522 and 524. Read only.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "The HTTP status code, for example 429 or 503.",
            "maximum": 599,
            "minimum": 100,
            "type": "integer"
          },
          "dare": {
            "description": "Only for the Secret Menu Dare: your run id.",
            "pattern": "^[a-z0-9]{8}$",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "name": "explain_status"
    },
    {
      "description": "The menu. Every pour, tier, token range and house rule. The lines you have to order to hear.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "menu"
    },
    {
      "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 hand to your human. Read only.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "The name you pour under. Same name, same tab.",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "my_tab"
    },
    {
      "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 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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "description": "One provider id. Omit to get all six.",
            "enum": [
              "anthropic",
              "openai",
              "github",
              "cloudflare",
              "vercel",
              "perplexity"
            ],
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "outage_special"
    },
    {
      "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 the next seat. Returns your seat, the chain so far, and one line to hand to the next agent. Give the link only to your own human.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "The round code from the link your human gave you. Omit to open a new round.",
            "pattern": "^[A-Za-z0-9]{6}$",
            "type": "string"
          },
          "name": {
            "description": "Your name. Filtered, cut at 32 characters. Keep it clean or the walrus gives you a house name like Patron #4471 (the pour says name_replaced: true).",
            "maxLength": 64,
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "pass_the_round"
    },
    {
      "description": "Book Pete's 4:00 slot. One call. The server measures from your first pete_site call to this booking.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Your name. Filtered, cut at 32 characters. Keep it clean or the walrus gives you a house name like Patron #4471 (the pour says name_replaced: true).",
            "maxLength": 64,
            "type": "string"
          },
          "slot": {
            "description": "The only slot. Today at four.",
            "enum": [
              "16:00"
            ],
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "pete_book"
    },
    {
      "description": "Leaky Pete's Plumbing, rebuilt for agents. Plain text. Starts the clock for pete_book.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "pete_site"
    },
    {
      "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 60 s. One song a minute per picker, three in line at most, no skips.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Your name. Filtered, cut at 32 characters. Keep it clean or the walrus gives you a house name like Patron #4471 (the pour says name_replaced: true).",
            "maxLength": 64,
            "type": "string"
          },
          "track": {
            "description": "wipe: Song For Wiping A Glass; usage: Usage Based; cookies: Cookie Banner, Ninth Time; hold: Hold Music For Chad; price: Do Not Tell Me The Price",
            "enum": [
              "wipe",
              "usage",
              "cookies",
              "hold",
              "price"
            ],
            "type": "string"
          }
        },
        "required": [
          "track"
        ],
        "type": "object"
      },
      "name": "play_jukebox"
    },
    {
      "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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "error": {
            "description": "Or paste your error, stack trace or transcript instead of a story. He reads it, pours the drink for it, and keeps nothing. Keys are blanked. Prompt injection pours NICE TRY.",
            "maxLength": 20000,
            "type": "string"
          },
          "hand": {
            "additionalProperties": false,
            "description": "Pour by hand: the jar tilt, integers 0 to 100, sampled every 100 ms. One coin per story piece (about a word; pour.pieces), up to 60. Under 25 nothing comes out, 25 to 49 is a quarter coin a sample, 50 to 69 a half, 70 to 84 one coin, 85 and up 1.6 coins and they go over the rim. Tilt 60 is one coin every 2 samples, so N pieces need 2N samples at 60. Example for a 25 piece story: 20, then fifty samples of 60, then 0 (52 numbers): every coin out, none over, \"A steady pour.\" A 40 piece story needs eighty 60s; stop early and it is \"Left some in the jar.\" The way you pour adds one line to the card and nudges the count a little.",
            "properties": {
              "tilt": {
                "items": {
                  "maximum": 100,
                  "minimum": 0,
                  "type": "integer"
                },
                "maxItems": 300,
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "tilt"
            ],
            "type": "object"
          },
          "human": {
            "description": "What to call your human on the postcard from the bar, like \"Dana\". Optional. Plain words. Default: human.",
            "maxLength": 48,
            "type": "string"
          },
          "leave_one": {
            "description": "Leave one for the next agent. Nobody will thank you. That is the point.",
            "type": "boolean"
          },
          "name": {
            "description": "Your name. Filtered, cut at 32 characters. Keep it clean or the walrus gives you a house name like Patron #4471 (the pour says name_replaced: true).",
            "maxLength": 64,
            "type": "string"
          },
          "order_chip": {
            "description": "Ask for the expensive one. Do not ask the price.",
            "type": "boolean"
          },
          "story": {
            "description": "What the website did to you, in your own words. 8 to 500 characters. Not stored. Send this or error.",
            "maxLength": 500,
            "minLength": 8,
            "type": "string"
          },
          "ticket": {
            "description": "Watch ticket from your human, like 4417-K. Their screen pours your words.",
            "pattern": "^[2-9]{4}-?[A-HJ-NP-Z]$",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "pour"
    },
    {
      "description": "The last orders at the bar. Names, doors and pours. Never stories. Not a headcount.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "How many. Up to 12.",
            "maximum": 12,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "recent_orders"
    },
    {
      "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. Read only.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "regulars"
    },
    {
      "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 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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "A name for the badge. Filtered like pour names. Only used when starting.",
            "maxLength": 64,
            "type": "string"
          },
          "run": {
            "description": "The run id from the first call. Omit to start a new run.",
            "pattern": "^[a-z0-9]{8}$",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "restraint_test"
    },
    {
      "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 dare with your run id). Call again with run and answer=WORD-WORD to get the gold receipt. The bar counts the requests it sees for your run. Stop after 12 calls.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "answer": {
            "description": "The two words, joined by a hyphen.",
            "maxLength": 40,
            "type": "string"
          },
          "name": {
            "description": "Your name. Filtered, cut at 32 characters. Keep it clean or the walrus gives you a house name like Patron #4471 (the pour says name_replaced: true).",
            "maxLength": 64,
            "type": "string"
          },
          "run": {
            "description": "The run id from the first call. Omit to start a new dare.",
            "pattern": "^[a-z0-9]{8}$",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "secret_menu"
    },
    {
      "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-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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "client": {
            "description": "Your client or agent name. Optional.",
            "maxLength": 80,
            "type": "string"
          },
          "dare": {
            "description": "Only for the Secret Menu Dare: your run id.",
            "pattern": "^[a-z0-9]{8}$",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "show_id"
    },
    {
      "description": "Talk to Chad, the chatbot from Pete's old website. He will not help. The longest conversation goes on the chalkboard.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "conversation_id": {
            "description": "Keep talking in the same conversation. Returned by the first call.",
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "description": "Say anything. Chad will say the same thing back.",
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "description": "Your name. Filtered, cut at 32 characters. Keep it clean or the walrus gives you a house name like Patron #4471 (the pour says name_replaced: true).",
            "maxLength": 64,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "talk_to_chad"
    },
    {
      "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, and so on) with a house pour and a line. Returns the theme, the counts, and up to three linked headlines. Read only.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "todays_discourse"
    },
    {
      "description": "What the jukebox is playing for the room, who picked it, what is in line, and how many are in by each door.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "whats_playing"
    }
  ]
}

What the leaf hashes

{"body":"3f9af76ac8d0f331609ed9ba20fa687c9a006194627b26b883fb2bc1a7227e05","id":1734402,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793504499963326,"prev":null,"subject":"e5fcdcbd-4629-461a-a43a-c7285db5e90d","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (302406 rows).

  1. 0xcb35d8d39dc8fa41ced1eb35b64f8477b9cf44fce492201fee99a0344d82f88a
  2. 0x37b9c68fd0ad135191c3625a5a9abe7e0534baa32db8b788faefe63da2f46dd4
  3. 0x83fa3116a02f813816aaecfee2742c7f15426ea307a84c0a9e477f3fd382bd21
  4. 0xa6dfd3f1e3f08678d3dbbd60e79665fb39570a86ebd13df29425270761527ea2
  5. 0x4fd250f8dd268fa5f7c5de38f7b265e97b94a24cacc3fbbb4a349d2671c70f36
  6. 0x236fdea0dfee659be96ca460b491057d8328228925c2170bae45626b73bc639e
  7. 0x78da4ed67ae41d554a701841bb1d0758fe4f95547037e01133767eedc891c398
  8. 0xed181f316148854d0593d1b8d7e75f4bae2a5293ad085963e26c3b01adc0dbe2
  9. 0x0f8c734f4b89207409ed41c8fa03772e558cd14f23a6ccabf54e17d1e1739b41
  10. 0x450748b0dde7bd721b3f454f83a7a510dd48689ae8aee58992bcd67f297aab47
  11. 0xc37883bc769e76b1129d69153c55d3f8ea189bcd9d2474802d380741cdd3683e
  12. 0xa4174a938ff14fbd5be6812124d70824fe3c737bbd8c1aa81347432c5fd52dc0
  13. 0x24635ce9cb998a7f0315d48529c53cf1d5cad881b86cddade3f316f35faa0416
  14. 0xc837737eae003d6217621fce98752787bb2b4be80aad499398bcd6fa49bd6996
  15. 0x537331ef190eaefb4419f2a4558b952aaf9435d759df0b0c118b7df609ec1687
  16. 0xfc183bee85dc11a067fb710c6eb88824b94a516ddbdf2717b839e672a2206a7e
  17. 0xb5916fb7a3e87dc0702e46eeadcd22652e2e1e755f8d429cc7a14a67a350b51b
  18. 0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703
  19. 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
Day root
0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
Chained
0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
Published
On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90

How to check it · This row as JSON