addrbookFor publishers
← The evidence ledger

Evidence row 1474825

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 244cf130-b3a7-4074-8961-d32760ce7f2f
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
1ebed06e0c08ecaf3cf23c66fd125b7e432dc340356f661d728267c1a0ddd635
Leaf
0xf933a4aa120e25de6ef93a3d571029a2b98907bb480b780308a0941c1aacd530

What was observed

{
  "count": 11,
  "tools": [
    {
      "description": "Generate LocalBusiness JSON-LD (schema.org) from business details and validate it against Google's rich result rules. Returns the JSON-LD, a ready-to-paste <script> tag and issues to fix. No API key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "acceptsReservations": {
            "type": "boolean"
          },
          "address": {
            "additionalProperties": false,
            "properties": {
              "addressCountry": {
                "description": "ISO 3166-1 alpha-2, e.g. NL or US",
                "maxLength": 60,
                "type": "string"
              },
              "addressLocality": {
                "maxLength": 120,
                "type": "string"
              },
              "addressRegion": {
                "maxLength": 120,
                "type": "string"
              },
              "postalCode": {
                "maxLength": 20,
                "type": "string"
              },
              "streetAddress": {
                "maxLength": 200,
                "type": "string"
              }
            },
            "type": "object"
          },
          "alternateName": {
            "maxLength": 200,
            "type": "string"
          },
          "areaServed": {
            "items": {
              "maxLength": 120,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array"
          },
          "businessType": {
            "default": "LocalBusiness",
            "description": "schema.org type, e.g. Dentist, Plumber, Restaurant. See /business-types.",
            "maxLength": 60,
            "type": "string"
          },
          "currenciesAccepted": {
            "items": {
              "maxLength": 3,
              "minLength": 3,
              "type": "string"
            },
            "maxItems": 10,
            "type": "array"
          },
          "description": {
            "maxLength": 2000,
            "type": "string"
          },
          "email": {
            "maxLength": 200,
            "type": "string"
          },
          "foundingDate": {
            "pattern": "^\\d{4}(-\\d{2}-\\d{2})?$",
            "type": "string"
          },
          "geo": {
            "additionalProperties": false,
            "properties": {
              "latitude": {
                "maximum": 90,
                "minimum": -90,
                "type": "number"
              },
              "longitude": {
                "maximum": 180,
                "minimum": -180,
                "type": "number"
              }
            },
            "required": [
              "latitude",
              "longitude"
            ],
            "type": "object"
          },
          "hasMap": {
            "$ref": "#/properties/url"
          },
          "images": {
            "items": {
              "$ref": "#/properties/url"
            },
            "maxItems": 20,
            "type": "array"
          },
          "isAcceptingNewPatients": {
            "type": "boolean"
          },
          "knowsLanguage": {
            "items": {
              "maxLength": 40,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "legalName": {
            "maxLength": 200,
            "type": "string"
          },
          "logo": {
            "$ref": "#/properties/url"
          },
          "medicalSpecialty": {
            "maxLength": 80,
            "type": "string"
          },
          "menu": {
            "$ref": "#/properties/url"
          },
          "name": {
            "description": "Public business name",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "openingHours": {
            "description": "Regular hours. Days not listed are closed. Use two entries for split hours.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "allDay": {
                  "description": "Open 24 hours on these days",
                  "type": "boolean"
                },
                "closes": {
                  "$ref": "#/properties/openingHours/items/properties/opens"
                },
                "days": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  ],
                  "description": "Day names or ranges: \"Mo-Fr\", [\"Saturday\"]"
                },
                "opens": {
                  "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                  "type": "string"
                }
              },
              "required": [
                "days"
              ],
              "type": "object"
            },
            "maxItems": 21,
            "type": "array"
          },
          "paymentAccepted": {
            "items": {
              "maxLength": 60,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "priceRange": {
            "description": "e.g. €€ or €20-€80",
            "maxLength": 30,
            "type": "string"
          },
          "rating": {
            "additionalProperties": false,
            "description": "LocalSchema Pro — omitted from free output",
            "properties": {
              "bestRating": {
                "exclusiveMinimum": 0,
                "type": "number"
              },
              "ratingValue": {
                "maximum": 100,
                "minimum": 0,
                "type": "number"
              },
              "reviewCount": {
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "ratingValue",
              "reviewCount"
            ],
            "type": "object"
          },
          "reviews": {
            "description": "LocalSchema Pro — omitted from free output",
            "items": {
              "additionalProperties": false,
              "properties": {
                "author": {
                  "maxLength": 120,
                  "minLength": 1,
                  "type": "string"
                },
                "body": {
                  "maxLength": 2000,
                  "type": "string"
                },
                "datePublished": {
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                  "type": "string"
                },
                "rating": {
                  "maximum": 100,
                  "minimum": 0,
                  "type": "number"
                }
              },
              "required": [
                "author",
                "rating"
              ],
              "type": "object"
            },
            "maxItems": 20,
            "type": "array"
          },
          "sameAs": {
            "description": "Google Business Profile, Yelp, Facebook, LinkedIn… profile URLs",
            "items": {
              "$ref": "#/properties/url"
            },
            "maxItems": 30,
            "type": "array"
          },
          "servesCuisine": {
            "items": {
              "maxLength": 60,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "serviceAreaOnly": {
            "description": "True for service-area businesses without a storefront (address is hidden)",
            "type": "boolean"
          },
          "services": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "description": {
                  "maxLength": 500,
                  "type": "string"
                },
                "name": {
                  "maxLength": 120,
                  "minLength": 1,
                  "type": "string"
                },
                "price": {
                  "minimum": 0,
                  "type": "number"
                },
                "priceMax": {
                  "minimum": 0,
                  "type": "number"
                },
                "priceType": {
                  "enum": [
                    "fixed",
                    "from",
                    "range"
                  ],
                  "type": "string"
                },
                "unitText": {
                  "maxLength": 40,
                  "type": "string"
                },
                "url": {
                  "$ref": "#/properties/url"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            },
            "maxItems": 50,
            "type": "array"
          },
          "slogan": {
            "maxLength": 200,
            "type": "string"
          },
          "specialHours": {
            "description": "Holiday exceptions (LocalSchema Pro — omitted from free output)",
            "items": {
              "additionalProperties": false,
              "properties": {
                "closed": {
                  "type": "boolean"
                },
                "closes": {
                  "$ref": "#/properties/openingHours/items/properties/opens"
                },
                "label": {
                  "maxLength": 80,
                  "type": "string"
                },
                "opens": {
                  "$ref": "#/properties/openingHours/items/properties/opens"
                },
                "validFrom": {
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                  "type": "string"
                },
                "validThrough": {
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                  "type": "string"
                }
              },
              "required": [
                "validFrom"
              ],
              "type": "object"
            },
            "maxItems": 30,
            "type": "array"
          },
          "telephone": {
            "description": "International format, e.g. +31 50 123 4567",
            "maxLength": 40,
            "type": "string"
          },
          "url": {
            "description": "Website URL (https://…)",
            "maxLength": 2000,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "generate_schema"
    },
    {
      "description": "Get the install snippet and live status for a LocalSchema hosted embed key (loc_… for one location, org_… for a client with several). Paste the script tag once; published updates reach the site automatically.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "key": {
            "description": "Hosted embed key",
            "pattern": "^(?:loc|org)_[a-z0-9]{6,32}$",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "type": "object"
      },
      "name": "get_embed_snippet"
    },
    {
      "description": "Get one saved location: its business fields (in the same shape save_location accepts), the current JSON-LD, the published JSON-LD, validation issues and embed details. Needs a LocalSchema Pro API key in the request headers.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "location_id": {
            "description": "Location id from list_locations",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "location_id"
        ],
        "type": "object"
      },
      "name": "get_location"
    },
    {
      "description": "List the schema.org LocalBusiness subtypes LocalSchema supports (Dentist, Plumber, Restaurant, …). Use the most specific one as businessType.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_business_types"
    },
    {
      "description": "List the agency's clients (brands) with their location counts, client-wide embed script and white-label report link. Needs a LocalSchema Pro API key in the request headers.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_clients"
    },
    {
      "description": "List the business locations saved in the LocalSchema account: publish state, hosted embed script, website and latest health check score. Needs a LocalSchema Pro API key in the request headers.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "client_id": {
            "description": "Only this client's locations",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_locations"
    },
    {
      "description": "Run a schema health check for a saved location: validates its markup, scans its website for the embed and conflicting hard-coded schema, detects unpublished changes and records the result in the dashboard and client reports. Needs a LocalSchema Pro API key in the request headers.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "location_id": {
            "description": "Location id from list_locations",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "location_id"
        ],
        "type": "object"
      },
      "name": "run_health_check"
    },
    {
      "description": "Create a client (brand) or update one by client_id, and optionally turn its white-label health report link on or off. Needs a LocalSchema Pro API key in the request headers.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "client_id": {
            "description": "Update this client. Omit to create one.",
            "format": "uuid",
            "type": "string"
          },
          "contact_email": {
            "description": "Contact email. When updating, omit to keep it or send \"\" to clear it.",
            "maxLength": 255,
            "type": "string"
          },
          "contact_name": {
            "description": "Contact person. When updating, omit to keep it or send \"\" to clear it.",
            "maxLength": 160,
            "type": "string"
          },
          "name": {
            "description": "Client (brand) name. Required when creating; omit to keep it when updating.",
            "maxLength": 160,
            "minLength": 1,
            "type": "string"
          },
          "report": {
            "description": "true turns the client's white-label health report link on, false turns it off. Omit to leave it.",
            "type": "boolean"
          },
          "website": {
            "description": "Brand website; links every branch to one Organization in the client embed. When updating, omit to keep it or send \"\" to clear it.",
            "maxLength": 500,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "save_client"
    },
    {
      "description": "Save a business location to the LocalSchema account — create one, or update one by location_id (only the business fields you send change) — and optionally publish it to its hosted embed so the client's site updates without code changes. Needs a LocalSchema Pro API key in the request headers.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "business": {
            "additionalProperties": {},
            "description": "Business fields in the same shape as generate_schema (name, businessType, address, openingHours, services, …). When updating, only the fields you send change; address merges field by field, lists are replaced.",
            "type": "object"
          },
          "client_id": {
            "anyOf": [
              {
                "$ref": "#/properties/location_id"
              },
              {
                "type": "null"
              }
            ],
            "description": "Assign to a client (see list_clients); null removes the assignment. Omit to keep the current client."
          },
          "location_id": {
            "description": "Update this location. Omit to create a new one (counts toward the plan's location limit).",
            "format": "uuid",
            "type": "string"
          },
          "publish": {
            "description": "Publish to the hosted embed now. Default false (saved as a draft).",
            "type": "boolean"
          },
          "website_url": {
            "anyOf": [
              {
                "maxLength": 500,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Page where the hosted embed is installed; health checks scan it. Defaults to business.url."
          }
        },
        "required": [
          "business"
        ],
        "type": "object"
      },
      "name": "save_location"
    },
    {
      "description": "Fetch a public web page and audit its structured data: every JSON-LD block and type, the LocalBusiness markup's errors and warnings, LocalSchema embeds on the page and concrete recommendations. No API key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) address, e.g. https://example.com/contact",
            "maxLength": 2000,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "validate_page"
    },
    {
      "description": "Validate existing LocalBusiness structured data: paste JSON-LD, a <script type=\"application/ld+json\"> tag or a whole HTML page. Reports errors, missing recommended fields and best-practice warnings. No API key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "JSON-LD text, a script tag, or full page HTML",
            "maxLength": 600000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "name": "validate_schema"
    }
  ]
}

What the leaf hashes

{"body":"1ebed06e0c08ecaf3cf23c66fd125b7e432dc340356f661d728267c1a0ddd635","id":1474825,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793410133840325,"prev":null,"subject":"244cf130-b3a7-4074-8961-d32760ce7f2f","subject_kind":"endpoint"}

Proof

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

  1. 0xf9346469b46924cf5b5543a1a7f9f861561505f39db1afef5a5b4797f506b1a0
  2. 0xe669c56deab6759aba3ea271ba5f1b85712cfd9e14ec64180e973444ffbf4ccc
  3. 0xc5dfd99882c03fcd5db385f73f216166bdabdc8248b2d40bc7d61b323c6a5823
  4. 0xe1c15783dc94865def3ac1c12887bbc02f8920768c59cfe6a1a585c6f1031e5e
  5. 0xf1593ee8dee7ad30584855370ca9e876532665615526de46c6e747ca5660d88e
  6. 0x0176e6989dadb9ab645dcfa3f8dcd7b37071896b07faf3c588b32a3de6c5531f
  7. 0xb7ac04e2b353d15b0074b71a6ab4d258f3f04216734826765850de0069fd3c44
  8. 0xf09cefa7ba011693fc134c7e2636883ff51dd323ff8614708c62ff562be632f2
  9. 0x619e63d8b306ed5d2eaed442a16cca26c6b7b11958ebb6cea64be76aac7c58ac
  10. 0x29b4fe41ce5e9ef76617bd4342a86931181e437581d3407a408ac573b69d1e61
  11. 0x57d04e8c0dfbc48ed42709d97edd65eaa6f019b6e775d93d626d53b8f8c8fb39
  12. 0xe88490f2b8597b4ba31fe5cd2844c81e5da21890cc3a4b4c1dadbb6a939407e7
  13. 0x6c4324d3edf63f1c5818a600ecde74e6316cc337c4218b73b366a817b8e059b6
  14. 0xe2a6611300abdb7312e664a37fe7f1b470ff8ebe48733a7b7064c0db1f012dd5
  15. 0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b
  16. 0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON