{"status":"attested","page":"https://annalist.dev/mcp/io.satelo/satelo","statement":{"type":"annalist.mcp-check/v1","issuer":"https://annalist.dev","subject":{"name":"io.satelo/satelo","url":"https://satelo.io/mcp"},"issued_at":"2026-10-17T01:08:37Z","valid_until":"2026-10-24T01:08:37Z","grade":"B","score":75,"facts":{"probes_7d":3,"up_pct_7d":67,"median_ms":667,"access":"open","tools_count":11,"tools_changed_14d":true,"last_tools_change":"2026-10-16","domain_age_days":null,"registry_status":"active"},"flags":["often_down","tools_changed"],"reasons":["-25: answered 67% of our probes in 7 days","!: its tools changed on 2026-10-16 (changed 3); no points deducted, review before trusting them"],"method":"mcp-1","evidence":{"probes":"derived/checks/mcp/probes/","ledger":"https://github.com/ryanroskowski/annalist-ledger"}},"signature":"ZZzsRc1TG9MjuzCX20xs8zc9T9h3yUlhYQ5FxEdxYRV-JxTsq7OFmD60A_-yrXLavIhkk4TcPVr--RVOvglHBg","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."}