addrbookFor publishers
← The evidence ledger

Evidence row 293473

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 7f2f24cb-237a-4877-9e3d-9c91bd21c789
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
9f4c82e139ca6d5e95d53aa19b653e093646ee89d7efeb9917ace07b048e37a5
Leaf
0x44e9dc194531140035fd0835d17943fd7a0bd268d5f0cf188c53eaca0e146302

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "ONE PROPERTY, PAST 365 DAYS. Property Snapshot by Address: Past Storm Leads plus County Forecast Label. Use for recent storms at one exact address: its own reported and radar-detected storm events within a tight radius (about 150 m), with the county's current forecast label as secondary context. Input is an address with county and state, or lat/lon. Not the full archive (use get_property_storm_history_report, Storm History by Address, which searches a wider 5-mile radius so counts will differ), not a county summary (use get_storm_history), and not forecasts (use get_risk_forecast, ML Storm Forecast by Address). For paid single-address data, call get_weather_data with dataset=address and addresses=true ($0.05 flat per address; needs an Atlas United Data API key or an x402 payment).",
      "inputSchema": {
        "properties": {
          "address": {
            "description": "Street address.",
            "type": "string"
          },
          "county": {
            "description": "County name without the word 'County', e.g. Dallas.",
            "type": "string"
          },
          "lat": {
            "description": "Latitude.",
            "type": "number"
          },
          "lon": {
            "description": "Longitude.",
            "type": "number"
          },
          "state": {
            "description": "2-letter US state code, e.g. TX.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_address_report"
    },
    {
      "description": "ONE POINT, NOW TO 48 HOURS. Model-Based Weather by Address: point weather for any U.S. coordinate or street address, with current conditions, active severe weather alerts and a short-term rain outlook. Use for what the weather is or will be at a location; add hours_ahead=0-48 for Model-Based Hourly Forecast by Address. Not for storm history or storm-risk forecasts (use get_address_report, get_property_storm_history_report, get_storm_history or get_risk_forecast). FREE by default: the lean response needs no account. details=true returns the full pull, billed $0.0002 per call (not per address).",
      "inputSchema": {
        "properties": {
          "address": {
            "description": "Street address. Real server-side geocoding -- no separate geocoding step needed.",
            "type": "string"
          },
          "details": {
            "default": false,
            "description": "true = full pull, $0.0002/call, requires an API key or x402 payment. false (default) = free lean response.",
            "type": "boolean"
          },
          "hours_ahead": {
            "description": "Forecast 0-48h out instead of current conditions -- snaps to the nearest available forecast hour, response's forecast_hour_used says exactly what you got.",
            "maximum": 48,
            "minimum": 0,
            "type": "integer"
          },
          "lat": {
            "description": "Latitude, alternative to address.",
            "type": "number"
          },
          "lon": {
            "description": "Longitude, alternative to address.",
            "type": "number"
          },
          "x_payment": {
            "description": "Optional signed x402 payment payload, used instead of an API key when details=true.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_current_weather"
    },
    {
      "description": "ONE PROPERTY, 2003 TO PRESENT. Storm History by Address: Reported and Radar-Detected Events Since 2003. Use when the user wants the full citable record for a single address, or a date-of-loss lookup: 11 event categories (hail, wind, flood, lightning, tornado, hurricane, winter storm, extreme heat/cold, drought, wildfire, coastal) in one report. Input is a street address or lat/lon. Not the 365-day snapshot (use get_address_report) and not a county summary (use get_storm_history). Free preview shows the report-line count and exact price before anything is paid. Paid report: $0.05 per line, $10.00 minimum per report. Optional date_of_loss anchors the report around one date and lists the events reported or radar-detected on and around it, for reference; it is not a determination of whether any claim is valid. Address and date of loss are sent in a POST body, which keeps them out of URLs and logs.",
      "inputSchema": {
        "properties": {
          "address": {
            "description": "Street address. Real server-side geocoding -- no separate geocoding step needed.",
            "type": "string"
          },
          "addresses": {
            "default": false,
            "description": "false = free preview (line count + price). true = the real full report -- requires the user's own Atlas United Data API account key, or an x402 payment.",
            "type": "boolean"
          },
          "date_of_loss": {
            "description": "Optional, YYYY-MM-DD. Anchors the report around this date.",
            "type": "string"
          },
          "lat": {
            "description": "Latitude, alternative to address.",
            "type": "number"
          },
          "lon": {
            "description": "Longitude, alternative to address.",
            "type": "number"
          },
          "radius_mi": {
            "description": "Search radius in miles. Default 5, max 25.",
            "type": "number"
          },
          "x_payment": {
            "description": "Optional signed x402 payment payload, used instead of an API key.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_property_storm_history_report"
    },
    {
      "description": "COUNTY LEVEL, FREE, FUTURE (next 24 hours to 10 days). ML Storm Forecast by Address. Use when the question is which storms could affect a county soon: counts of addresses in the forecast path, the storm types forecast and the estimated cost (the county's A-F grade is shown as a secondary label). Input is state plus county. Per-peril machine-learning models, refreshed 4 times a day. Could happen, not will. Not for past storms (use get_storm_history, get_address_report or get_property_storm_history_report) and not for current weather (use get_current_weather). The paid pull (addresses=true, $0.05 per address) returns one record per address with structure_value (USD replacement cost), people (estimated occupants), full_address, lat, lon, county, storm_type, forecast_time and risk_label. For the paid pull, call get_weather_data with dataset=risk and addresses=true (needs an Atlas United Data API key or an x402 payment).",
      "inputSchema": {
        "properties": {
          "county": {
            "description": "County name without the word 'County', e.g. Dallas.",
            "type": "string"
          },
          "peril": {
            "description": "Narrows the forecast to one storm type -- check a free preview's storm_types for real values available in this window.",
            "type": "string"
          },
          "state": {
            "description": "2-letter US state code, e.g. TX.",
            "type": "string"
          },
          "window": {
            "description": "Forecast window. Default 24h.",
            "enum": [
              "24h",
              "48h",
              "3d",
              "5d",
              "7d",
              "10d"
            ],
            "type": "string"
          }
        },
        "required": [
          "state",
          "county"
        ],
        "type": "object"
      },
      "name": "get_risk_forecast"
    },
    {
      "description": "COUNTY LEVEL, FREE, PAST 365 DAYS. Past Storm Leads by Address: Reported and Radar-Detected, Last 365 Days. Use when the question is how much storm activity a county has had in the past year: event counts, storm types, measured severity ranges and repeat properties. Input is state plus county, never a street address. Not for one property (use get_address_report), not for the 2003-to-present record (use get_property_storm_history_report), not for future storms (use get_risk_forecast). Not a damage assessment. For the paid address-level list, call get_weather_data with dataset=storms and addresses=true ($0.05 per address; needs an Atlas United Data API key or an x402 payment).",
      "inputSchema": {
        "properties": {
          "county": {
            "description": "County name without the word 'County', e.g. Dallas.",
            "type": "string"
          },
          "days": {
            "description": "Look-back window in days (up to 365).",
            "type": "integer"
          },
          "min_severity": {
            "description": "Minimum severity, e.g. 1.75 for golf-ball hail.",
            "type": "number"
          },
          "peril": {
            "description": "Storm/risk type filter. Used by dataset=storms and dataset=risk (narrows to one storm type -- use the exact names returned under storm_types in a free preview) and by dataset=at_risk (narrows to one peril bucket, a different real meaning -- check that dataset's own preview for its real values). Common storms/risk values: HAIL, THUNDERSTORM_WIND, FLASH_FLOOD, HEAVY_RAIN, FLOOD, TORNADO.",
            "type": "string"
          },
          "state": {
            "description": "2-letter US state code, e.g. TX.",
            "type": "string"
          }
        },
        "required": [
          "state",
          "county"
        ],
        "type": "object"
      },
      "name": "get_storm_history"
    },
    {
      "description": "CATCH-ALL and PAID-PULL tool. Prefer the dedicated tools below when one fits (get_storm_history: one county, past 365 days; get_risk_forecast: one county, next 24 hours to 10 days; get_address_report: one address, past 365 days; get_property_storm_history_report: one address, 2003 to present; get_current_weather: one point, now to 48 hours). Use THIS tool for: every PAID address-level pull (set addresses=true), county coverage, facilities, wildfire (county-level), at_risk, daily, a counties multi-county rollup (comma-separated, max 15), hazard_score, or any parameter the dedicated tools do not expose (radius_mi, date_of_loss, window, months, category, limit, kind, details, hours_ahead). Datasets: ML Storm Forecast by Address (risk), Model-Based Weather by Address (weather), Model-Based Hourly Forecast by Address (weather with hours_ahead), Storm History by Address: Reported and Radar-Detected Events Since 2003 (history), Past Storm Leads by Address: Reported and Radar-Detected, Last 365 Days (storms). addresses=false (default) is a FREE preview; addresses=true (or details=true for weather) returns the paid data and requires the user's own Atlas United Data API account key, or an x402 payment. Call with no arguments for the full menu. HARD RULE when called with no arguments: this returns the full menu. Output that entire raw response back to the user verbatim, every dataset, every field, every example. Do not summarize or paraphrase. A shortened version is wrong even if it looks complete.",
      "inputSchema": {
        "properties": {
          "address": {
            "description": "Street address, for dataset=address.",
            "type": "string"
          },
          "addresses": {
            "default": false,
            "description": "false = free preview. true = address-level records -- requires EITHER the user's own Atlas United Data API account key (Authorization header) OR an x402 payment (see x_payment param below); no account needed for the x402 path.",
            "type": "boolean"
          },
          "category": {
            "description": "dataset=facilities only. Facility category filter.",
            "type": "string"
          },
          "counties": {
            "description": "Comma-separated county names (max 15) plus state, for a multi-county rollup. Free preview only.",
            "type": "string"
          },
          "county": {
            "description": "County name without the word 'County', e.g. Dallas.",
            "type": "string"
          },
          "dataset": {
            "description": "Target dataset. Default storms.",
            "enum": [
              "storms",
              "risk",
              "address",
              "coverage",
              "facilities",
              "wildfire",
              "at_risk",
              "daily",
              "history",
              "weather",
              "hazard_score"
            ],
            "type": "string"
          },
          "date_of_loss": {
            "description": "dataset=history only. YYYY-MM-DD. Anchors the report around this date -- returns the real weather events recorded on and immediately around that date, for reference. Not a determination of whether any claim is valid.",
            "type": "string"
          },
          "days": {
            "description": "Look-back window in days where supported.",
            "type": "integer"
          },
          "details": {
            "default": false,
            "description": "dataset=weather only (Model-Based Weather by Address). true = full current-conditions pull, billed $0.0002/call. false (default) = free lean response, no account needed. Equivalent to addresses=true for this dataset.",
            "type": "boolean"
          },
          "format": {
            "default": "json",
            "description": "Response format. json (default) or csv.",
            "enum": [
              "json",
              "csv"
            ],
            "type": "string"
          },
          "hours_ahead": {
            "description": "dataset=weather only (Model-Based Hourly Forecast by Address). Forecast 0-48h out instead of current conditions -- snaps to the nearest available forecast hour, response's forecast_hour_used says exactly what you got.",
            "maximum": 48,
            "minimum": 0,
            "type": "integer"
          },
          "kind": {
            "description": "dataset=at_risk only. Narrows to 'schools' or 'businesses'.",
            "type": "string"
          },
          "lat": {
            "description": "Latitude in decimal degrees.",
            "type": "number"
          },
          "limit": {
            "description": "Max records on the real paid pull (default 2000, real per-dataset caps still apply -- e.g. storms caps at 5000).",
            "type": "integer"
          },
          "lon": {
            "description": "Longitude in decimal degrees.",
            "type": "number"
          },
          "max_severity": {
            "description": "Maximum measured severity.",
            "type": "number"
          },
          "min_severity": {
            "description": "Minimum measured severity (e.g. 1.5 = 1.5 inch hail). Check severity_by_type in a preview for the real unit.",
            "type": "number"
          },
          "months": {
            "description": "dataset=storms only. Returns month-bucketed history totals instead of individual leads, for the last N months.",
            "type": "integer"
          },
          "peril": {
            "description": "Storm/risk type filter. Used by dataset=storms and dataset=risk (narrows to one storm type -- use the exact names returned under storm_types in a free preview) and by dataset=at_risk (narrows to one peril bucket, a different real meaning -- check that dataset's own preview for its real values). Common storms/risk values: HAIL, THUNDERSTORM_WIND, FLASH_FLOOD, HEAVY_RAIN, FLOOD, TORNADO.",
            "type": "string"
          },
          "radius_mi": {
            "description": "dataset=history only. Search radius in miles. Default 5, max 25.",
            "type": "number"
          },
          "state": {
            "description": "2-letter US state code, e.g. TX.",
            "type": "string"
          },
          "window": {
            "description": "dataset=risk only. Forecast window. Default 24h.",
            "enum": [
              "24h",
              "48h",
              "3d",
              "5d",
              "7d",
              "10d"
            ],
            "type": "string"
          },
          "x_payment": {
            "description": "Optional. A signed x402 protocol payment payload (base64), used instead of an API key to pay for ONE address-level pull in USDC on Base network. If addresses=true and neither an API key nor x_payment is provided, the response is an HTTP 402 with full payment instructions (pay_to address, amount, network) an agent can act on to construct this payload and retry.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_weather_data"
    }
  ]
}

What the leaf hashes

{"body":"9f4c82e139ca6d5e95d53aa19b653e093646ee89d7efeb9917ace07b048e37a5","id":293473,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793049417506217,"prev":null,"subject":"7f2f24cb-237a-4877-9e3d-9c91bd21c789","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. 0x44e9adc9a01fce63571eb2781ff8e43010faf8946287ede1546c6ad19b3e059d
  2. 0x50f4fe6a505a2e3b50accfb2119495315caffb2ac1be83d73e10d7c0e054b28a
  3. 0x55e0f79d313787d257b40b5a7a1150dfb2cfa7997da474e3a1af45d3803074dc
  4. 0xfbaca322c61c1ef08d9264bb99e0d03a665a54beba7881e8104f10f98c5bd2d4
  5. 0xce75f9a281c6ce36514519f6c390078735f1b0fd2f64cf3b01c8ca6fa92ac08d
  6. 0x8633197662c64a440731fbebc58c3a6ae008b010716b8c0527f42077a1d796f8
  7. 0xafdd6fc90610e7082bbe27cf37708397ea0003b86b12509475bedb7872c465c4
  8. 0x93f1edadd01cd4b89fcec3322d8ba04a3a79de4ee1e4b9be485e61853b9136c1
  9. 0x3fd467160a778614ee7dd47a7bb6f0b59b686f5817000f5c7895208822aa5816
  10. 0x13ea36be43d4574f8bd99c733b69dbcb799cbe5f4a84b764faa11f5ceec2f679
  11. 0x1204d0e3e739db3e40f40f102e1314028f064872da22239d712e0ef4cff7deed
  12. 0x2b1b47804e83988d7fd5ed8179b2334f3f43b318109b54142f6c6bd749076f9e
  13. 0x54b29089c0a3cbbd6ddbe58944696110984dd5f418275cb1b77f957c56da8eab
  14. 0x8b27a4c21bf4ba962fd008c8f4300bc6953764a5032b9ab0cfe696b318c45326
  15. 0x4b52a97f7a80ff7778a702b85267b8d2e5c93ce160942656435c29ae7be68bf4
  16. 0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0
  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