nfip-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nfip-mcp-serverWhat are the total flood insurance payouts in Texas?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
nfip-mcp-server
An MCP (Model Context Protocol) server exposing real US flood insurance claims data — sourced live from FEMA's public OpenFEMA API — as tools an AI agent can call: claim lookup, filtered search, aggregate stats, and flood event summaries.
Why this exists
Built as a hands-on project to learn MCP server design against a real, non-trivial dataset rather than mock data — the same pattern used to expose proprietary data (claims, policies, internal knowledge bases) to enterprise AI agents.
Real data — pulled directly from FEMA's OpenFEMA API, no key required, redacted for privacy, no PII.
Tested — unit tests against the query layer, integration tests against the real server subprocess, CI running both on every push.
Deployable — pip-installable package, Dockerfile included.
Related MCP server: fema-nfhl-mcp
Available Tools
Tool | Description |
| Look up a single flood claim by its unique ID |
| Filtered search by state, flood event, minimum building payment, and/or year |
| Aggregate stats (count, total/average payments, year range), optionally by state |
| Distinct named flood events in the data with claim counts |
Architecture
nfip-mcp-server/
├── src/nfip_mcp/
│ ├── db.py ← pure query functions (no MCP dependency, easy to unit test)
│ └── server.py ← FastMCP tool wrappers around db.py, entry point
├── data/
│ ├── nfip_raw.json ← real claims data pulled from the OpenFEMA API
│ └── claims.db ← SQLite database built from the raw data
├── scripts/
│ ├── build_db.py ← loads nfip_raw.json into claims.db
│ ├── fetch_more_data.py ← pulls a larger, filtered dataset from the live API
│ └── demo_client.py ← manual walkthrough of every tool
├── tests/
│ ├── test_db.py ← unit tests against the query layer
│ └── test_integration.py ← spins up the real server and calls it over stdio
└── .github/workflows/ci.ymlThe query logic in db.py is deliberately free of any MCP-specific code —
it's plain functions taking a sqlite3.Connection and returning dicts, so
it's testable without spinning up a server or client. server.py just wires
thin @mcp.tool() wrappers around it.
Setup
git clone https://github.com/YOUR-USERNAME/nfip-mcp-server
cd nfip-mcp-server
pip install -e ".[dev]"
python scripts/build_db.pyRunning the tests
pytest tests/ # everything
pytest tests/test_db.py # fast unit tests only
pytest -m integration # slower, spins up the real server subprocessRunning the server
nfip-mcp-server # after pip install, runs over stdio
# or
python -m nfip_mcp.serverTo see it working interactively without a full MCP host installed:
python scripts/demo_client.pyConnecting to Claude Desktop (or another MCP host)
Add to your MCP host's config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"nfip-claims": {
"command": "nfip-mcp-server"
}
}
}Running with Docker
docker build -t nfip-mcp-server .
docker run -i nfip-mcp-serverPoint your MCP host's command at docker run -i nfip-mcp-server to use
the containerized version instead.
Scaling up the data
The bundled data/claims.db has a small (~24 record) real sample, enough
to prove the pipeline end to end. To pull a much larger, properly filtered
slice of the real data (this defaults to flood-prone Northeast states):
python scripts/fetch_more_data.py
python scripts/build_db.pyLicense
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceAn MCP server that gives AI agents clean, token-efficient access to US civic & property data — geocoding, census tracts, Opportunity Zones, ACS demographics, and FEMA flood zones — sourced entirely from free federal open data.501MIT
- Alicense-qualityDmaintenanceAn MCP server that gives AI assistants direct access to the FEMA National Flood Hazard Layer (NFHL) for flood zone lookups, FIRM panel information, and flood map data in the United States.10MIT
- Alicense-qualityBmaintenanceAn MCP server that gives AI agents grounded access to US natural-hazard data — weather alerts, forecasts, earthquakes, and FEMA flood zones — from free, keyless US government APIs.MIT
- Flicense-qualityCmaintenanceRemote MCP server exposing US Census (ACS 5-year) and FEMA flood data. Works as a connector in both Claude and ChatGPT.
Related MCP Connectors
OpenFEMA MCP — US Federal Emergency Management Agency open data.
Geospatial MCP server for earthquake, tsunami, volcano, disaster, and FX data queries.
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pgang002/nfip-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server