What the Property Hazard MCP MCP server does
Property Hazard MCP accepts one US property address through the assess_property_hazard tool and produces a structured natural-hazard assessment. The result covers four areas: flood exposure, wildfire risk, earthquake intensity, and proximity to faults or the coast. It also includes a deterministic hazard_score from 0 to 100, a corresponding hazard_tier, and up to five hazard_drivers explaining the main factors behind the result.
The service is intended for address-level screening rather than a complete property-risk investigation. It uses free, keyless public sources, so callers do not need to supply credentials or maintain a separate database.
How it works
The server first validates and geocodes the submitted address through the US Census Bureau Geocoder. FEMA’s National Flood Hazard Layer supplies the flood-zone result, while USGS Design Maps provide seismic peak ground acceleration data used with ASCE 7-22 references. Fault and coastal proximity are calculated against static reference points using the haversine distance method.
Property Hazard MCP combines the available outputs into its score and tier. If a source cannot provide a value, the affected field is marked unknown rather than being treated as zero risk. This distinction matters when interpreting an incomplete assessment, particularly for FEMA data.
The repository provides a remote MCP endpoint and also documents local execution. A local process exposes streamable HTTP at http://localhost:8000/mcp, and Docker Compose can be used for deployment.
Setup and configuration
No environment variables or API keys are required. For local development, create a Python virtual environment, install the dependencies from requirements.txt, enter the src directory, and run server.py with the virtual environment’s Python interpreter. The documented commands differ between Windows and macOS/Linux because the virtual-environment paths use different conventions.
Docker deployment is available through the repository’s docker-compose.yml file. After starting the compose service, an MCP client can send a JSON-RPC tool call to the server’s /mcp endpoint. The request must name assess_property_hazard and provide an address string.
Tools and capabilities
assess_property_hazard(address: str): validates and geocodes one address, then returns flood, wildfire, seismic, fault-distance, and coastal-distance information.
- Computes a deterministic 0–100 hazard score and hazard tier.
- Reports up to five hazard drivers.
- Uses FEMA NFHL, USGS Design Maps, the US Census geocoder, and static geographic reference points.
- Works with MCP-compatible hosts, including the README’s stated Claude and ChatGPT use cases.
Limitations and notes
The Property Hazard MCP MCP server supports US addresses only. Wildfire scoring is a coarse heuristic based on coordinate zones, not a parcel-level analysis, so it should not be read as a detailed assessment of a specific parcel or structure.
FEMA’s NFHL service can be unreachable from some networks. When that happens, the response reports flood_available: false rather than assigning a low or zero flood risk. Other unavailable source fields are likewise represented as unknown. Results should therefore be checked for missing data before being used in a decision process.
The implementation does not provide a map, and the documented distance calculations use static reference points. Its output is best suited to initial screening, comparison, or agent workflows that need a consistent address-based summary rather than a full underwriting or engineering report.