nfhl_query
Pack: fema-nfhl · Endpoint: https://gateway.pipeworx.io/fema-nfhl/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/nfhl_query for the schema, then POST the same URL with its arguments for the data.
Query any layer of the FEMA National Flood Hazard Layer with an ArcGIS WHERE clause and optional bounding box — flood hazard zones, base flood elevations, floodways, LOMRs and LOMAs, FIRM panels with their effective dates, levees, cross-sections, political jurisdictions. Use for area questions (“every floodway polygon in this county”, “LOMRs issued on this DFIRM”). Layer ids come from nfhl_layers.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
layer_id | number,string | yes | NFHL layer id — 28 is Flood Hazard Zones, 16 Base Flood Elevations, 1 LOMRs, 3 FIRM Panels |
where | string | no | ArcGIS WHERE clause, default “1=1”. Id fields are strings: DFIRM_ID=‘48201C’. |
bbox | string | no | Optional “xmin,ymin,xmax,ymax” WGS84 envelope to restrict the query (longitude first) |
out_fields | string | no | Comma-separated field names, or "" for all (default "") |
limit | number | no | Max rows, 1-${MAX_RECORDS} (default 50) |
offset | number | no | Row offset for paging |
order_by | string | no | Comma-separated order-by fields |
return_geometry | boolean | no | Include geometry. Default false — flood polygons are very large. |
Example call
Arguments
{
"layer_id": 28,
"where": "DFIRM_ID='48201C' AND FLD_ZONE='AE'",
"out_fields": "FLD_ZONE,ZONE_SUBTY,SFHA_TF,STATIC_BFE,DFIRM_ID",
"limit": 5
}
curl
curl -X POST https://gateway.pipeworx.io/fema-nfhl/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nfhl_query","arguments":{"layer_id":28,"where":"DFIRM_ID='\''48201C'\'' AND FLD_ZONE='\''AE'\''","out_fields":"FLD_ZONE,ZONE_SUBTY,SFHA_TF,STATIC_BFE,DFIRM_ID","limit":5}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('nfhl_query', {
"layer_id": 28,
"where": "DFIRM_ID='48201C' AND FLD_ZONE='AE'",
"out_fields": "FLD_ZONE,ZONE_SUBTY,SFHA_TF,STATIC_BFE,DFIRM_ID",
"limit": 5
});
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"fema-nfhl": {
"url": "https://gateway.pipeworx.io/fema-nfhl/mcp"
}
}
}
See Getting Started for client-specific install steps.