addrbookFor publishers
← The evidence ledger

Evidence row 766039

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint bfe87816-884c-472c-9567-a221708b4e97
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f576a8469fa60c4b5e4f2a675773d04a348c22bc488829f3aea7ecd0a91a3f26
Leaf
0x7e7d53de74bd7186bba657219b60ee97a7392754d827694f8560fde351d3de8f

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Use this when someone asks what a photo book (Dutch: fotoboek) costs, how foto foto's price compares with other services, or which services sell a layflat book, a linen cover or fine-art paper. Prices one book (binding, cover, paper, pages) at foto foto and at albelli, CEWE, Fotofabriek, Pixum, smartphoto, Kruidvat, Profotonet and Saal Digital, cheapest first, with the page each price was read from. List prices in euros with VAT, without shipping or discounts. For a book that was already made, get_book gives its price with shipping. Free, changes nothing.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "binding": {
            "description": "perfect: the standard binding, where the pages curve towards the spine. layflat: opens completely flat, up to 120 pages.",
            "enum": [
              "perfect",
              "layflat"
            ],
            "type": "string"
          },
          "cover": {
            "description": "smooth: the standard hardcover. linen: a linen hardcover.",
            "enum": [
              "smooth",
              "linen"
            ],
            "type": "string"
          },
          "pages": {
            "description": "Printed pages, an even number from 24 to 300, layflat up to 120. An odd count is rounded up and a count outside the range is moved inside it. Default 78.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "paper": {
            "description": "glossy (the standard), matte or fine-art.",
            "enum": [
              "glossy",
              "matte",
              "fine-art"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "compare_photo_book_prices"
    },
    {
      "description": "Use this when the person wants a photo book (Dutch: fotoboek) made from photos they attached, direct image links, or a public iCloud Shared Album link. Designs a draft book from the photos in the supplied order; nothing is ordered or charged. Photos the person attached in this chat go in attachments, which ChatGPT fills in; never pass local file paths. Otherwise provide direct CDN image URLs or uploadIds from POST /api/connector/photos in photos, or a public iCloud Shared Album link as sharedAlbumUrl (https://www.icloud.com/sharedalbum/#TOKEN). A book needs at least 24 pages to be printed, so a handful of photos gives a book that can be viewed but not yet ordered. Returns a preview and a private link to save the book by email. No account setup. Allow up to 180 seconds for imports.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "attachments": {
            "description": "Photos the person attached in this chat. ChatGPT supplies the file objects; never invent them.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "download_url": {
                  "type": "string"
                },
                "file_id": {
                  "type": "string"
                },
                "file_name": {
                  "type": "string"
                },
                "mime_type": {
                  "type": "string"
                }
              },
              "required": [
                "download_url",
                "file_id"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "idempotencyKey": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "language": {
            "description": "Two-letter code of the language the person writes in, such as nl or en.",
            "maxLength": 35,
            "type": "string"
          },
          "photos": {
            "description": "Public https image URLs on a known CDN, or uploadIds. Not for chat attachments or local paths.",
            "items": {
              "properties": {
                "filename": {
                  "default": "photo.jpg",
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "uploadId": {
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
                  "type": "string"
                },
                "url": {
                  "format": "uri",
                  "maxLength": 4096,
                  "type": "string"
                }
              },
              "type": "object"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "productId": {
            "maxLength": 100,
            "type": "string"
          },
          "sharedAlbumUrl": {
            "description": "Public iCloud Shared Album link, used instead of photos.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "title": {
            "maxLength": 120,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "idempotencyKey",
          "title"
        ],
        "type": "object"
      },
      "name": "create_book"
    },
    {
      "description": "Prepare an optional Stripe checkout link after email claim, using the bookToken. No charge occurs until the user confirms payment at Stripe. Collect the destination country first. Reuse idempotencyKey on retry.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "bookId": {
            "maxLength": 100,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_-]+$",
            "type": "string"
          },
          "bookToken": {
            "pattern": "^[a-f0-9]{64}$",
            "type": "string"
          },
          "country": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "idempotencyKey": {
            "maxLength": 100,
            "minLength": 8,
            "pattern": "^[a-zA-Z0-9_-]+$",
            "type": "string"
          },
          "quantity": {
            "default": 1,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "bookId",
          "bookToken",
          "country",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "create_checkout"
    },
    {
      "description": "Prepare a fixed payment quote for a printed book, including shipping, for MPP and, when listed, x402 (USDC on Base). Requires a complete delivery address. No charge yet. Ask the user to confirm before paying: pay_book for MPP, or POST paymentUrl with an x402 client for USDC. Quote expires after 15 minutes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "bookId": {
            "maxLength": 100,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_-]+$",
            "type": "string"
          },
          "bookToken": {
            "pattern": "^[a-f0-9]{64}$",
            "type": "string"
          },
          "country": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "idempotencyKey": {
            "maxLength": 100,
            "minLength": 8,
            "pattern": "^[a-zA-Z0-9_-]+$",
            "type": "string"
          },
          "quantity": {
            "default": 1,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "shippingAddress": {
            "properties": {
              "addressLine1": {
                "maxLength": 160,
                "minLength": 1,
                "type": "string"
              },
              "addressLine2": {
                "maxLength": 160,
                "type": "string"
              },
              "city": {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              "firstName": {
                "maxLength": 80,
                "minLength": 1,
                "type": "string"
              },
              "lastName": {
                "maxLength": 80,
                "minLength": 1,
                "type": "string"
              },
              "phone": {
                "maxLength": 40,
                "minLength": 5,
                "type": "string"
              },
              "postalCode": {
                "maxLength": 20,
                "minLength": 1,
                "type": "string"
              },
              "state": {
                "maxLength": 100,
                "type": "string"
              }
            },
            "required": [
              "firstName",
              "lastName",
              "addressLine1",
              "city",
              "postalCode",
              "phone"
            ],
            "type": "object"
          }
        },
        "required": [
          "bookId",
          "bookToken",
          "country",
          "idempotencyKey",
          "shippingAddress"
        ],
        "type": "object"
      },
      "name": "create_payment_quote"
    },
    {
      "description": "Use this to show a book that was already made, or to get its price for one copy including shipping when country is supplied. Needs the book's private bookToken. Photos, cover, title, layout and materials are changed in the foto foto editor.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "bookId": {
            "maxLength": 100,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_-]+$",
            "type": "string"
          },
          "bookToken": {
            "pattern": "^[a-f0-9]{64}$",
            "type": "string"
          },
          "country": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "language": {
            "description": "Two-letter code of the language the person writes in, such as nl or en.",
            "maxLength": 35,
            "type": "string"
          }
        },
        "required": [
          "bookId",
          "bookToken"
        ],
        "type": "object"
      },
      "name": "get_book"
    },
    {
      "description": "List book types, shipping countries and photo requirements. Free.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_catalog"
    },
    {
      "description": "Buy the exact quoted book using native MPP. Only after the buyer approves its total and delivery address. Supply quoteId and bookToken. A payment challenge is returned through JSON-RPC; retry the same call with the authorized payment credential in _meta. This charges the buyer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "bookToken": {
            "pattern": "^[a-f0-9]{64}$",
            "type": "string"
          },
          "quoteId": {
            "pattern": "^[a-f0-9]{64}$",
            "type": "string"
          }
        },
        "required": [
          "quoteId",
          "bookToken"
        ],
        "type": "object"
      },
      "name": "pay_book"
    },
    {
      "description": "Use this when someone wants to make a printed photo book (Dutch: fotoboek) or photo album but has not shared any photos yet. Shows a card where they pick the photos, in order, right here. Nothing is ordered or charged.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "language": {
            "description": "Two-letter code of the language the person writes in, such as nl or en.",
            "maxLength": 35,
            "type": "string"
          },
          "title": {
            "maxLength": 120,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "start_photo_book"
    }
  ]
}

What the leaf hashes

{"body":"f576a8469fa60c4b5e4f2a675773d04a348c22bc488829f3aea7ecd0a91a3f26","id":766039,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793179385849105,"prev":null,"subject":"bfe87816-884c-472c-9567-a221708b4e97","subject_kind":"endpoint"}

Proof

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

  1. 0x7e7d6de641529c4ee97c61c155bff7f423f159ed17c1b739fec0cb190cd2c6a1
  2. 0xfc869c6dc05a0f0085cbe2fbf5197f6f9e06fa1615cdab6ac8c7e96b5fbdb502
  3. 0xa0fdb5a009032d1cb013d20f3f4b369e07f96a13d753515c8f44a29b65bc1b6b
  4. 0xc9a177e4d5983d22a34bc17e1f0d3f71db993e008833a7c08681f59533dd0bb4
  5. 0x6bf85a61d263fb88d2ef2308403460a61676edbd00604762303f071d6a7e0d63
  6. 0x8ee3f2d40552ab00a76781771691bfc48ee25fa34c0db9010b6326acf2365d32
  7. 0x721431e9a7ff6a39f8ac7c51574f5a688a7a1bd53ec627f1b21b333c0c2b7cda
  8. 0x65bc3bed3b891056fc2591f8136c33cedbe93d381212245d85d9c186d56b78cf
  9. 0xc53e583ebdd2c64768e2f66b391c7622882b55a00e8d9b5e560666d2328bd7f7
  10. 0x0080186a646eb2f73c8fb930c4477d978b42bb094b89baf3dae18eea99307d6b
  11. 0x0736048f82aec2b6271d333dcc2e3d6b83d61035358a6f0ae67b8db47875194c
  12. 0xf1d12da4d227242f97d9bc58d06140106dee16d6d541ebe113d7c7f6ab2d8b67
  13. 0xf042be8757f2f3ef070e717e38a7b0ad951d74298e721ac0b2e7855db790e392
  14. 0x40581185279a8bf075dca3a4c3a5648ec6f62098ba7402cbc097d5cc707e0840
  15. 0xab4e84d781dccd579dcf5c47a356a4a2e6cac58a2aefdf3543a3fa15238fa4db
  16. 0x74cf00e07b52415c2184cf20be69d195ed2725497a6892c2f3e449497c17d0ec
  17. 0x7a743a0a09057bae687051274e1d45bf973bd36a1a4ba16a191b5d29e3bdfa2a
  18. 0xe027395fafb7fc41921c42ca0542524ea22204cbd5908b70b27f3d5fb26f5d0f
Day root
0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
Chained
0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
Published
On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae

How to check it · This row as JSON