addrbookFor publishers
← The evidence ledger

Evidence row 3350890

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint ed3c112d-c3ec-45f7-ae63-764c1e21dfef
Recorded
Previous row
#2731503
Body SHA-256
307123f438c1c8c0576d123329d8b902e58331200bb73c09a6e7c17828861f79
Leaf
0x02f8cf407e0a0bec573ac2318036b693c5846162ea2548fa62e1fac479c801ef

What was observed

{
  "count": 3,
  "tools": [
    {
      "description": "Reads the AI Visibility Index by AIGROW: for a kind of business and a city or country, which businesses ChatGPT, Claude, Gemini and Grok name when buyers ask for a recommendation, with each one's share of the answers, the edition and the link to the Index page. Covers 80 categories (local trades such as dentists and plumbers by city, software such as CRM by country) across 128 cities and 20 countries. Category and place may be written in any of the eleven supported languages.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "category": {
            "description": "The kind of business, for example \"dentist\", \"Zahnarzt\" or \"crm\".",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "language": {
            "description": "The language to answer in, as an ISO 639-1 code: en, de, fr, es, pt, it, nl, pl, sv, da or no. Any other code answers in English.",
            "maxLength": 16,
            "type": "string"
          },
          "place": {
            "description": "A city or a country, for example \"Berlin\", \"Milano\" or \"Germany\".",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "category",
          "place"
        ],
        "type": "object"
      },
      "name": "ai_index_lookup"
    },
    {
      "description": "Runs AIGROW's free AI visibility scan of one business: reads its website, writes the buyer questions a customer would ask an assistant, puts them to the models behind ChatGPT, Claude, Gemini and Grok, and reports how often the business was named, a score out of 100, who was named instead and what holds it back. Takes about three minutes and reports progress as the answers come in. Shares the free scan's limits on aigrow.gg: two new websites an hour per network address (a hosted client shares one among its users), and a daily cap. A city or category makes it a new scan, even of a website scanned before.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "category": {
            "description": "What the business is, for example \"dentist\" or \"CRM software\".",
            "maxLength": 200,
            "type": "string"
          },
          "city": {
            "description": "The city or area the business serves, if the website may not say.",
            "maxLength": 200,
            "type": "string"
          },
          "language": {
            "description": "The language to answer in, as an ISO 639-1 code: en, de, fr, es, pt, it, nl, pl, sv, da or no. Any other code answers in English.",
            "maxLength": 16,
            "type": "string"
          },
          "name": {
            "description": "The business name, if known.",
            "maxLength": 200,
            "type": "string"
          },
          "website": {
            "description": "The business's website address, for example bakery-example.com.",
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "website"
        ],
        "type": "object"
      },
      "name": "check_ai_visibility"
    },
    {
      "description": "Reads the AIGROW Score of one business on an AI Visibility Index page: of the answers the assistants gave to buyer questions for its category and place (ChatGPT, Claude and Gemini on every page, Grok on some), how many named it, out of 100, with the 95% interval the page publishes, the earlier edition, each assistant's own score and the names each one gave most. It reads published counts only: no website is read and no assistant is asked. A business the page does not list reads 0, and a name that fits several listed businesses returns them instead. Category and place are matched as ai_index_lookup matches them.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "category": {
            "description": "The kind of business, for example \"dentist\", \"Zahnarzt\" or \"crm\".",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "language": {
            "description": "The language to answer in, as an ISO 639-1 code: en, de, fr, es, pt, it, nl, pl, sv, da or no. Any other code answers in English.",
            "maxLength": 16,
            "type": "string"
          },
          "name": {
            "description": "The business name, as the Index page writes it or a shorter or longer form of it, such as the legal name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "place": {
            "description": "A city or a country, for example \"Berlin\", \"Milano\" or \"Germany\".",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name",
          "category",
          "place"
        ],
        "type": "object"
      },
      "name": "get_score"
    }
  ]
}

What the leaf hashes

{"body":"307123f438c1c8c0576d123329d8b902e58331200bb73c09a6e7c17828861f79","id":3350890,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793844863744313,"prev":2731503,"subject":"ed3c112d-c3ec-45f7-ae63-764c1e21dfef","subject_kind":"endpoint"}

Proof

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

  1. 0x02f89dc2a1dfc61885d984751b50f9229cc5234715b0ab34737130bccd3b8b44
  2. 0xbd5e65562f695fcd796d68105e3715466df5196290feae5cfbbbb90505d74f7b
  3. 0xf3920fa28e7dd1d5f1b090089fe3cca8c6806e0424d72a0574db9cdcad09e44e
  4. 0x7f2825aaf82ee2629b6fcf5e2337b36f360f71952f05618545b98a3ac660392a
  5. 0x7d4b3ac94f876fef191e8ca949b6cc2b6a335b3618710b840ad63d95068e7d8d
  6. 0xdf8ae7a15f915b59830f2a9a53625a3d60f012b58b6c8178500be91902566abb
  7. 0x446ab2035a85a46d9d735f10f2180b6058cfac99ba75cbe1ef5f01f45a6d6aa4
  8. 0x7f69501e2a8e00d95680e2a2880a2a60701157b52232973f382bea2939839ce7
  9. 0x054aa315e4605e090e3900e71c1d90e5ab0c9ae47105365b53c3a83758760dd9
  10. 0xa7a724bcbb15d431d6f6701fe2f4988311c5b2e2c25504a7b5fbcdaf526f99b5
  11. 0x02b098daa1b450e8570675765c0662a398f283f2a41fbafa872a726d43518b69
  12. 0x2d71e27917b742d71a94543d51ecf4e1fc49cb3cb806ea769cd223606ef9e464
  13. 0xdb24986079e436c70388a0f26c8b78d5d2b9aa28faa702739aaf6eec9404795b
  14. 0x5d36fc496d037ec98e2304f5b8c2425f6da27f5b7be3b3d0ce0dd8c43098ad41
  15. 0x1ab38dbbab3f77cce8d03cd3f8736ca62b04c689538a6118189885b5d1be29e3
  16. 0xcde4d0d0f64b40921f36a3f07dfe9c7256f1d0a8925aed414788c614314b871e
  17. 0x0cdf39687556f127f9de2f03ec7df8e10e613bf9487760cbe3eaaaa02d8d48b4
  18. 0xa9caf228b42660818160afb416ff04cb014f57c4d8ee75ea3452fb76c3d8c645
  19. 0xf72fe7c4860b9addb17aac4a00b8afc2f8085836173f10f31697c3d192df119b
Day root
0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
Chained
0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
Published
On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94

How to check it · This row as JSON