{"status":"attested","page":"https://annalist.dev/mcp/io.github.opennodes-io/opennodes","statement":{"type":"annalist.mcp-check/v1","issuer":"https://annalist.dev","subject":{"name":"io.github.opennodes-io/opennodes","url":"https://registry.opennodes.io/mcp"},"issued_at":"2026-10-22T01:06:23Z","valid_until":"2026-10-29T01:06:23Z","grade":"A","score":100,"facts":{"probes_7d":3,"up_pct_7d":100,"median_ms":222,"access":"open","tools_count":5,"tools_changed_14d":false,"last_tools_change":null,"domain_age_days":null,"registry_status":"active"},"flags":[],"reasons":["+: answered 100% of our probes in 7 days"],"method":"mcp-1","evidence":{"probes":"derived/checks/mcp/probes/","ledger":"https://github.com/ryanroskowski/annalist-ledger"}},"signature":"2HVd0adAYQW49E3tCwIcE0bBUtQa0d9L_JTRqAYYRmpIxxLfu_uLL3CDF50-v68ROW0RHl-0J8YR_tPvssSfBQ","key_id":"187e49f200625a2f","public_key_url":"https://api.annalist.dev/.well-known/annalist-key.json","how_to_verify":"Ed25519 signature (base64url) over the RFC 8785 canonical JSON of `statement`, checked with the public key at https://api.annalist.dev/.well-known/annalist-key.json (key_id must match). Then check valid_until. The probes behind it are archived daily, and each day's archive hashes are in the public ledger."}