addrbookFor publishers
← The evidence ledger

Evidence row 568328

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint a0dae477-cfc9-44c4-8442-0d512ede453f
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
994a599a64817d8f9f9cf59ae7cca0a3c1c6f936c6b8e12dea996becbee75b37
Leaf
0x7b00d4968ee409d678a4341c757f6f52614de537a2122a7144ea5cf2ecb9c5a8

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Live catalogue totals plus the valid values for search filters (brands, product types, conditions, flexes, hands, price range). Call this before filtered searches if unsure which brand or product_type spellings the catalogue uses.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "context": {
            "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
            "type": "string"
          }
        },
        "required": [
          "context"
        ],
        "type": "object"
      },
      "name": "get_catalog_stats"
    },
    {
      "description": "Deal-quality assessment for one product: CaddenceScore (0-100 rating of the current best DEAL, not the club), price trajectory vs typical/low/high, used market stats, and per-build availability (condition/flex/loft/hand) with the cheapest retailer and a buy_url purchase link per build. Use this to answer \"is this a good price right now?\".",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "context": {
            "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
            "type": "string"
          },
          "product": {
            "description": "Product slug (preferred, from search results) or numeric product id",
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "description": "Alias for product — pass either",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "context"
        ],
        "type": "object"
      },
      "name": "get_deal_intelligence"
    },
    {
      "description": "Current best-value products across the UK market: largest verified price spreads between retailers (3+ retailers, false-positive filters applied). Good for \"what are the best golf deals right now?\". Follow up with get_product_offers for purchase links.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "category": {
            "description": "Product type filter, e.g. \"driver\", \"iron_set\", \"putter\"",
            "type": "string"
          },
          "context": {
            "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
            "type": "string"
          },
          "limit": {
            "default": 10,
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "context"
        ],
        "type": "object"
      },
      "name": "get_market_deals"
    },
    {
      "description": "Daily lowest/average UK price for one product over a trailing window, plus summary stats (historical low with date, high, trend direction). Optionally scoped to a variant configuration; if the variant series is too thin the backend falls back to product-level history (see scope field).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "condition": {
            "enum": [
              "new",
              "used"
            ],
            "type": "string"
          },
          "context": {
            "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
            "type": "string"
          },
          "days": {
            "default": 90,
            "description": "Trailing window in days",
            "maximum": 365,
            "minimum": 7,
            "type": "integer"
          },
          "flex": {
            "type": "string"
          },
          "hand": {
            "description": "e.g. \"RH\" or \"LH\"",
            "type": "string"
          },
          "loft": {
            "type": "string"
          },
          "product": {
            "description": "Product slug (preferred, from search results) or numeric product id",
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "description": "Alias for product — pass either",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "context"
        ],
        "type": "object"
      },
      "name": "get_price_history"
    },
    {
      "description": "Current UK retailer offers for one product, in-stock first then cheapest, with variant details (shaft, flex, hand, loft, condition). The summary object always gives the cheapest in-stock new offer and the cheapest in-stock used offer, with counts, whatever condition is requested. Used means every second-hand condition (used, refurbished, ex-display); each offer still states its own condition. Set condition to \"new\" when the shopper wants a new club and \"used\" for second-hand; the default \"all\" mixes both. Each offer and each cheapest entry includes buy_url, a Caddence redirect link. Always present buy_url as the purchase link when the user wants to buy; never reconstruct or substitute retailer URLs.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "condition": {
            "description": "Which offers to list: \"new\", \"used\" (any second-hand condition) or \"all\" (default; reserves room for both so used stock cannot hide new). Applied before the 30-offer cap.",
            "enum": [
              "new",
              "used",
              "all"
            ],
            "type": "string"
          },
          "context": {
            "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
            "type": "string"
          },
          "product": {
            "description": "Product slug (preferred, from search results) or numeric product id",
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "description": "Alias for product — pass either",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "context"
        ],
        "type": "object"
      },
      "name": "get_product_offers"
    },
    {
      "description": "Search Caddence's UK golf equipment price-comparison catalogue (clubs, balls, bags, shoes, accessories across all major UK golf retailers; prices in GBP, refreshed daily). Returns best current prices with retailer counts. When in_stock is false, price is the last seen price, not a live offer. For retailer offers and purchase links, follow up with get_product_offers using the returned slug. If unsure of valid brand or product_type values, call get_catalog_stats first.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "brand": {
            "description": "Exact brand filter, e.g. \"Titleist\"",
            "type": "string"
          },
          "condition": {
            "enum": [
              "new",
              "used"
            ],
            "type": "string"
          },
          "context": {
            "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
            "type": "string"
          },
          "limit": {
            "default": 10,
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "max_price": {
            "description": "Maximum price in GBP",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "min_price": {
            "description": "Minimum price in GBP",
            "minimum": 0,
            "type": "number"
          },
          "offset": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "on_sale": {
            "description": "Only products currently below RRP",
            "type": "boolean"
          },
          "product_type": {
            "description": "Exact type filter, e.g. \"driver\", \"iron_set\", \"putter\", \"balls\"",
            "type": "string"
          },
          "query": {
            "description": "Free-text search, e.g. \"taylormade qi10 driver\"",
            "type": "string"
          },
          "sort_by": {
            "enum": [
              "price_low",
              "price_high",
              "savings",
              "rrp_discount"
            ],
            "type": "string"
          }
        },
        "required": [
          "context"
        ],
        "type": "object"
      },
      "name": "search_golf_products"
    }
  ]
}

What the leaf hashes

{"body":"994a599a64817d8f9f9cf59ae7cca0a3c1c6f936c6b8e12dea996becbee75b37","id":568328,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138983378714,"prev":null,"subject":"a0dae477-cfc9-44c4-8442-0d512ede453f","subject_kind":"endpoint"}

Proof

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

  1. 0x7b009c172ca84fac4d0f0c54c898e1e175bc146b3d16e96a82e54ddf42979f75
  2. 0x020a2211952f5cd630512fad78ce6a4f25a3a793a2ef295f3eb5804f11f6f544
  3. 0x0affecb1429c5ecdfe4e21e63be78f60dc300f0387e032ce86903f3c5ee97567
  4. 0x7807ef0a2cc2f26c2de3f2b8dcdea336cb7cbbb51b0ecafaea0f462358a76699
  5. 0x29c82b5d1f3d8d8c5c07c9b7256811b4db0d67b1710a3793f8898e02a345ba08
  6. 0x30666b8f8dede1980bbc5dc91bf200904e3d0c3e059d3d52159a4e7f19a7a9ce
  7. 0xf48ce44e782c9dfb0a0eabcf04578c4d085f31fda08e71866a4fa9b9c8e25c29
  8. 0x0393524a7b08577bcb0082fbecece07e4a642d0d412c9e4f95bc5f05e81a6508
  9. 0x052b54bf9ef59149f047f91c868c9dd7147804cc949509af060da089db214721
  10. 0xfef57df15e224ff9386b18d4cb8f7ec9c25b01deb7b18ef2a9c35d5bed8ea685
  11. 0x926531ee7b85e18ef250d5e2cf7f1fe039b14d7d9a1ebadd7e87f963de66741a
  12. 0x0574b16d30fa9d3621e88c3779ea2cd142521826d4e75735f3ae6d4ed075cfc4
  13. 0x8f2d125f5fe55a24b5da16577766eeaa13f24a272bb4c1c016f423ae917da681
  14. 0x9848c068b1371232529d2b5738fdc45b854c57da041b69ea7c9e112b14e2d9d1
  15. 0x275720ecabb68df33eee92ae4fd70572a8d952d6c61c061c2869cfc3217aa5c5
  16. 0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON