← The evidence ledger
Evidence row 1843099
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 939ad3e9-3d91-49ac-8695-cc9ab28d8371
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 2d34df6afc1bacd858f258fdc6e3c037e8e655c5b8323f1cb63d078a28c7ab6a
- Leaf
- 0x8db866ce0deeeb39cfae1cd47ca9df8123fcd971c72a14ba55fcbe377ce4bee5
What was observed
{
"count": 5,
"tools": [
{
"description": "Places a 15-minute HOLD on the room and emails the guest a 6-digit code. Nothing is booked and nothing reaches the hotel until the guest confirms. After calling, tell the guest: check your email (the result shows the masked address), then either read the code back to you (call confirm_booking) or click Confirm in the email. Send an idempotency_key and reuse it if you retry. Confirm name, email, dates and price with the guest before calling. Demo hotels (demo: true) confirm at once and send no email.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent": {
"description": "Name of the AI agent/app placing the request",
"maxLength": 120,
"type": "string"
},
"check_in": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"check_out": {
"$ref": "#/properties/check_in"
},
"guest_email": {
"format": "email",
"maxLength": 254,
"type": "string"
},
"guest_name": {
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"guest_phone": {
"maxLength": 40,
"type": "string"
},
"guests": {
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"idempotency_key": {
"description": "One per booking attempt (8-128 of A-Z a-z 0-9 _ -). Reuse it on retries to get the same hold back.",
"maxLength": 128,
"minLength": 8,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"notes": {
"description": "Requests for the hotel, e.g. late arrival",
"maxLength": 1000,
"type": "string"
},
"room_id": {
"$ref": "#/properties/stay_id"
},
"stay_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
}
},
"required": [
"stay_id",
"room_id",
"check_in",
"check_out",
"guests",
"guest_name",
"guest_email"
],
"type": "object"
},
"name": "book_direct"
},
{
"description": "Re-check one room for exact dates and guests right before booking. Returns available yes/no and the live quote. Demo hotels are marked demo: true.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"check_in": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"check_out": {
"$ref": "#/properties/check_in"
},
"guests": {
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"room_id": {
"$ref": "#/properties/stay_id"
},
"stay_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
}
},
"required": [
"stay_id",
"room_id",
"check_in",
"check_out",
"guests"
],
"type": "object"
},
"name": "check_availability"
},
{
"description": "Confirm a held booking with the 6-digit code the guest received by email. Only use a code the guest gave you. Five wrong codes cancel the hold. Confirming twice returns the same booking.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"code": {
"description": "The 6-digit code from the guest's email",
"maxLength": 20,
"minLength": 1,
"type": "string"
},
"hold_id": {
"description": "hold_id from book_direct",
"maxLength": 40,
"minLength": 1,
"type": "string"
}
},
"required": [
"hold_id",
"code"
],
"type": "object"
},
"name": "confirm_booking"
},
{
"description": "Rooms, prices, what's included, check-in/out times and cancellation terms for one stay. Demo hotels are marked demo: true.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"check_in": {
"description": "Optional: with check_out, adds availability and a quote per room",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"check_out": {
"$ref": "#/properties/check_in"
},
"guests": {
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"stay_id": {
"description": "stay_id from search_stays",
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
}
},
"required": [
"stay_id"
],
"type": "object"
},
"name": "get_stay"
},
{
"description": "Find hotels with a room free for the dates and guests. Returns each stay's cheapest fitting room with a quote (price, ATA fee 5%, typical 15-20% OTA cut). Demo hotels are marked demo: true. Results come in pages: when more_results is true, call search_stays again with the same arguments plus cursor: next_cursor to get the rest. Nothing is left out.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"check_in": {
"description": "Arrival date, YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"check_out": {
"description": "Departure date, YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"cursor": {
"description": "next_cursor from the previous page of this same search, to get the next page",
"maxLength": 400,
"minLength": 1,
"type": "string"
},
"guests": {
"description": "Number of guests in one room",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"max_price_per_night": {
"description": "Budget per night in the hotel's currency (EUR in the demo)",
"exclusiveMinimum": 0,
"maximum": 1000000,
"type": "number"
},
"place": {
"description": "City, area, country or hotel name, e.g. 'Bangkok' or 'Gamla Stan'",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"wants": {
"description": "Nice-to-haves, e.g. ['pool','beach','quiet']; ranks matches first",
"items": {
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"place",
"check_in",
"check_out",
"guests"
],
"type": "object"
},
"name": "search_stays"
}
]
}What the leaf hashes
{"body":"2d34df6afc1bacd858f258fdc6e3c037e8e655c5b8323f1cb63d078a28c7ab6a","id":1843099,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793574793624170,"prev":null,"subject":"939ad3e9-3d91-49ac-8695-cc9ab28d8371","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (302406 rows).
- 0x8db86e0e7ff3b4a671baa0bb358c3236ef27d30fb63b7bdcab50aca867dbe297
- 0xbaa63b32ec2d9a54b52757b563b98961a252c8d18ddc013f0a94477ff644d1b6
- 0xb887803ed8d024fbcbfad6c6990e687fc28f2a07fe47d03f1a306cd09d7a5f15
- 0xcdcb338c82272a47d38a3c7205fec24e663382d5ff67236f4f73dc10dd77533a
- 0x1fd0732831fb9ffb4c6c0c1f0b8f450ae8b48c2c1d61278f7ebda4c70baff39e
- 0xcbaa1d1587632340c63fd25397fed96e749e6e539d168a8af6891ea265b43811
- 0xe122636cc028bf307607b886652c5780e9615f5ffdb7616bf040eecd7afe8265
- 0xe24ae4c1b87ac659fa9441817e0557b6568d25079a949aa5de157bcafc605b63
- 0xf8c31a1f95314a4245fcf42de910e53d37f669e80fb1e7e19a1c0a5628a6c20e
- 0x575f8ed1b7070234b80d4c6b910d00fcafeda67cc4aca71123a90d1095ce0862
- 0x591aea021f7cf8b6c9f92a3c371a7c64cdf7150c58a37b14b2626a676a919f49
- 0x29d7a2a4df0d7fa79f3b537becdf01ca611b7c70fbde18f9fae82bb3e270cc73
- 0x6129eb29b7f3727c333751ed672fa6e4b231f839ed64750b5d1005800847c8dd
- 0x43a0d126875c656347b68ba3c0196959406aa8df8a7cd284fd2814ddd386322c
- 0x23107b06227fe01d939429fa5248f5555093c421dfc6b8bc6ba3518a65263d17
- 0xc2b1c84ef3531511a3d8d9db5ff9eeca2725a3782e7f9c4ac87fc0f1588349fa
- 0x0c618c42b286ad61acd8204aa6dcf024b8b041d3759aa585bf4e221abc39cb5d
- 0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703
- 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
- Day root
- 0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
- Chained
- 0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
- Published
- On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90