addrbookFor publishers
← The evidence ledger

Evidence row 529241

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint dbd75d7b-5d2f-4cc7-8406-9aab515808b6
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
b3e3bf446f874c7af1ff167f882d13806bf5df937797616b9667d992c5c02903
Leaf
0x2b42794b1b4f646b439f73c279bc521825310f65858b7cab0bf8811fb4fd72f4

What was observed

{
  "count": 14,
  "tools": [
    {
      "description": "Scrape a list of URLs you already have, such as pages found with map. Waits for the batch to finish and returns the first page of results in the same call, so a short list needs one call; read further pages, or a batch still running, with batch_status. Each URL scraped costs 1 credit.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "limit": {
            "description": "Results to return in this call (default 10).",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "maxCharsPerPage": {
            "description": "Cut each page's markdown to this many characters; a cut page says so in data.truncated with its full length. Use it when results are too large for your context.",
            "maximum": 9007199254740991,
            "minimum": 500,
            "type": "integer"
          },
          "urls": {
            "description": "The URLs to scrape.",
            "items": {
              "type": "string"
            },
            "maxItems": 25000,
            "minItems": 1,
            "type": "array"
          },
          "wait": {
            "description": "Seconds to wait for the batch before returning (default 45). 0 returns the batch id at once.",
            "maximum": 55,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "urls"
        ],
        "type": "object"
      },
      "name": "batch"
    },
    {
      "description": "Read a batch started with batch: its progress, and one page of results in the order the URLs were sent. When nextOffset is not null, pass it as offset to read the next page of results.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "batchId": {
            "description": "The id returned by batch.",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "type": "string"
          },
          "limit": {
            "description": "Results to return in this call (default 10).",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "maxCharsPerPage": {
            "description": "Cut each page's markdown to this many characters; a cut page says so in data.truncated with its full length. Use it when results are too large for your context.",
            "maximum": 9007199254740991,
            "minimum": 500,
            "type": "integer"
          },
          "offset": {
            "description": "Position of the first result to return. Defaults to 0.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "batchId"
        ],
        "type": "object"
      },
      "name": "batch_status"
    },
    {
      "description": "A company's brand from its domain: logos for light and dark backgrounds, its colours, name, description and social profiles. Use it to answer what a company is or how it presents itself.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "domain": {
            "description": "The company domain, e.g. stripe.com. A full URL works too.",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "brand"
    },
    {
      "description": "Discover and scrape the pages of a website as one background job, following its links from a starting URL. Returns a crawl id straight away; read progress and results with crawl_status. Each page scraped costs 1 credit, so set limit to what you need.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "limit": {
            "description": "Maximum pages to scrape.",
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "maxDepth": {
            "description": "How far from the seed to follow.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "url": {
            "description": "The site to start from.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "crawl"
    },
    {
      "description": "Read a crawl started with crawl: its progress, and one page of the scraped results. When nextOffset is not null, pass it as offset to read the next page of results.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "crawlId": {
            "description": "The id returned by crawl.",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "type": "string"
          },
          "limit": {
            "description": "Results to return in this call (default 10).",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "maxCharsPerPage": {
            "description": "Cut each page's markdown to this many characters; a cut page says so in data.truncated with its full length. Use it when results are too large for your context.",
            "maximum": 9007199254740991,
            "minimum": 500,
            "type": "integer"
          },
          "offset": {
            "description": "Position of the first result to return. Defaults to 0.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "crawlId"
        ],
        "type": "object"
      },
      "name": "crawl_status"
    },
    {
      "description": "Pull specific fields out of one or more pages as JSON, shaped by a JSON schema or described in a prompt. Use it when you need values such as prices, names or dates rather than the whole page text.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "preferStructure": {
            "description": "Keep headings, lists and tables in the text handed to the model.",
            "type": "boolean"
          },
          "prompt": {
            "description": "Natural-language description of what to pull.",
            "type": "string"
          },
          "schema": {
            "additionalProperties": {},
            "description": "A JSON schema the result must conform to.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "showConfidence": {
            "description": "For each field, return a confidence score and the exact source passage the value was drawn from.",
            "type": "boolean"
          },
          "showSources": {
            "description": "Return the list of URLs that were actually extracted.",
            "type": "boolean"
          },
          "urls": {
            "description": "The URLs to extract from.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "urls"
        ],
        "type": "object"
      },
      "name": "extract"
    },
    {
      "description": "Tell Hydrafetch whether an earlier result was accurate. Use it after a scrape, search or other call returns missing, wrong or blocked content, so it gets looked at; a good rating is welcome too. Pass the requestId from that call's usage block, or the URL it read.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "note": {
            "description": "More detail.",
            "maxLength": 500,
            "type": "string"
          },
          "rating": {
            "description": "good or bad.",
            "enum": [
              "good",
              "bad"
            ],
            "type": "string"
          },
          "reasons": {
            "description": "What was wrong, for a bad rating.",
            "items": {
              "enum": [
                "missing_content",
                "wrong_content",
                "blocked",
                "slow",
                "formatting",
                "other"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "requestId": {
            "description": "usage.requestId from the call being rated.",
            "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": {
            "description": "The URL that call read, when the requestId is not to hand.",
            "type": "string"
          }
        },
        "required": [
          "rating"
        ],
        "type": "object"
      },
      "name": "feedback"
    },
    {
      "description": "Harvest a page's images with their metadata, without rendering it. Cheaper than a screenshot and returns the source images rather than a picture of the page.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "url": {
            "description": "The page to harvest images from.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "images"
    },
    {
      "description": "A company's logo as a directly embeddable image URL, chosen for the background you name. Use this rather than brand when the mark is all you need: it costs a fifth as much and returns one asset instead of the whole record.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "domain": {
            "description": "The company domain, e.g. stripe.com. A full URL works too.",
            "type": "string"
          },
          "theme": {
            "description": "The background the logo will sit on. Defaults to light.",
            "enum": [
              "light",
              "dark",
              "auto"
            ],
            "type": "string"
          },
          "type": {
            "description": "The square mark, or the full logotype. Defaults to icon.",
            "enum": [
              "icon",
              "wordmark"
            ],
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "logo"
    },
    {
      "description": "List the URLs on a website, found through its sitemap and links, without fetching their content. Use it to see which pages exist before choosing which to scrape.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "limit": {
            "description": "Max URLs to return.",
            "maximum": 5000,
            "minimum": 1,
            "type": "integer"
          },
          "url": {
            "description": "The seed URL to map.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "map"
    },
    {
      "description": "Fetch one web page and return its main content as clean markdown, with optional HTML, links or structured data. Use it to read a page whose URL you already have. For many pages of one site use crawl; for a list of URLs use batch.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "formats": {
            "description": "Which outputs to return. Defaults to markdown.",
            "items": {
              "enum": [
                "markdown",
                "html",
                "rawHtml",
                "links",
                "structured"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "preferStructure": {
            "description": "Keep headings, lists and tables as markdown. Default false optimises for raw content and can return unstructured text on marketing and listing pages. Turn on when the document structure matters, or retry with it if `structure` came back 'plain'.",
            "type": "boolean"
          },
          "url": {
            "description": "The URL to scrape.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "scrape"
    },
    {
      "description": "Render a page in a real browser and capture a PNG, returning its public URL. Use when the question is what the page looks like rather than what it says.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "fullPage": {
            "description": "Capture the whole scrollable page rather than the viewport.",
            "type": "boolean"
          },
          "maxAge": {
            "description": "Reuse a stored screenshot younger than this many milliseconds. Defaults to 7 days, so a repeat returns the stored PNG without re-rendering and without applying waitFor. Pass 0 to force a fresh capture.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "timeout": {
            "description": "Overall time budget for the capture, in milliseconds.",
            "maximum": 120000,
            "minimum": 1000,
            "type": "integer"
          },
          "url": {
            "description": "The URL to capture.",
            "type": "string"
          },
          "viewport": {
            "description": "Screen size to render at. Defaults to desktop (1920x1080). Ignored when width or height are given.",
            "enum": [
              "desktop",
              "laptop",
              "tablet",
              "mobile"
            ],
            "type": "string"
          },
          "viewportHeight": {
            "description": "Exact viewport height in pixels. Overrides viewport. With fullPage the capture still extends to the full page height.",
            "maximum": 2160,
            "minimum": 240,
            "type": "integer"
          },
          "viewportWidth": {
            "description": "Exact viewport width in pixels. Overrides viewport.",
            "maximum": 3840,
            "minimum": 320,
            "type": "integer"
          },
          "waitFor": {
            "description": "Extra milliseconds to let the page settle before capture.",
            "maximum": 30000,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "screenshot"
    },
    {
      "description": "Search the web and return ranked results: title, url and snippet. Set scrapeResults to also fetch each result as markdown, at 1 extra credit per page.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "limit": {
            "description": "Max results (default 5).",
            "maximum": 15,
            "minimum": 1,
            "type": "integer"
          },
          "preferStructure": {
            "description": "Keep headings, lists and tables in each scraped result.",
            "type": "boolean"
          },
          "query": {
            "description": "The search query.",
            "type": "string"
          },
          "scrapeResults": {
            "description": "Also scrape each result to markdown, 1 extra credit per page (default false).",
            "type": "boolean"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search"
    },
    {
      "description": "A site's design tokens read from computed styles in a real browser: colours by role with contrast ratios, the dark theme colours when the site has one, the type scale, corner radius and button styling, how panels, the header bar and panel titles are drawn, plus ready-made CSS, Tailwind and shadcn/ui stylesheets. Values defined through CSS variables come back resolved to the hex actually painted. To recreate how a site looks rather than only its tokens, take a screenshot of the page too.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "domain": {
            "description": "The domain to read, e.g. stripe.com, using its homepage. Send this or url.",
            "type": "string"
          },
          "maxAge": {
            "description": "Accept a stored result no older than this many milliseconds. 0 reads fresh.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "url": {
            "description": "One page to read instead of the homepage, e.g. https://stripe.com/pricing.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "styleguide"
    }
  ]
}

What the leaf hashes

{"body":"b3e3bf446f874c7af1ff167f882d13806bf5df937797616b9667d992c5c02903","id":529241,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793125471731009,"prev":null,"subject":"dbd75d7b-5d2f-4cc7-8406-9aab515808b6","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. 0x2b4270d3a5ad6f6c68ba0c0fd95860f51f97c960d3a4f67f62e9ce58fa23afb8
  2. 0x799bc955b844687b639c2dcf7cb1d9407e94fea3ea3b3d8a606deadb0328cee7
  3. 0x05db6e7f765b781c6d792ca340eef599c12d55c85a2bfcb002fd77f98dc2abc2
  4. 0x5d0d98b6edb4f6efb201ba45c9fbed689e2759844afe41ac1ff37a116c4f2d21
  5. 0x3fedebf597eb3e26cdedb8856c84254f945f4050e6f2145d398b65b0c0cd5b6d
  6. 0xe46f78d6cb395fe56f3a69e003d3e701932e68a5ececf2529d179bb4d016d7c8
  7. 0x663e6f46febc64817da16f1c3ef067cff906fcc4ba742ba7fe9096a218e81ffc
  8. 0x1ac2622d203b21cab9f675a2a67601aa523a9c08ecca623b3ad211985322d841
  9. 0x3c9eb3dc3651f71271b48cb4881e916c0ca731a2cdf4b299873c4e86805f9b5c
  10. 0x39b2e1d78c20e857522ee15f8e1b58b55f9202c043938db01eb52eacaaab89bc
  11. 0xec8e4ccca73ad575591e2aae8a6d2bf4bfef826240c40728c9fc6d960b63ff0f
  12. 0x7ba1b835277802a22a6f62a758420094404a75d3c14f34dd88b403fbf174b26b
  13. 0xf9e544d10b80657275e1e196da89ba5336a7cc49eaa0d6d801fb5d632cf5deec
  14. 0x8ff18b1523f9fbdd16a5796cbe184b46854c06256508af8de5509b598370c725
  15. 0xa383a1cfe9b3f6af67eb4c7642564b9424d46d7fca90e7ba175d549f8b67dd0c
  16. 0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON