Skip to main content
Glama

Get FEMA Disaster Details

fema_get_disaster
Read-only

Fetch up to 1,000 designated-area rows for a specific FEMA disaster by disaster number (e.g., 4781). Discloses partial area and program coverage when more rows exist. Returns counties/municipalities along with programs observed, 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.

Input Schema

NameRequiredDescriptionDefault
disaster_numberYesFEMA disaster number (e.g., 4781). Obtain from fema_search_disasters.

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
stateNoTwo-letter state/territory code.
titleNoOfficial declaration title (e.g., "SEVERE STORMS AND FLOODING").
noticeNoReturned/total area counts and partial program evidence, with the dataset tool for full rows.
hm_declaredNoTrue when HM was declared in a fetched row. When areas_truncated is true, false does not exclude HM in unfetched rows.
ia_declaredNoTrue when IHP was declared in a fetched row. When areas_truncated is true, false does not exclude IHP in unfetched rows.
pa_declaredNoTrue when PA was declared in a fetched row. When areas_truncated is true, false does not exclude PA in unfetched rows.
incident_typeNoType of incident (e.g., Flood, Hurricane, Severe Storm).
areas_truncatedNoTrue when designated-area rows remain unfetched; program flags cover only fetched rows.
disaster_numberNoFEMA disaster number — use as the chain key for PA and housing assistance tools.
declaration_dateNoISO 8601 date the declaration was signed.
declaration_typeNoDeclaration type: DR (major disaster), EM (emergency), or FM (fire management).
designated_areasNoFetched counties/municipalities designated for assistance, up to 1,000 rows.
incident_end_dateNoISO 8601 end date of the incident. Absent for ongoing or unrecorded incidents.
incident_begin_dateNoISO 8601 start date of the incident. Absent when not recorded.
designated_area_countNoNumber of designated-area rows fetched for this declaration.
total_designated_area_countNoUpstream total designated-area rows, present when areas_truncated is true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedOutput schema / properties / areas_truncated
      Added value: +{
      +  "description": "True when designated-area rows remain unfetched; program flags cover only fetched rows.",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / designated_area_count / description
      Previous value: -"Total number of designated areas in this declaration."New value: +"Number of designated-area rows fetched for this declaration."
    • changedOutput schema / properties / designated_areas / description
      Previous value: -"All counties/municipalities designated for assistance under this declaration."New value: +"Fetched counties/municipalities designated for assistance, up to 1,000 rows."
    • changedOutput schema / properties / hm_declared / description
      Previous value: -"True when Hazard Mitigation grants were declared."New value: +"True when HM was declared in a fetched row. When areas_truncated is true, false does not exclude HM in unfetched rows."
    • changedOutput schema / properties / ia_declared / description
      Previous value: -"True when the Individuals and Households Program (IHP) was declared — indicates IA housing/personal grants are available."New value: +"True when IHP was declared in a fetched row. When areas_truncated is true, false does not exclude IHP in unfetched rows."
    • addedOutput schema / properties / notice
      Added value: +{
      +  "description": "Returned/total area counts and partial program evidence, with the dataset tool for full rows.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / pa_declared / description
      Previous value: -"True when Public Assistance (infrastructure recovery grants) was declared."New value: +"True when PA was declared in a fetched row. When areas_truncated is true, false does not exclude PA in unfetched rows."
    • addedOutput schema / properties / total_designated_area_count
      Added value: +{
      +  "description": "Upstream total designated-area rows, present when areas_truncated is true.",
      +  "type": "number"
      +}
  2. Changed6 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "disaster_number",
      +      "title",
      +      "state",
      +      "incident_type",
      +      "declaration_type",
      +      "declaration_date",
      +      "ia_declared",
      +      "pa_declared",
      +      "hm_declared",
      +      "designated_areas",
      +      "designated_area_count"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when the call failed. Absent on success.",
      +  "properties": {
      +    "code": {
      +      "description": "JSON-RPC error code for this failure.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "data": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "reason": {
      +          "description": "Machine-readable failure mode. Declared by this tool: `not_found`: No declaration found with the given disaster number. Other values are possible when a failure originates below the handler.",
      +          "examples": [
      +            "not_found"
      +          ],
      +          "type": "string"
      +        },
      +        "recovery": {
      +          "additionalProperties": {},
      +          "description": "Actionable next step for the caller.",
      +          "properties": {
      +            "hint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "hint"
      +          ],
      +          "type": "object"
      +        },
      +        "retryable": {
      +          "description": "Whether retrying may succeed.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "message": {
      +      "description": "Human-readable description of what went wrong.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "disaster_number",
      -  "title",
      -  "state",
      -  "incident_type",
      -  "declaration_type",
      -  "declaration_date",
      -  "ia_declared",
      -  "pa_declared",
      -  "hm_declared",
      -  "designated_areas",
      -  "designated_area_count"
      -]
  3. Changed1 schema field changed
    • changedOutput schema / properties / ia_declared / description
      Previous value: -"True when Individual Assistance (housing/personal grants) was declared."New value: +"True when the Individuals and Households Program (IHP) was declared — indicates IA housing/personal grants are available."
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful behavior beyond that: the 1,000-row fetch cap and an explicit signal ('discloses partial area and program coverage when more rows exist') that results may be truncated and partial. It doesn't cover retry/pagination mechanics, so 4 rather than 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the operation and the row cap, followed by return contents and routing. Every sentence carries information, though the 4781 example and 'use fema_search_disasters' guidance partially duplicate the schema description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a single-parameter, read-only lookup. Return contents are summarized despite an output schema existing, the truncation behavior is disclosed, and the chaining relationships that an agent needs for multi-step workflows are spelled out.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there is only one parameter, so the schema already documents the disaster_number, its type, bounds, and example. The description repeats the example and provenance but adds no new syntax or format meaning. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (fetch designated-area rows for a FEMA disaster by disaster number) and names the exact unit of return (counties/municipalities plus programs, incident period, state). This is clearly distinguishable from siblings like fema_search_disasters or fema_query_dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use fema_search_disasters to obtain the disaster_number prerequisite, and the returned disaster_number chains to fema_get_public_assistance and fema_get_housing_assistance. Both the entry condition and downstream alternatives are named rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.