addrbookFor publishers
← The evidence ledger

Evidence row 303077

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint f4981a1c-fb51-4e9d-9f4e-197cbbc92cbf
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
fc26c2ed70de6c630ac1c4f13a5a78394a62975f7ddcc808f4cf53d8b9f0ca13
Leaf
0x02feca7820d0f19a4c15e1ad4be32e44456aec41316ade94f2c218b7f746c641

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Return all HTTP request headers as seen by the IP.LS server (including X-Real-IP / X-Forwarded-For injected by the frontend proxy). Useful for debugging proxies and client identity.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "headers"
    },
    {
      "description": "Look up geolocation, ISP and network info for any IPv4/IPv6 address or hostname, or an array of them for batch lookup. Returns ip, city, region, country, coordinates, ASN/ISP, timezone and continent (full name, e.g. North America); when a domain is queried, an extra `domain` field echoes it. Data source: DB-IP Lite (CC BY 4.0). Anycast IPs are approximate.",
      "inputSchema": {
        "properties": {
          "ip": {
            "description": "IPv4/IPv6 address or hostname, e.g. 8.8.8.8 or example.com. Pass an array for batch lookup, e.g. [\"8.8.8.8\", \"1.1.1.1\"].",
            "items": {
              "type": "string"
            },
            "type": [
              "string",
              "array"
            ]
          }
        },
        "required": [
          "ip"
        ],
        "type": "object"
      },
      "name": "ip_lookup"
    },
    {
      "description": "Resolve a domain to all its A and AAAA records (deduplicated, up to 6) and return geolocation for each address. Returns an array of { ip, protocol, domain, city, region, country, coordinates, ASN/ISP, ... }. For a bare IP, returns a single-element array.",
      "inputSchema": {
        "properties": {
          "host": {
            "description": "Domain or IP address to resolve, e.g. example.com or baidu.com",
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "type": "object"
      },
      "name": "ip_resolved"
    },
    {
      "description": "Get geolocation and network info about the caller's own public IP, plus the protocol stack (IPv4/IPv6) of the current connection. On dual-stack machines the stack is chosen by the client and may differ from `curl ip.ls`, which picks a random stack; use curl -4/-6 locally to get the other stack, or — for clients that cannot pick a stack (browser, PowerShell, most HTTP libraries) — the single-stack hostnames https://4.ip.ls / https://6.ip.ls (DNS selects the stack; an unreachable 6.ip.ls means no usable IPv6). Data comes from a server-side GeoIP lookup on the caller's real IP.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "ip_self"
    },
    {
      "description": "Summarize a large batch of IPs into distributions by country, continent, ASN/operator and network prefix, each bucket with a sample of addresses. Use instead of ip_lookup once the input is in the hundreds or thousands — ip_lookup returns every row, which no context window holds. Up to 5000 addresses or 100 hostnames. Counts are per occurrence; nothing is dropped silently (failed → `errors`, no database record → `no_data`, unlisted buckets → `tail`), the same input set always returns the same numbers, and the result is facts only — no datacenter/residential classification, no verdict. DB-IP Lite (CC BY 4.0).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "ips": {
            "anyOf": [
              {
                "description": "Whitespace- or comma-separated (paste a log column).",
                "type": "string"
              },
              {
                "description": "e.g. [\"8.8.8.8\",\"example.com\"].",
                "items": {
                  "type": "string"
                },
                "maxItems": 5000,
                "type": "array"
              }
            ]
          },
          "prefix4": {
            "default": 24,
            "description": "IPv4 grouping prefix.",
            "maximum": 32,
            "minimum": 8,
            "type": "integer"
          },
          "prefix6": {
            "default": 48,
            "description": "IPv6 grouping prefix; /48 = one end-site.",
            "maximum": 64,
            "minimum": 16,
            "type": "integer"
          },
          "sample": {
            "default": 3,
            "description": "Sample addresses per bucket.",
            "maximum": 5,
            "minimum": 0,
            "type": "integer"
          },
          "top": {
            "default": 10,
            "description": "Buckets per dimension.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "ips"
        ],
        "type": "object"
      },
      "name": "ip_summary"
    },
    {
      "description": "Return the User-Agent string of the current HTTP client.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "ua"
    }
  ]
}

What the leaf hashes

{"body":"fc26c2ed70de6c630ac1c4f13a5a78394a62975f7ddcc808f4cf53d8b9f0ca13","id":303077,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793055152911884,"prev":null,"subject":"f4981a1c-fb51-4e9d-9f4e-197cbbc92cbf","subject_kind":"endpoint"}

Proof

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

  1. 0x02ff2fb838effba7df9cb48c706830a932083d1d7811774c5c8abd7a11f4e9db
  2. 0x8f256dab3e24e17dac30bf75f4bb71b67fe2093846fb15438c2e2ccaa828d118
  3. 0xad4107d1560d6ba8a0ba7178d66c2ac1c21a45e74b9601bf57457b30818a1160
  4. 0x5e61caf6673bd979bf17b1eb069ac9379cc6fd824f6544b214b50a0ba947fd79
  5. 0x6ce24e4a69490cbb0578f8fa009642029c8e51bf220a0884dd9009268bf7ebe1
  6. 0xfa68039cb9bf7259925fbc7239e5f73d9e3857da0d95e8822a16d90d28f29db7
  7. 0x6da1155c514a737a2c727ed17a82c62f439ef92b4afcf2c27e0e3227923c1d6f
  8. 0x4ab6bcbc2bbaffcd78dd81ddcda4bfaebab4ef7e4f6ba092fcc67a3ce407ee6e
  9. 0x6d5ca59361edb5ab7954c82b8b273e7e576daad2a5692d3b1ba97fef1f47c269
  10. 0x0507461ad0f3996c7ed1e50036c084ea5d5d84cc0a082dd8688f824e00fc6a5b
  11. 0x4e18f6df894eff467396bfe85f6d6b90f40522629a1dd7517152c38e1c70e111
  12. 0xd75ede2689ed83bbc8980becaf4f32a77c7e05567790cd351e997bb28aa0844c
  13. 0x92ff7d176556ddbe3d885e2ab73948b14a6aa3568a8fd237427d4f8415235a23
  14. 0xd1d3499072edb10edc68f84bcae2365d2ab534df689250cab18c751b6f13b6ff
  15. 0x7ddc2fead128357f881b63e6c7c26d7fbbb84fca6c7c8e0bbfe386de86ca8d39
  16. 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON