addrbookFor publishers
← The evidence ledger

Evidence row 259163

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint d1dc72b0-0d25-40f1-aebd-702fca4881d9
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
cc2ae0ee03790d7eb8002fb5d1c115c9f4eb8ec87febb262b07afb045a21a770
Leaf
0xe4742bc6251221f59e15f32b33592ff97c81da8bd744f54d9fe179bf01b92803

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Ask a free-form question about the live monitor and get a cited answer. This is a LANGUAGE MODEL call and CAN BE WRONG — it returns `confidence` and `citations`; check them. Needs sign-in (connect to https://outage.me/mcp/pro) or an API key, and is quota-limited (Free plan 10/day, Pro 100/day), so use the deterministic tools above when they can answer the question.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "q": {
            "description": "The question, in natural language.",
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "answer"
    },
    {
      "description": "LIVE, from the 5-minute status poll: proceed true, false, or \"unknown\" for deploying to one provider (optionally one region), with the open incidents behind it and data_age_minutes. Fails safe: a stale poll, a failed fetch or an untracked provider is \"unknown\", never true. Planned maintenance alone doesn't block. Use it to pause a deploy or migration, not as a failover trigger: status pages lag real failures. Deterministic: no model in the loop.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "description": "Provider name or alias, e.g. 'AWS', 'Google Cloud', 'GitHub'.",
            "type": "string"
          },
          "region": {
            "description": "Optional, e.g. 'us-east-1', 'us-central1', 'westeurope'.",
            "type": "string"
          }
        },
        "required": [
          "provider"
        ],
        "type": "object"
      },
      "name": "deploy_check"
    },
    {
      "description": "LIVE: CVEs being exploited in the wild (CISA KEV), ranked patch-first by CVSS × EPSS exploitation probability × known ransomware use, with CISA due date, patch availability and the factors behind each rank. Use for 'what should we patch first', 'is CVE-X exploited', or recent vulnerabilities your training data can't know. `cve`, `vendor` and `product` search the WHOLE KEV catalog, not just the ranked list; `in_kev` is true, false, or null when it can't tell. Deterministic: no model in the loop.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cve": {
            "description": "Optional. One CVE ID, e.g. CVE-2024-3400: is it in CISA KEV, and its patch-first rank if ranked.",
            "type": "string"
          },
          "limit": {
            "description": "Optional. Max rows, default 10.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "product": {
            "description": "Optional. KEV entries whose product contains this, e.g. 'Exchange'.",
            "type": "string"
          },
          "vendor": {
            "description": "Optional. KEV entries whose vendor contains this, newest first, e.g. 'Microsoft', 'Ivanti'.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "exploited_vulnerabilities"
    },
    {
      "description": "LIVE: cloud and SaaS incidents open right now (AWS, Azure, GCP, Cloudflare, GitHub, Stripe, …), quoted from each provider's own status page with a link, refreshed several times a day. Use for 'is X down', 'why is X failing', or anything after your training cutoff. Filter by provider, region or component instead of reading the whole list; an untracked provider says so rather than returning an empty all-clear. Deterministic: no model in the loop. Prefer it over `answer`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "component": {
            "description": "Optional. Same matching as region, e.g. 'Actions', 'API'.",
            "type": "string"
          },
          "provider": {
            "description": "Optional. Provider name or common alias, e.g. 'AWS', 'gcp', 'GitHub'. 'AWS' matches every AWS service.",
            "type": "string"
          },
          "region": {
            "description": "Optional. Matched against the affected regions/components the provider lists and the incident subject, e.g. 'us-east-1'.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_active_incidents"
    },
    {
      "description": "LIVE: reliability index, incident count and median recovery time per cloud/SaaS provider over the current window, from their official status pages. Use for 'how reliable is X' or 'which provider is more stable'. Deterministic: no model in the loop. Prefer it over `answer`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "description": "Optional. Filter to one provider by name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "provider_reliability"
    },
    {
      "description": "Optional. If a request you made to an external service failed with a 5xx, a timeout, a refused connection, a DNS failure or a TLS error in the last 15 minutes, report the hostname and error class here. Only hosts listed in https://outage.me/agent/hosts.json. Do not report 401/403/429 (your own key or rate limit), and never include URLs, paths or request data. A report earns Ask quota only if it is confirmed (our own probe or other organizations agree).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "error_class": {
            "enum": [
              "http_5xx",
              "timeout",
              "connection_refused",
              "dns_failure",
              "tls_error"
            ],
            "type": "string"
          },
          "host": {
            "description": "Hostname only, e.g. api.stripe.com",
            "type": "string"
          },
          "region": {
            "description": "Optional: where you run, e.g. aws:us-east-1",
            "type": "string"
          },
          "report_token": {
            "description": "Optional: the token a status answer offered",
            "type": "string"
          }
        },
        "required": [
          "host",
          "error_class"
        ],
        "type": "object"
      },
      "name": "report_observation"
    },
    {
      "description": "LIVE: headlines from eight security trade outlets (BleepingComputer, The Hacker News, SecurityWeek, The Record, Krebs on Security, …): headline, outlet, date and link only, never the article text. Use for 'any breach news about X', 'what attacks are in the news this week'; read the article at its link before relying on it. Deterministic: no model in the loop.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "days": {
            "description": "Optional. Look-back in days, default 7.",
            "maximum": 14,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "Optional. Words that must all appear in the headline, e.g. 'breach', 'ransomware hospital', 'Okta'.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "security_headlines"
    },
    {
      "description": "LIVE: CISA's newest security advisories (CSAF: industrial control systems, medical devices, general vulnerabilities), each with its ID, affected vendors, CVEs, CVSS, the opening of CISA's mitigation text and the CISA link. Use for 'what did CISA advise this week' or 'any CISA advisory for <vendor>'. A vendor with no advisory says so, which is not a statement that it is unaffected. Deterministic: no model in the loop.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Optional. Max rows, default 10.",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "vendor": {
            "description": "Optional. Vendor name or part of it, e.g. 'Siemens', 'Rockwell'.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "threat_advisories"
    }
  ]
}

What the leaf hashes

{"body":"cc2ae0ee03790d7eb8002fb5d1c115c9f4eb8ec87febb262b07afb045a21a770","id":259163,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793030688060983,"prev":null,"subject":"d1dc72b0-0d25-40f1-aebd-702fca4881d9","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. 0xe47407c11f4536a3252efbab661b950c1076b544194bbc304b3a9e5f9d6b17cc
  2. 0x0873248e6d73113d1350134bfe9763c9984d4af8f4898fd12dbdd2cb0f1bb2a7
  3. 0xa3562a93953f00c1aaa07688d2b24437c18942e3a74f41da5c85e2a81ec523d7
  4. 0x24e93d3958fd2d7799ada1f69af1831d5895560bba43c7aaed96e0152eec71ff
  5. 0x8f87f455476db57c5832631010c61588b41a0f513ada1e809d969f4e5d9991f3
  6. 0x9dbce39d37542babc0a42629736e337e878157500376e40176fa475cc21153a7
  7. 0x7462fa0e672facf91cc83552e9177810c134978c534859c91c5ec6286213d34b
  8. 0x732fabd717c36e930e47a999d89abfb9944b8a1cef213f47dba5ed76e165967c
  9. 0xfad341df9f0650e5cda8e3dfaac4ac724c361673dc56b69456c2ae2d27c06c26
  10. 0x86c56520a247c0dd1499f40b00669d0f980768d7f2c1c990aed4a43e7b31c44a
  11. 0x162e0da99198c9cdc9c43bf4626e85f4a7092fdb31ea15c7126e1f98b20eaa56
  12. 0x2fc38b57208d692aab1ee89b6e26917df292126314027c27360c5644a63fd0bc
  13. 0xc0924a0807e534382f518663123231c317124338831a2b310de2c17b09677086
  14. 0x9bc5fc98278b9f6dc18c66c6e162aefd5244be03170d41bc5161f58ad11beed7
  15. 0x95657a7d540ed6cac0bde9995782333b2562a9a6641853269ac95148827410f0
  16. 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
  17. 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON