Koskamo

TrueFixR Storm Data API MCP

An MCP server that allows AI assistants to connect and look up storm data for U.S. addresses, including historical storm reports, model-based weather forecasts, and risk scores. It supports integration with ChatGPT and Claude via custom connectors.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

TrueFixR Storm Data API MCP logo, by Atlas UnitedCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Atlas United
MCP endpoint (Streamable HTTP)
https://mcp.atlasunited.io/mcp
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 6 of 6 declare behavior hints · 6 of 6 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Look up storm data for an address
  • Check model-based weather forecasts
  • Retrieve historical storm reports
  • Get risk scores for specific perils

Source and maintenance

Community listingRegistry 1.0.1
Maintenance checked

Protocol and capabilities

Server
atlasunited-weather-data 2.5.1
MCP protocol negotiated in check
2025-11-25
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Atlas United address-level storm data. Products: ML Storm Forecast by Address (dataset=risk, forecasts 24 hours to 10 days ahead, could happen), Model-Based Weather by Address (dataset=weather), Model-Based Hourly Forecast by Address (dataset=weather with hours_ahead), Storm History by Address: Reported and Radar-Detected Events Since 2003 (dataset=history), Past Storm Leads by Address: Reported and Radar-Detected, Last 365 Days (dataset=storms). Storm data means a storm was reported or radar-detected near an address; it is not a property inspection or damage assessment. Without a key, every data tool returns the exact price quote (count and price) and a pay link; with a key (or x402 payment) it returns the data. Only the menu (get_weather_data with no arguments) is free. Start with a quote (addresses=false) unless the user asks for the paid data. Never invent numbers. Every quote begins with a note with the count, price and payment link: pass it on to the user. Never present quote numbers as the address list. License: own use only; no resale, redistribution or AI training. 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

6 advertised

get_weather_data — Atlas United data, all datasets (advanced / multi-county)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 ($0.0002), facilities, wildfire (county-level), at_risk, daily, a counties multi-county rollup (comma-separated, max 15), hazard_score ($0.50), 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). Without a key, the tool returns the exact price quote (count + price) and a card pay link; with a key (prepaid from $1 at https://atlasunited.io/api) or an x402 payment, it returns the data. Call with no arguments for the free full menu. License: own use only; no resale, redistribution or AI training. 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.

get_weather_data input schema
{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "description": "Latitude in decimal degrees."
    },
    "lon": {
      "type": "number",
      "description": "Longitude in decimal degrees."
    },
    "days": {
      "type": "integer",
      "description": "Look-back window in days where supported."
    },
    "kind": {
      "type": "string",
      "description": "dataset=at_risk only. Narrows to 'schools' or 'businesses'."
    },
    "limit": {
      "type": "integer",
      "description": "Max records on the paid pull (default 2000, per-dataset caps still apply, e.g. storms caps at 5000)."
    },
    "peril": {
      "type": "string",
      "description": "Storm/risk type filter. Used by dataset=storms and dataset=risk (narrows to one storm type) and by dataset=at_risk (narrows to one peril bucket). Common storms/risk values: HAIL, THUNDERSTORM_WIND, FLASH_FLOOD, HEAVY_RAIN, FLOOD, TORNADO."
    },
    "state": {
      "type": "string",
      "description": "2-letter US state code, e.g. TX."
    },
    "county": {
      "type": "string",
      "description": "County name without the word 'County', e.g. Dallas."
    },
    "format": {
      "enum": [
        "json",
        "csv"
      ],
      "type": "string",
      "default": "json",
      "description": "Response format. json (default) or csv."
    },
    "months": {
      "type": "integer",
      "description": "dataset=storms only. Returns month-bucketed history totals instead of individual leads, for the last N months."
    },
    "window": {
      "enum": [
        "24h",
        "48h",
        "3d",
        "5d",
        "7d",
        "10d"
      ],
      "type": "string",
      "description": "dataset=risk only. Forecast window. Default 24h."
    },
    "address": {
      "type": "string",
      "description": "Street address, for dataset=address."
    },
    "dataset": {
      "enum": [
        "storms",
        "risk",
        "address",
        "coverage",
        "facilities",
        "wildfire",
        "at_risk",
        "daily",
        "history",
        "weather",
        "hazard_score"
      ],
      "type": "string",
      "description": "Target dataset. Default storms."
    },
    "details": {
      "type": "boolean",
      "default": false,
      "description": "dataset=weather only (Model-Based Weather by Address). Billed $0.0002/call with a key or x402 payment; without a key, returns a price quote and pay link."
    },
    "category": {
      "type": "string",
      "description": "dataset=facilities only. Facility category filter."
    },
    "counties": {
      "type": "string",
      "description": "Comma-separated county names (max 15) plus state, for a multi-county rollup."
    },
    "addresses": {
      "type": "boolean",
      "default": false,
      "description": "Without a key, returns the exact price quote (count and price) and a pay link. With a key or x402 payment, true = address-level records ($0.05/record)."
    },
    "radius_mi": {
      "type": "number",
      "description": "dataset=history only. Search radius in miles. Default 5, max 25."
    },
    "x_payment": {
      "type": "string",
      "description": "Optional. A signed x402 protocol payment payload (base64), used instead of an API key to pay per call in USDC on Base network. Without a key or x_payment, the API returns an HTTP 402 quote with payment instructions (accepts, pay_with_card)."
    },
    "hours_ahead": {
      "type": "integer",
      "maximum": 48,
      "minimum": 0,
      "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, and forecast_hour_used says what you got."
    },
    "date_of_loss": {
      "type": "string",
      "description": "dataset=history only. YYYY-MM-DD. Anchors the report around this date, returning the weather events recorded on and immediately around that date, for reference. Not a determination of whether any claim is valid."
    },
    "max_severity": {
      "type": "number",
      "description": "Maximum measured severity."
    },
    "min_severity": {
      "type": "number",
      "description": "Minimum measured severity (e.g. 1.5 = 1.5 inch hail)."
    }
  }
}
get_weather_data annotations
{
  "title": "Atlas United data, all datasets (advanced / multi-county)",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_storm_history — Past Storm Leads by Address (county quote)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

COUNTY LEVEL, 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. Without a key, returns the exact price quote (address count and price at $0.05/address) and a pay link; with a key it returns the data. County grade and counts by storm type are a paid County Summary (summary=true, $0.02 per county). 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; pay with an Atlas United API key, x402, or the card pay link).

get_storm_history input schema
{
  "type": "object",
  "required": [
    "state",
    "county"
  ],
  "properties": {
    "days": {
      "type": "integer",
      "description": "Look-back window in days (up to 365)."
    },
    "peril": {
      "type": "string",
      "description": "Storm/risk type filter. Used by dataset=storms and dataset=risk (narrows to one storm type) and by dataset=at_risk (narrows to one peril bucket). Common storms/risk values: HAIL, THUNDERSTORM_WIND, FLASH_FLOOD, HEAVY_RAIN, FLOOD, TORNADO."
    },
    "state": {
      "type": "string",
      "description": "2-letter US state code, e.g. TX."
    },
    "county": {
      "type": "string",
      "description": "County name without the word 'County', e.g. Dallas."
    },
    "min_severity": {
      "type": "number",
      "description": "Minimum severity, e.g. 1.75 for golf-ball hail."
    }
  }
}
get_storm_history annotations
{
  "title": "Past Storm Leads by Address (county quote)",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_risk_forecast — ML Storm Forecast by Address
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

COUNTY LEVEL, FUTURE (next 24 hours to 10 days). ML Storm Forecast by Address. Use when the question is which storms could affect a county soon. Without a key, returns the exact price quote (count of addresses in the forecast path and price at $0.05/address) and a pay link; with a key it returns the data. County grade and counts by storm type are a paid County Summary (summary=true, $0.02 per county). 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 (pay with an Atlas United API key, x402, or the card pay link).

get_risk_forecast input schema
{
  "type": "object",
  "required": [
    "state",
    "county"
  ],
  "properties": {
    "peril": {
      "type": "string",
      "description": "Narrows the forecast to one storm type (e.g. HAIL, THUNDERSTORM_WIND, TORNADO, FLOOD)."
    },
    "state": {
      "type": "string",
      "description": "2-letter US state code, e.g. TX."
    },
    "county": {
      "type": "string",
      "description": "County name without the word 'County', e.g. Dallas."
    },
    "window": {
      "enum": [
        "24h",
        "48h",
        "3d",
        "5d",
        "7d",
        "10d"
      ],
      "type": "string",
      "description": "Forecast window. Default 24h."
    }
  }
}
get_risk_forecast annotations
{
  "title": "ML Storm Forecast by Address",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_property_storm_history_report — Storm History by Address: Reported and Radar-Detected Events Since 2003
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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). Without a key, returns the exact price quote (report-line count and price) and a pay link; with a key (or x402 payment) it returns the data. Paid report: $0.05 per line, no minimum (zero matching lines = $0.05). 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.

get_property_storm_history_report input schema
{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "description": "Latitude, alternative to address."
    },
    "lon": {
      "type": "number",
      "description": "Longitude, alternative to address."
    },
    "address": {
      "type": "string",
      "description": "Street address. Server-side geocoding, no separate geocoding step needed."
    },
    "addresses": {
      "type": "boolean",
      "default": false,
      "description": "false = price quote (line count + price) and pay link. true = the full report ($0.05/line, no minimum; requires an Atlas United Data API key or an x402 payment)."
    },
    "radius_mi": {
      "type": "number",
      "description": "Search radius in miles. Default 5, max 25."
    },
    "x_payment": {
      "type": "string",
      "description": "Optional signed x402 payment payload, used instead of an API key."
    },
    "date_of_loss": {
      "type": "string",
      "description": "Optional, YYYY-MM-DD. Anchors the report around this date."
    }
  }
}
get_property_storm_history_report annotations
{
  "title": "Storm History by Address: Reported and Radar-Detected Events Since 2003",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_current_weather — Model-Based Weather by Address (hourly forecast with hours_ahead)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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). Without a key, returns the exact price quote ($0.0002) and a pay link; with a key (or x402 payment) it returns the weather data, billed $0.0002 per call (not per address).

get_current_weather input schema
{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "description": "Latitude, alternative to address."
    },
    "lon": {
      "type": "number",
      "description": "Longitude, alternative to address."
    },
    "address": {
      "type": "string",
      "description": "Street address. Server-side geocoding, no separate geocoding step needed."
    },
    "details": {
      "type": "boolean",
      "default": false,
      "description": "true = full pull ($0.0002/call). Requires an API key or x402 payment; without a key, returns a price quote and pay link."
    },
    "x_payment": {
      "type": "string",
      "description": "Optional signed x402 payment payload, used instead of an API key."
    },
    "hours_ahead": {
      "type": "integer",
      "maximum": 48,
      "minimum": 0,
      "description": "Forecast 0-48h out instead of current conditions; snaps to the nearest available forecast hour, and forecast_hour_used says what you got."
    }
  }
}
get_current_weather annotations
{
  "title": "Model-Based Weather by Address (hourly forecast with hours_ahead)",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_address_report — Property Snapshot by Address (365-day past storm leads plus county forecast label)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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. Without a key, returns the exact price quote ($0.05) and a pay link; with a key it returns the data. 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; pay with an Atlas United API key, x402, or the card pay link).

get_address_report input schema
{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "description": "Latitude."
    },
    "lon": {
      "type": "number",
      "description": "Longitude."
    },
    "state": {
      "type": "string",
      "description": "2-letter US state code, e.g. TX."
    },
    "county": {
      "type": "string",
      "description": "County name without the word 'County', e.g. Dallas."
    },
    "address": {
      "type": "string",
      "description": "Street address."
    }
  }
}
get_address_report annotations
{
  "title": "Property Snapshot by Address (365-day past storm leads plus county forecast label)",
  "readOnlyHint": true,
  "openWorldHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
375 ms
95th percentile latency
375 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 375 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http truefixr-storm-data-api-mcp https://mcp.atlasunited.io/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add truefixr-storm-data-api-mcp --url https://mcp.atlasunited.io/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable truefixr-storm-data-api-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "truefixr-storm-data-api-mcp": {
      "url": "https://mcp.atlasunited.io/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "truefixr-storm-data-api-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.atlasunited.io/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start truefixr-storm-data-api-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "truefixr-storm-data-api-mcp": {
      "type": "http",
      "url": "https://mcp.atlasunited.io/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http truefixr-storm-data-api-mcp https://mcp.atlasunited.io/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.atlasunited.io/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "truefixr-storm-data-api-mcp": {
      "serverUrl": "https://mcp.atlasunited.io/mcp"
    }
  }
}

Let your agent find its tools

Find servers like TrueFixR Storm Data API MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.