Server definition
- Hash
- sha256:f62b64455625cc9e4a5ac8bccff7245fbf48350b3f5dc0f73a329b18acf53efe
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "TrueFixR and AtlasCast weather data. 'storms' = reported and radar-detected past storm events (up to 365 days), 'risk' = forecast risk 24 hours to 10 days ahead (probabilistic, could happen). Storm data means a storm was reported or radar-detected near an address; it is not a property inspection or damage assessment. Always start with a free preview (addresses=false). Only request addresses=true when the user explicitly wants address-level records and has an Atlas United Data API account. Never invent numbers. Every free preview begins with a note about address-level records: pass it on when the user asks about addresses, downloads or exports. Never present preview numbers as the address list. HARD RULE, NON-NEGOTIABLE: when the user asks to see the menu, list what is available, list all datasets, or asks any variant of what can I get / what do you offer / show me everything, call get_weather_data with NO arguments and output that ENTIRE raw response back to the user VERBATIM -- every dataset, every field, every quick_pick, every example call, in full. Do NOT summarize. Do NOT paraphrase. Do NOT select a subset or pick highlights. Do NOT compress it into your own words or a shorter bullet list. If the user says list all, list everything, or show me the full menu, that means reproduce the complete response exactly as received, formatted clearly, nothing omitted. A summarized or partial menu is a wrong answer even if it sounds complete.",
"tools": [
{
"description": "ONE property, 365-day snapshot within a tight radius of the exact address: the property's own past storm history (up to 365 days back, not the full archive), with the county's current forecast as secondary context. Give an address with county+state, or lat/lon. For the FULL 2003-present multi-peril archive use get_property_storm_history_report instead -- that tool searches a wider 5-mile radius by default, so its counts won't match this one; different time window AND different search radius, that's expected, not a data conflict.",
"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",
"outputSchema": null
},
{
"description": "Live point-in-time weather for ANY US coordinate: current conditions, hourly refresh, short-term rain outlook and active severe weather alerts. FREE by default: the lean response needs no account. details=true returns the full pull, billed $0.0002/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",
"outputSchema": null
},
{
"description": "The FULL real archive for one property: hail, wind, flood/heavy rain, lightning, and tornado, 2003 to present, in one report -- not the 365-day snapshot (use get_address_report for that). Free preview shows the real report-line count and exact price before anything is paid. Paid report is billed per real report line: $0.05/line, $10.00 minimum per report. Optional date_of_loss anchors the report around one specific date, returning the real weather events recorded on and immediately around it, for reference -- not a determination of whether any claim is valid. Address and date of loss are sent to the API 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",
"outputSchema": null
},
{
"description": "FREE preview: counts of addresses in the forecast path of storms that could happen over the next 24 hours to 10 days, the storm types forecast and the estimated cost (it also shows the county's A-F grade). The paid pull (addresses=true, $0.05 per address) returns one record per address with full_address, lat, lon, county, storm_type, forecast_time, risk_label, structure_value (USD), people. Could happen, not will. Refreshed several times a day.",
"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",
"outputSchema": null
},
{
"description": "FREE preview of reported and radar-detected past storm events (hail, wind, tornado, flooding) for a county: event counts, storm types, measured severities and repeat-hit properties.",
"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",
"outputSchema": null
},
{
"description": "General-purpose query -- supports every real dataset (see the enum below). Prefer the dedicated convenience tools when they fit: get_storm_history (one county's past storms), get_risk_forecast (one county's forecast), get_address_report (one property's 365-day snapshot), get_property_storm_history_report (one property's full 2003-present multi-peril archive), get_current_weather (live point weather). Use THIS tool directly for 'coverage' (county coverage check), 'facilities', 'wildfire', 'at_risk', 'daily', or a 'counties' multi-county rollup (comma-separated, max 15), or any parameter combination the dedicated tools don't expose (radius_mi, date_of_loss, window, months, category, limit, kind, details). Call with no arguments to get the full API menu. addresses=false (default) is a FREE preview -- shape varies by dataset (counts/severities for storms, line count + price for history, full field response for weather). addresses=true (or details=true for weather) returns the real paid data and requires the user's own Atlas United Data API account key, or an x402 crypto payment. 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. 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. 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 or dataset=weather 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",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:f62b64455625cc9e4a5ac8bccff7245fbf48350b3f5dc0f73a329b18acf53efe | sha256sum