addrbookFor publishers
← The evidence ledger

Evidence row 206567

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 6585a083-e27d-4eb6-a366-ab592e441d2a
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f8aff87d5f5f775faa64139ef5172fa13bef8aa1a9d224b11f628c8a23a02f37
Leaf
0x5f6f5d9d424213eac3e493c4defcb4c72fd3019e7adb5db550a808b6cc875ac0

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Show dead endpoints across the monitored registry (alive=false).\n\n    Returns up to 500 dead endpoints with names. Use after aw_census or\n    aw_list_monitored to get the actionable dead list. Read-only.\n    ",
      "inputSchema": {
        "properties": {},
        "title": "aw_alertsArguments",
        "type": "object"
      },
      "name": "aw_alerts"
    },
    {
      "description": "Full-census summary of the official MCP registry: 7,454 endpoints probed with real MCP handshakes.\n\n    Returns alive/dead/unknown counts and percentages. States: alive = MCP\n    initialize succeeded; dead = no answer; unknown = answered but auth-gated\n    (401/403/402) or redirecting — liveness unprovable without credentials.\n    Use to quantify how much of the MCP ecosystem is actually reachable.\n    ",
      "inputSchema": {
        "properties": {},
        "title": "aw_censusArguments",
        "type": "object"
      },
      "name": "aw_census"
    },
    {
      "description": "Probe an MCP or HTTP-402 endpoint now and get its trust verdict.\n\n    Performs a real MCP initialize handshake (not a ping), measures p50/p95\n    latency, counts tools, hashes the tool schema (for drift detection), and\n    checks RFC 9728 auth metadata. Returns: alive (bool), name, tool_count,\n    latency_p50_ms, tool_schema_hash, auth_metadata_present, and error detail\n    when dead. Use before wiring any new MCP server into your client.\n\n    Args:\n        url: the MCP or HTTP-402 endpoint URL to probe (e.g. https://host/mcp/)\n        timeout: probe timeout in seconds (default 30)\n    ",
      "inputSchema": {
        "properties": {
          "timeout": {
            "default": 30,
            "title": "Timeout",
            "type": "integer"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "title": "aw_check_endpointArguments",
        "type": "object"
      },
      "name": "aw_check_endpoint"
    },
    {
      "description": "Liveness check for the Agent Watch API. Returns ok, service name, and version. Call this first to verify connectivity before using other tools.",
      "inputSchema": {
        "properties": {},
        "title": "aw_healthArguments",
        "type": "object"
      },
      "name": "aw_health"
    },
    {
      "description": "List all endpoints in the Agent Watch census with their registry names.\n\n    Returns count and the full endpoint list (URLs). Combine with aw_alerts\n    to find which of these are dead. Read-only.\n    ",
      "inputSchema": {
        "properties": {},
        "title": "aw_list_monitoredArguments",
        "type": "object"
      },
      "name": "aw_list_monitored"
    },
    {
      "description": "Add endpoints to your personal watchlist (probed immediately, then every 6h).\n\n    Plan-limited by the email used at checkout: free 5, Builder ($19/mo) 50,\n    Team ($99/mo) 500 endpoints. Alerts fire on alive→dead transitions and\n    tool-schema drift. Already-watched URLs are returned without re-probing.\n\n    Args:\n        email: the email your subscription is under (free tier works too)\n        urls: endpoint URLs to add to your watchlist\n        watch_token: issued at registration, delivered in your onboarding email — required\n    ",
      "inputSchema": {
        "properties": {
          "email": {
            "title": "Email",
            "type": "string"
          },
          "urls": {
            "items": {},
            "title": "Urls",
            "type": "array"
          },
          "watch_token": {
            "default": "",
            "title": "Watch Token",
            "type": "string"
          }
        },
        "required": [
          "email",
          "urls"
        ],
        "title": "aw_watchArguments",
        "type": "object"
      },
      "name": "aw_watch"
    },
    {
      "description": "Read a product skill file by its skill:// URI.\n\n            Args:\n                uri: e.g. skill://<product>/<skill-name>/SKILL.md\n                     Get valid URIs from `skills_list_tool`.\n            ",
      "inputSchema": {
        "properties": {
          "uri": {
            "title": "Uri",
            "type": "string"
          }
        },
        "required": [
          "uri"
        ],
        "title": "read_skillArguments",
        "type": "object"
      },
      "name": "read_skill"
    },
    {
      "description": "List this product's skills. Each entry carries the SKILL.md URI,\n            its name and description, verbatim frontmatter, and a per-file\n            sha256 manifest. Read a body with `read_skill`.",
      "inputSchema": {
        "properties": {},
        "title": "skills_list_toolArguments",
        "type": "object"
      },
      "name": "skills_list_tool"
    }
  ]
}

What the leaf hashes

{"body":"f8aff87d5f5f775faa64139ef5172fa13bef8aa1a9d224b11f628c8a23a02f37","id":206567,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793026347132516,"prev":null,"subject":"6585a083-e27d-4eb6-a366-ab592e441d2a","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. 0x5f6f532cbe6a7bd01c04f996682b86372d2daef82958d0896a2ef5a8fcd04a8a
  2. 0x1daefdbc1bee4923780b731480ceb7c967e7e4e9b9c73060296364b30f532b25
  3. 0x55da6330bb52195e1e0de6f7271c1ca499f780a4aba9d6e4ade801cac5dae609
  4. 0xcf9f60ac972ee3da65bdc427e58c0d06d73156a1024d0185a804d6303566220f
  5. 0x883b3d8dba246412bc23cb581d52e8472c33ef6ab3499a3bbb5f7846be91e3c6
  6. 0x383ef22c17c70e6e1899b60e731c308aa5f0da119cd89279382fb51886365579
  7. 0xbfd04eebf7172093f96a7fa0ca1dfdab758d0720896351936e667749ef27f8d1
  8. 0xaf4179c8d6d21c803471165753bb73b4e9f13cd99277d730f4896f494ae2657f
  9. 0x26b4a3a1bac096245909b7085e70cfa8f2612e81c3e0bd50a09a49cf7cd7b14e
  10. 0x8fd0567340f23f69262de3ad393f18f08862b59e5cd7e78982ea4d654e90d98b
  11. 0x8088b42b1c11cbc36b44c4b08d0759628b035caa2738251cd28ed0e7242e65bc
  12. 0x5ab25c2fdf4695beeefb0726a5fc73e189b68f8d9fb2a3f6321ff7223b166fdd
  13. 0x66883b42f4167ade51c4909f050c5478524e23786fb0b5c48bd1a53580960a68
  14. 0x216cebb9ae5414599109a02297c4817d7d1c6b1394afeb97efe38e32f0053974
  15. 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON