← 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).
- 0x4d156e0db8c28100bcd087f15a698898b58161e5c015b17f3b8f1e2bced440ca
- 0x663b0c32ab1cfabcf85aba384fdfa16e812894c4a4005abfd590e5d0096ff6c4
- 0x1ff22a355bc33b036f0d842003123c61199b09126dba84f16896c4cbea293f4a
- 0x24e7a06ffbe897c7110feb2fc91717a4dcbb15ea358b286fb1083333e9d5f386
- 0xf600884cca70b2b188f8b3bf976e90a7efd17a02eceec9ff8b574c47516b8b26
- 0xe9566337755693d3925c94372515a7d0036dffa1d77798f24feb00c29116d1a8
- 0x68f0a1413923f34768d592d758acdb1df843776f2a902b810f400d80b99f08dc
- 0xf42e31b9e1a0a7feb48aafce1fea6d653513b9921784339b56179dc8cd0579e5
- 0x44930305e4a319d39964e1b1f45232bab46200604aa40e853e33f8507d6ce330
- 0xfded4756354ace6a7736193a2c8bc27089997b12fa705dbf69d3aab6b7808ed6
- 0xa7f63fc52aa867079bccf41e1c316b83669bdc729aefcd02142cda6d20ee0f97
- 0x61b34ad045e6450b81b7a4502b2d97d0cc31cbac450cec30794ecaf30d1a78e3
- 0xc2ea6f7cdcf0c6904201c0d186a72f2a6fa2d355f41deec0e55aad057d5b8897
- 0xf01d425f0c05ac504062d9b471f06fbf10480b3526efb1ee77bb71aebd05f0de
- 0x67c99d356de30f9cfab88af48fbaa18909ef230dd09947e84da060bc03aca929
- 0x1068659ec8f2bcf26e4ad39786557a8c45d60e5ebba4fce2fb9962b2c9c59920
- 0xf9973981f80219d4f00fa9186b40a8144accc0c9875572fb79eaea312a21a187
- 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
- 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af