Skip to main content
Glama

Disaster Declarations

disaster_declarations
Read-onlyIdempotent

Look up and COUNT US federal disaster declarations (FEMA DisasterDeclarationsSummaries). Filters: state (2-letter), incidentType (e.g. 'Fire', 'Flood', 'Hurricane', 'Severe Storm'), declarationType ('DR' major disaster, 'EM' emergency, 'FM' fire management), year (fyDeclared, the federal FISCAL year), and since/until for a real calendar date range — use since/until for questions like 'in the past year', which a fiscal year does not answer. Counts are DISTINCT DISASTERS by default, not table rows: FEMA publishes one row per disaster per designated county, so Hurricane Harvey is ~60 rows for Texas but one declaration. Pass designatedArea or grain:'area' for county-level rows. Returns the most recent first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNoFederal FISCAL year declared (fyDeclared), e.g. 2024. For a calendar window use since/until instead.
grainNo'disaster' (default) = one record per declaration; 'area' = one record per designated county.
limitNoMax records (default 50, max 1000).
sinceNoOnly declarations on/after this date — ISO 'YYYY-MM-DD'. Use with until for windows like 'the past year'.
stateNo2-letter state/territory code, e.g. 'CA', 'TX'.
untilNoOnly declarations on/before this date — ISO 'YYYY-MM-DD'.
orderbyNoOData $orderby, default 'declarationDate desc'. Live-API path only.
incidentTypeNoIncident type, e.g. 'Fire', 'Flood', 'Hurricane', 'Severe Storm'.
designatedAreaNoFilter to a designated area, e.g. 'Harris (County)'. Implies county-level grain.
declarationTypeNo'DR' (major disaster), 'EM' (emergency), or 'FM' (fire management).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed6 schema fields changed
    • addedInput schema / properties / designatedArea
      Added value: +{
      +  "description": "Filter to a designated area, e.g. 'Harris (County)'. Implies county-level grain.",
      +  "type": "string"
      +}
    • addedInput schema / properties / grain
      Added value: +{
      +  "description": "'disaster' (default) = one record per declaration; 'area' = one record per designated county.",
      +  "enum": [
      +    "disaster",
      +    "area"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / orderby / description
      Previous value: -"OData $orderby, default 'declarationDate desc'."New value: +"OData $orderby, default 'declarationDate desc'. Live-API path only."
    • addedInput schema / properties / since
      Added value: +{
      +  "description": "Only declarations on/after this date — ISO 'YYYY-MM-DD'. Use with until for windows like 'the past year'.",
      +  "type": "string"
      +}
    • addedInput schema / properties / until
      Added value: +{
      +  "description": "Only declarations on/before this date — ISO 'YYYY-MM-DD'.",
      +  "type": "string"
      +}
    • changedInput schema / properties / year / description
      Previous value: -"Fiscal year declared (fyDeclared), e.g. 2024."New value: +"Federal FISCAL year declared (fyDeclared), e.g. 2024. For a calendar window use since/until instead."
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "state": "CA",
      +    "year": 2024
      +  },
      +  {
      +    "declarationType": "DR",
      +    "incidentType": "Hurricane",
      +    "limit": 100,
      +    "state": "TX"
      +  }
      +]
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses crucial behavioral nuances: counts are DISTINCT DISASTERS by default, not table rows, and explains why (one row per county), including the Hurricane Harvey example. Also states the default ordering ('most recent first'), preventing misinterpretation of results.

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

Conciseness5/5

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

Every sentence in the description carries valuable information: purpose, filter list, count behavior, date-range guidance, and ordering. Despite being dense, it avoids redundancy and is well-structured, front-loading the core purpose.

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

Completeness4/5

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

The description covers the tool's key behaviors and edge cases thoroughly, especially the count semantics and granularity controls. With no output schema, it could enumerate return fields, but the current detail is sufficient for selecting and invoking the tool correctly.

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

Parameters4/5

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

The input schema already has 100% coverage, but the description adds meaningful context by explaining the fiscal-year vs calendar-date distinction and how grain/designatedArea affect the output granularity. This goes beyond the schema's property descriptions, which are already detailed.

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?

The description clearly states it 'Look up and COUNT US federal disaster declarations' and names the specific source (FEMA DisasterDeclarationsSummaries). This verb+resource combination distinguishes it from sibling tools, none of which target disaster declarations.

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

Usage Guidelines4/5

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

Provides explicit guidance on when to use since/until vs fiscal year, and explains the difference between disaster-level and area-level queries via designatedArea/grain. It does not explicitly name alternative tools, but gives clear contextual advice for common query patterns.

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.

TDQS

A3.6/5.0
Disambiguation2/5

The tool set has several overlapping families: ask_pipeworx and ask_pipeworx_beta are explicitly identical right now, the discovery tools (list_datasets, discover_tools, suggest_questions) all serve a 'what can I do here' purpose, and ai_visibility_check is wrapped by scan_competitor_ai_presence. The polymarket_* tools are well-differentiated, but the heavy overlap in the meta-tools makes selection error-prone.

Naming Consistency2/5

Naming is a mix of conventions with no unifying pattern: family prefixes appear as ask_pipeworx_*, pipeworx_*, and polymarket_*, while unrelated tools use bare nouns (entity_profile, recent_changes), verb-first names (validate_claim, search_within), and inconsistent styles. The three actual FEMA tools (disaster_declarations, list_datasets, query_dataset) share no prefix that ties them to the server's stated name.

Tool Count2/5

34 tools exceeds the 'too many' threshold, and the count is unjustified by the server's apparent scope: only 3 of 34 tools relate to OpenFEMA data, with the remaining 31 being a grab-bag of Pipeworx routing, Polymarket betting, memory, subscription, and AI-visibility utilities. The bulk is either redundant with the meta-routers or off-domain for a server named 'Openfema'.

Completeness2/5

For FEMA specifically, list_datasets + query_dataset covers generic read-only access and disaster_declarations adds a convenience wrapper, but the domain is extremely thin and lacks FEMA-specific conveniences (e.g., geographic aggregation, multi-dataset joins, incident summaries). For the broader Pipeworx universe the routing coverage is actually decent, but that makes the FEMA-named server's surface feel incoherent — an agent expecting a FEMA toolset finds most of its value in unrelated prediction-market and brand-visibility tools.