mcpbeat

Fema MCP Server

io.github.cyanheads/fema-mcp-server
answering

Fema MCP Server is answering right now. Last checked 5 min ago. 65 installs a week from npm. It exposes 8 tools. Last commit 30 Jul 2026.

Query FEMA disaster declarations, public assistance grants, housing aid, and NFIP claims.

Installs per day peak 303 · avg 36 · -24% w/w
a month agotoday
Uptime history 41 hours of history · worst hour 75%
41 hours agonow
100.0%
Uptime 24h
91 of 91 checks
8
Tools
read from the server
386 ms
Response time
average over 24h
65
Installs / week
npm and PyPI

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 5 min ago.

run in your terminal
claude mcp add fema-mcp-server --transport http https://fema.caseyjhand.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "fema-mcp-server": {
      "url": "https://fema.caseyjhand.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.fema-mcp-server]
url = "https://fema.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "fema-mcp-server": {
      "url": "https://fema.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "fema-mcp-server": {
      "url": "https://fema.caseyjhand.com/mcp"
    }
  }
}

Available tools 8

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

fema
fema_dataframe_describe
List tables and column schemas on a DataCanvas staged by fema_search_nfip. Call this before fema_dataframe_query to discover the exact table name, column names, and DuckDB data types needed to write valid SQL. Row count reflects what was actually staged — check truncated in the fema_search_nfip response to know whether the canvas holds the full matching set.
fema_dataframe_query
Run a read-only SQL SELECT against a DataCanvas table staged by fema_search_nfip. Enables aggregation, GROUP BY, SUM/COUNT, time-series, and filtered analysis over the full NFIP claims result without re-fetching from the API. Call fema_dataframe_describe first to get the exact table name and column names needed for valid SQL. Only SELECT statements are allowed — DDL, DML, COPY, and file-reading functions are blocked.
fema_get_disaster
Fetch all designated-area rows for a specific FEMA disaster by disaster number (e.g., 4781). Returns every county/municipality designated under the declaration along with programs activated, incident period, and state info. Use fema_search_disasters to find disaster numbers. The returned disaster_number chains to fema_get_public_assistance and fema_get_housing_assistance.
fema_get_housing_assistance
Retrieve Individual Assistance (IA) housing data for a disaster by disaster number. Returns owner and/or renter breakdowns by county and ZIP code — valid registrations, total approved IHP amounts, repair/rental amounts, and inspection data. Use type to select owners, renters, or both (default). Use disaster_number from fema_search_disasters.
fema_get_public_assistance
Retrieve Public Assistance (PA) funded project records for a disaster or state — shows where federal recovery money was obligated. Returns applicant, damage category, project size and status, federal share obligated, and total obligated amounts. Either disaster_number or state must be provided. Use disaster_number (from fema_search_disasters) to scope to a single declaration, or state to browse all PA projects for a state. PA projects are created only when the PA program is declared (pa_declared: true on the disaster).
fema_query_dataset
Generic OData query against any OpenFEMA v2 dataset — the escape hatch for datasets the convenience tools do not cover (e.g., FimaNfipPolicies, IndividualAssistanceHousingRegistrantsLargeDisasters, FemaWebDeclarationAreas, PublicAssistanceApplicants). Accepts raw OData filter, select, orderby, and pagination parameters. For NFIP Policies, use propertyState (not state) as the state field — always include a county or ZIP filter to avoid timeout. The dataset name must match the exact OpenFEMA v2 entity name (case-sensitive, e.g., FimaNfipClaims). Unknown dataset names return an unknown_dataset error.
fema_search_disasters
Search federal disaster declarations by state, incident type, declaration type, date range, and county. Returns deduplicated declaration-level summaries — each disaster number appears once with a designatedAreaCount showing how many counties/municipalities were designated. The disaster number is the chain key for fema_get_disaster, fema_get_public_assistance, and fema_get_housing_assistance. Use declaration_type to filter: DR (major disaster, most common), EM (emergency), FM (fire management). Date filters apply to the declaration date. Use fema_get_disaster to retrieve all designated-area rows for a specific declaration.
fema_search_nfip
Search National Flood Insurance Program (NFIP) claims data by state, county, ZIP code, and year range. Returns claim counts, amounts paid on building and contents, flood zones, and loss years. state is required — the full NFIP dataset is 2.7 million rows; unfiltered access is prohibited. When DataCanvas is enabled (CANVAS_PROVIDER_TYPE=duckdb) and results exceed the inline preview, the full result set is staged on a canvas for SQL aggregation via fema_dataframe_query. Use fema_dataframe_describe to inspect the staged table schema before writing SQL. Without canvas, results are returned inline up to the limit.

Endpoints

URLTransportStateLatencyChecked
https://fema.caseyjhand.com/mcp streamable-http answering 430 ms 5 min ago

Fema MCP Server — questions

Answers built from our own checks of this server.

What can Fema MCP Server do?
It exposes 8 tools, read directly from the server on our last check. Among them: fema_dataframe_describe, fema_dataframe_query, fema_get_disaster, fema_get_housing_assistance, fema_get_public_assistance, fema_query_dataset and 2 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Fema MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 386 ms. The bar chart above shows every period we have measured.
How do I connect Fema MCP Server?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Fema MCP Server need an API key?
No. Fema MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 8 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Fema MCP Server?
It answers our handshake in 386 ms on average, which is faster than 35% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Fema MCP Server?
The npm package @cyanheads/fema-mcp-server was installed 65 times in the last week. Week over week that is -24%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Fema MCP Server open source?
Yes — it is published under the Apache-2.0 licence, written in TypeScript, 1 stars on GitHub and 6 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.