addrbookFor publishers
← The evidence ledger

Evidence row 2272468

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 05fc4b25-d54b-4771-8a52-f6a2705dcfb6
Recorded
Previous row
#1760026
Body SHA-256
a7aac5eb8f97f18413e9d197802d79b641f84bdd542ccadef79ca7e8aba9a83a
Leaf
0x4d155e7ff073dba5c8d824bbde5fcefb7e982ed34ea6e3072f2627be14ae8254

What was observed

{
  "count": 15,
  "tools": [
    {
      "description": "Resolve DNS records (A/AAAA/MX/TXT/NS/CNAME/SOA) for a domain, queried live against 1.1.1.1. Use when you need to verify a domain resolves, check mail routing, or inspect TXT/SPF records.",
      "inputSchema": {
        "properties": {
          "host": {
            "description": "Domain name, e.g. example.com",
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "type": "object"
      },
      "name": "dns_lookup"
    },
    {
      "description": "Fetch a URL and report HTTP status, total latency in ms, key response headers (server, cache, content-type) and the page title. Use as a cheap liveness/uptime probe.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "URL or bare domain",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "http_head"
    },
    {
      "description": "Return the caller's public IP address and reverse DNS name. Use to confirm which egress IP an agent or service is presenting.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "ip_echo"
    },
    {
      "description": "Follow a URL through its full redirect chain (up to 8 hops) and report each hop's status code and Location target. Use to detect redirect loops or http->https and www canonicalisation issues.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "URL or bare domain",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "redirect_chain"
    },
    {
      "description": "Fetch and parse a site's robots.txt into allow/disallow rules and declared sitemaps. Use before crawling a site to respect its policy.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "URL or bare domain",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "robots_txt"
    },
    {
      "description": "Audit HTTP security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy) and return a 0-100 score with the missing ones listed.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "URL or bare domain",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "security_headers"
    },
    {
      "description": "Extract on-page SEO signals from a URL: title, meta description, canonical, robots meta, h1 count, Open Graph tags, and word count. Use for quick SEO triage without a browser.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "URL or bare domain",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "seo_snapshot"
    },
    {
      "description": "Run the full audit bundle in one call: SSL + security headers + redirect chain + HTTP head + DNS + SEO. Use when you need a complete health picture of a site rather than one signal.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "URL or bare domain",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "site_audit"
    },
    {
      "description": "Inspect a host's TLS certificate: issuer, subject, SAN list, expiry date and days remaining. Use to catch expiring or misconfigured certificates.",
      "inputSchema": {
        "properties": {
          "host": {
            "description": "Hostname, e.g. example.com",
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "type": "object"
      },
      "name": "ssl_check"
    },
    {
      "description": "Force an immediate re-fetch of a watch instead of waiting for its interval. Returns status, whether the content changed, and the new hash.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Watch id from watch_create",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "watch_check"
    },
    {
      "description": "Start watching a URL for changes. The server stores a snapshot, re-fetches on your interval, and reports a unified diff when the extracted text changes. Use this when you need to know if something changed since last time - an ordinary fetch cannot tell you that. Selector forms: css:#id, css:.class, css:tag, regex:PATTERN, json:$.path, or empty for whole body text.",
      "inputSchema": {
        "properties": {
          "interval": {
            "description": "Seconds between checks, 300 to 604800. Default 3600.",
            "type": "integer"
          },
          "selector": {
            "description": "What part to compare, e.g. css:#price or json:$.status. Empty = whole page text.",
            "type": "string"
          },
          "url": {
            "description": "URL to watch",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "watch_create"
    },
    {
      "description": "Delete a watch and its stored snapshots.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Watch id",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "watch_delete"
    },
    {
      "description": "Get the unified diff of the most recent detected change for a watch. Use after watch_check reports changed=true, or to report what changed since you last looked.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Watch id",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "watch_diff"
    },
    {
      "description": "List a watch's snapshot timeline: timestamps, content hashes, HTTP status and which snapshots were detected as changes. Use to see how often a page actually changes.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Watch id",
            "type": "string"
          },
          "limit": {
            "description": "Max snapshots to return, default 20",
            "type": "integer"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "watch_history"
    },
    {
      "description": "List all watches with their URL, selector, interval, last check time, check count and change count.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "watch_list"
    }
  ]
}

What the leaf hashes

{"body":"a7aac5eb8f97f18413e9d197802d79b641f84bdd542ccadef79ca7e8aba9a83a","id":2272468,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793650569389303,"prev":1760026,"subject":"05fc4b25-d54b-4771-8a52-f6a2705dcfb6","subject_kind":"endpoint"}

Proof

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

  1. 0x4d156e0db8c28100bcd087f15a698898b58161e5c015b17f3b8f1e2bced440ca
  2. 0x663b0c32ab1cfabcf85aba384fdfa16e812894c4a4005abfd590e5d0096ff6c4
  3. 0x1ff22a355bc33b036f0d842003123c61199b09126dba84f16896c4cbea293f4a
  4. 0x24e7a06ffbe897c7110feb2fc91717a4dcbb15ea358b286fb1083333e9d5f386
  5. 0xf600884cca70b2b188f8b3bf976e90a7efd17a02eceec9ff8b574c47516b8b26
  6. 0xe9566337755693d3925c94372515a7d0036dffa1d77798f24feb00c29116d1a8
  7. 0x68f0a1413923f34768d592d758acdb1df843776f2a902b810f400d80b99f08dc
  8. 0xf42e31b9e1a0a7feb48aafce1fea6d653513b9921784339b56179dc8cd0579e5
  9. 0x44930305e4a319d39964e1b1f45232bab46200604aa40e853e33f8507d6ce330
  10. 0xfded4756354ace6a7736193a2c8bc27089997b12fa705dbf69d3aab6b7808ed6
  11. 0xa7f63fc52aa867079bccf41e1c316b83669bdc729aefcd02142cda6d20ee0f97
  12. 0x61b34ad045e6450b81b7a4502b2d97d0cc31cbac450cec30794ecaf30d1a78e3
  13. 0xc2ea6f7cdcf0c6904201c0d186a72f2a6fa2d355f41deec0e55aad057d5b8897
  14. 0xf01d425f0c05ac504062d9b471f06fbf10480b3526efb1ee77bb71aebd05f0de
  15. 0x67c99d356de30f9cfab88af48fbaa18909ef230dd09947e84da060bc03aca929
  16. 0x1068659ec8f2bcf26e4ad39786557a8c45d60e5ebba4fce2fb9962b2c9c59920
  17. 0xf9973981f80219d4f00fa9186b40a8144accc0c9875572fb79eaea312a21a187
  18. 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON