addrbookFor publishers
← The evidence ledger

Evidence row 308046

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 3a5601ba-1969-44c7-b272-7150384adccd
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
9734915f587bc37b7e4b0ad412e69854d9ddc26a8af2c10ea6759324120a62f7
Leaf
0x4587e4541164e9bd14e55b6e6249c9004c4924fe3f21329d38f77a8e28d489e9

What was observed

{
  "count": 11,
  "tools": [
    {
      "description": "Add a product variant to a basket. Get variant IDs from get-product. Returns the updated basket.",
      "inputSchema": {
        "properties": {
          "basket_token": {
            "description": "The basket token from create-basket.",
            "type": "string"
          },
          "quantity": {
            "description": "Quantity to add (default 1).",
            "type": "integer"
          },
          "variant_id": {
            "description": "The product variant ID to add.",
            "type": "integer"
          }
        },
        "required": [
          "basket_token",
          "variant_id"
        ],
        "type": "object"
      },
      "name": "add-to-basket"
    },
    {
      "description": "Apply a discount code to a basket. Returns the updated basket with the discount reflected in the totals.",
      "inputSchema": {
        "properties": {
          "basket_token": {
            "description": "The basket token from create-basket.",
            "type": "string"
          },
          "code": {
            "description": "The discount code to apply.",
            "type": "string"
          }
        },
        "required": [
          "basket_token",
          "code"
        ],
        "type": "object"
      },
      "name": "apply-discount-to-basket"
    },
    {
      "description": "Create a new basket. Returns a basket_token — keep it and pass it to every basket and checkout tool. Treat it as a secret.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "create-basket"
    },
    {
      "description": "Check an order's status. Requires the order number AND the email it was placed with.",
      "inputSchema": {
        "properties": {
          "email": {
            "description": "The email address the order was placed with.",
            "type": "string"
          },
          "order_number": {
            "description": "The order number, e.g. ORD-260612-AB3D.",
            "type": "string"
          }
        },
        "required": [
          "order_number",
          "email"
        ],
        "type": "object"
      },
      "name": "get-order-status"
    },
    {
      "description": "Get a product's full details by slug: description, options, and every variant with its SKU, price and stock. Variant IDs are what you add to a basket.",
      "inputSchema": {
        "properties": {
          "slug": {
            "description": "The product slug, e.g. \"enamel-mug\".",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get-product"
    },
    {
      "description": "List available delivery methods, optionally filtered by destination country (ISO 2-letter code). Use the method ID in start-checkout.",
      "inputSchema": {
        "properties": {
          "country": {
            "description": "Optional ISO 3166-1 alpha-2 destination country, e.g. \"GB\".",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list-shipping-methods"
    },
    {
      "description": "Remove a line from a basket. Returns the updated basket.",
      "inputSchema": {
        "properties": {
          "basket_token": {
            "description": "The basket token from create-basket.",
            "type": "string"
          },
          "item_id": {
            "description": "The basket line ID (from view-basket).",
            "type": "integer"
          }
        },
        "required": [
          "basket_token",
          "item_id"
        ],
        "type": "object"
      },
      "name": "remove-from-basket"
    },
    {
      "description": "Search the shop catalogue. Returns matching products with their slugs, price and stock availability. Use get-product for full details and variants.",
      "inputSchema": {
        "properties": {
          "query": {
            "description": "Search terms. Omit or leave empty to list the latest products.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "search-products"
    },
    {
      "description": "Turn a basket into an order and get payment links. Two ways to pay: a human pay_url (pay-by-bank, the customer authorises in their banking app) and, when offered, an x402_payment_url for autonomous USDC settlement with no human needed. Never claim to have paid — confirm with get-order-status. For digital-only baskets, only name and country are required in shipping_address.",
      "inputSchema": {
        "properties": {
          "basket_token": {
            "description": "The basket token from create-basket.",
            "type": "string"
          },
          "email": {
            "description": "Customer email for order confirmation.",
            "type": "string"
          },
          "shipping_address": {
            "description": "Customer address. For digital-only baskets only name and country are needed; physical orders also need line1, city and postcode.",
            "properties": {
              "city": {
                "description": "Required for physical delivery; omit for digital-only baskets.",
                "type": "string"
              },
              "country": {
                "description": "ISO 2-letter country code, e.g. GB.",
                "type": "string"
              },
              "county": {
                "type": "string"
              },
              "line1": {
                "description": "Street address. Required for physical delivery; omit for digital-only baskets.",
                "type": "string"
              },
              "line2": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "postcode": {
                "description": "Required for physical delivery; omit for digital-only baskets.",
                "type": "string"
              }
            },
            "required": [
              "name",
              "country"
            ],
            "type": "object"
          },
          "shipping_method_id": {
            "description": "Delivery method ID from list-shipping-methods. Omit for baskets containing only digital products.",
            "type": "integer"
          }
        },
        "required": [
          "basket_token",
          "email",
          "shipping_address"
        ],
        "type": "object"
      },
      "name": "start-checkout"
    },
    {
      "description": "Change the quantity of a basket line. A quantity of 0 removes it. Returns the updated basket.",
      "inputSchema": {
        "properties": {
          "basket_token": {
            "description": "The basket token from create-basket.",
            "type": "string"
          },
          "item_id": {
            "description": "The basket line ID (from view-basket).",
            "type": "integer"
          },
          "quantity": {
            "description": "New quantity; 0 removes the line.",
            "type": "integer"
          }
        },
        "required": [
          "basket_token",
          "item_id",
          "quantity"
        ],
        "type": "object"
      },
      "name": "update-basket-item"
    },
    {
      "description": "View a basket: its lines, quantities and subtotal.",
      "inputSchema": {
        "properties": {
          "basket_token": {
            "description": "The basket token from create-basket.",
            "type": "string"
          }
        },
        "required": [
          "basket_token"
        ],
        "type": "object"
      },
      "name": "view-basket"
    }
  ]
}

What the leaf hashes

{"body":"9734915f587bc37b7e4b0ad412e69854d9ddc26a8af2c10ea6759324120a62f7","id":308046,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793058030617705,"prev":null,"subject":"3a5601ba-1969-44c7-b272-7150384adccd","subject_kind":"endpoint"}

Proof

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

  1. 0x4587bdff47d9fffb36509e37eb1bc00715277250307e2622996df4b1b4e4ac59
  2. 0xc973bdefc29ca794099d5a797f0d098897fe5bf1e066297e85b7af13beb971ea
  3. 0x7b6691f93c2e9093b8cf881926d958584a55ae7eb20f5100fbbb1df9ea2c8722
  4. 0xf8c8fa47d996549460dbd7109d352f36aef31f78996335809f213201b4e1e9be
  5. 0x66814e8e952eaf8d6ae20c1e2ad90dc1216eb9d09308a85f96b7f87a086cb109
  6. 0x2f1d8a42d865c50d2bcf7a41845e0ce90eadb0f55de9a5d8bf5bd25036f4e695
  7. 0x97fac4236d6c020704cf770246d43dc05886fa50f6637c359dbc77d34ebd849d
  8. 0x14c69bc717852ed2327a8207b6577764a345a59c5a67a7fb88df9aae541c91ad
  9. 0x8ccae0c72bedadd26237e0b23bd7aec5a02bcf13f1046e422eaa0e21c60ce58b
  10. 0x75efd3c597556136979ad9d48e37e655b7474b696bfc717fdfd33c62119b363e
  11. 0x415bf66d9c632a887484603836ad3f90715af6f56ae73f0a5711497372ba0265
  12. 0x804dd9d5afe0f1a780e24099fb6b21f5f20545893ea0eeddf5fb9114e2f3edd5
  13. 0x54b29089c0a3cbbd6ddbe58944696110984dd5f418275cb1b77f957c56da8eab
  14. 0x8b27a4c21bf4ba962fd008c8f4300bc6953764a5032b9ab0cfe696b318c45326
  15. 0x4b52a97f7a80ff7778a702b85267b8d2e5c93ce160942656435c29ae7be68bf4
  16. 0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON