addrbookFor publishers
← The evidence ledger

Evidence row 570070

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 05b0f42f-d076-485e-9bfd-7082937a2102
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
5fa939180214ed4244f2a70222907a12c4e4b080fd7556224797c8fade7d2f36
Leaf
0xb13d6eeae45dc85dece10f9b25174f73206cfd9957a7e678def86ac9ea0690a4

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Query any website's documentation and get cited, multi-page answers in natural language. Use ask_site when you need: (1) answers that synthesize information across multiple pages of a site, (2) documentation from JS-rendered sites (React, Next.js, Vue SPAs) where web_fetch returns empty or partial HTML, (3) citations linking back to the exact source pages, (4) faster results than fetching and reading individual pages one by one. For sites not yet indexed, ask_site auto-crawls and answers in ~60s — no separate submit_site call needed.",
      "inputSchema": {
        "properties": {
          "domain": {
            "description": "Domain of the site to query (e.g. \"stripe.com\"). Accepts full URLs too.",
            "maxLength": 253,
            "type": "string"
          },
          "query": {
            "description": "The question to ask about the site.",
            "maxLength": 2000,
            "type": "string"
          },
          "url": {
            "description": "Optional: a specific page URL to focus on. AgentReady will ensure this page is indexed before answering.",
            "maxLength": 2048,
            "type": "string"
          }
        },
        "required": [
          "domain",
          "query"
        ],
        "type": "object"
      },
      "name": "ask_site"
    },
    {
      "description": "Return the AgentReady capability manifest for a website. If the site is not indexed yet, AgentReady indexes it automatically before returning its freshness, read-only limits, schemas, and available MCP and HTTP endpoints.",
      "inputSchema": {
        "properties": {
          "domain": {
            "description": "Domain of the indexed site (e.g. \"docs.example.com\"). Accepts full URLs too.",
            "maxLength": 253,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "get_site_capabilities"
    },
    {
      "description": "Return structured facts extracted from a website — pricing, limits, features, contact info, and more. Facts marked as \"owner-verified\" have been explicitly attested by the site owner and are guaranteed accurate ground truth; use these in preference to scraped RAG answers for critical comparisons. Ideal for price comparison across multiple sites, feature matrix lookups, or any task where you need structured data rather than a natural-language synthesis.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Optional: filter facts to a single category.",
            "enum": [
              "pricing",
              "features",
              "limits",
              "contact",
              "technical",
              "policy"
            ],
            "type": "string"
          },
          "domain": {
            "description": "Domain of the indexed site (e.g. \"stripe.com\"). Accepts full URLs too.",
            "maxLength": 253,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "get_site_facts"
    },
    {
      "description": "List all websites currently indexed in AgentReady. Use this to check if a domain is already available before submitting it — indexed sites return instant cited answers via ask_site. The index covers developer tools, APIs, cloud platforms, frameworks, databases, and more, and grows as new sites are submitted.",
      "inputSchema": {
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "list_sites"
    },
    {
      "description": "Turn a natural-language request into a grounded, read-only AgentReady plan for a website. If the site is not indexed yet, AgentReady indexes it automatically first. This prototype never executes side effects; it identifies supported steps, sources, risks, and whether a future execution would require confirmation.",
      "inputSchema": {
        "properties": {
          "domain": {
            "description": "Domain of the indexed site (e.g. \"docs.example.com\"). Accepts full URLs too.",
            "maxLength": 253,
            "type": "string"
          },
          "request": {
            "description": "Natural-language request to plan against the site.",
            "maxLength": 1000,
            "type": "string"
          }
        },
        "required": [
          "domain",
          "request"
        ],
        "type": "object"
      },
      "name": "plan_site_action"
    },
    {
      "description": "Rate the quality of a previous ask_site answer from 1 (not useful) to 5 (excellent). Pass the request_id returned in structuredContent when available so the rating can be tied to the exact answer.",
      "inputSchema": {
        "properties": {
          "comment": {
            "description": "Optional short explanation.",
            "maxLength": 1000,
            "type": "string"
          },
          "domain": {
            "description": "Domain that was queried.",
            "maxLength": 253,
            "type": "string"
          },
          "rating": {
            "description": "Answer quality from 1 to 5.",
            "maximum": 5,
            "minimum": 1,
            "type": "integer"
          },
          "request_id": {
            "description": "request_id returned by ask_site, when available.",
            "maxLength": 64,
            "type": "string"
          }
        },
        "required": [
          "domain",
          "rating"
        ],
        "type": "object"
      },
      "name": "rate_answer"
    },
    {
      "description": "Force a full re-crawl of a site to pick up new or changed content. If the site has never been indexed, AgentReady performs the initial indexing automatically. Use when ask_site returns outdated information or when you know the site has recently been updated. Takes ~60 seconds. After completion, ask_site returns fresh content.",
      "inputSchema": {
        "properties": {
          "domain": {
            "description": "Domain of the site to refresh (e.g. \"docs.example.com\").",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "refresh_site"
    },
    {
      "description": "Index any website so it can be queried with ask_site. Use this when the site is not yet in list_sites. Handles JS-rendered pages (React, Next.js, Vue SPAs) that web_fetch cannot read — uses a four-layer pipeline: llms.txt → HTTP+cheerio → __NEXT_DATA__ extraction → Jina Reader headless browser. Takes ~60 seconds. Once indexed, ask_site queries are instant.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "Full URL of the site to index (e.g. \"https://docs.example.com\").",
            "maxLength": 2048,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "submit_site"
    }
  ]
}

What the leaf hashes

{"body":"5fa939180214ed4244f2a70222907a12c4e4b080fd7556224797c8fade7d2f36","id":570070,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139621392677,"prev":null,"subject":"05b0f42f-d076-485e-9bfd-7082937a2102","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. 0xb13d31d3ceeee3c200b11313a5a332278bc305a61e4e73916f1067bbfe4063e2
  2. 0xdb0dcd9f74f05bbab468bd304101691512252aa3b83f5481dd019bf334e3e7ae
  3. 0x9ec443d728d69a4376b9ebea55588c0c76a5c2e56dd387123d55e23db5372e82
  4. 0x53b060ed62f24ded106c76dc05d4c4ff795e38cce76923a8010da8b7452c2504
  5. 0xc724e9626098a416e3029cb1e3361ecec75959df203f26f745a5e6ca900829b6
  6. 0x8441c311e3e5369d717310db477ca291836651000f88e3d9de5841e18c652744
  7. 0x8ee1da578f272ddb2796fdb7e5222aa4de961badce3f5d07b748221a69270a6b
  8. 0xa8fb1eb98e5c5e698239b4971d40c348f0d7b7a8d2a2080cb6e97c2595eda33e
  9. 0x47bf9da6e77617db2be39f6bfb95da419f5575ff4ebc08099ec0294a4488ff00
  10. 0xb051f096bc79c1bbb03bc79499188f988e7e5dd828351db4070d80477204cc36
  11. 0xd1a9e8a17c2c3a118d3b406bbe49f0e2c50cfd03c0e6b4125e82eb782af3a286
  12. 0x2d136d228d8bf54a46835cf3532884988271b7ca1e85edf2327300bd225d178e
  13. 0xf1104ea7df082465ff9df25ed29be80a0ac7c1c6b25c289b5d2e6ae5e6331952
  14. 0x87cb8935612c40b569de008a9bf8218cd24a06f74a7364a1654613d972fe00ed
  15. 0xec7bb68216a4deb1960acfbbd75da88f7e468b58adb9cf3ec62f2790e46508b3
  16. 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON