Skip to main content
Glama

us-drought-monitor-mcp-server

Get county weeks in drought

drought_get_weeks_in_drought
Read-onlyIdempotent

Get authoritative consecutive streaks or non-consecutive week counts when any county area meets the selected drought category or worse. Supply states or one county, never both; omitted selectors mean supported nationwide counties. Counts are duration statistics, not program eligibility. Follow nextCursor with unchanged filters within five minutes.

Input Schema

NameRequiredDescriptionDefault
modeNoWindow-bounded consecutive streaks or qualifying week counts.consecutive
limitNoDefault 25 rows per page; values above 200 are clamped with disclosure.
countyNoCounty FIPS or exact/unique suffix-free county name, state; mutually exclusive with states.
cursorNoContinuation returned with identical filters.
statesNoExact state postal, FIPS or full names; mutually exclusive with county.
endDateYesLast requested date, YYYY-MM-DD.
minWeeksYesMinimum weeks, no more than requested inclusive map weeks.
startDateYesFirst requested date, YYYY-MM-DD.
minCategoryYesMinimum drought category.

Output Schema

NameRequiredDescriptionDefault
modeNoSelected duration mode.
rowsNoComplete authoritative rows on this page.
errorNoPresent when the call failed. Absent on success.
countyNoResolved exact county or null.
noticeNoEmpty threshold or coverage guidance.
statesNoResolved supported state postal codes.
hasMoreNoAnother page remains.
guidanceNoCoverage guidance for known legacy Connecticut counties.
minWeeksNoMinimum qualifying map weeks.
nextCursorNoQuery-bound continuation, or null.
provenanceNoActual sources and attribution.
totalCountNoFull filtered result count.
limitNoticeNoDisclosure when the requested limit was clamped.
minCategoryNoMinimum category.
latestMapDateNoLatest actually published map.
thresholdRuleNoCounty qualifies if any area meets category or worse.
effectiveLimitNoEffective page ceiling after clamping to 200.
effectiveRangeNoPublished map-week coverage intersection.
requestedRangeNoOriginal dates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / limit / default
      Previous value: -50New value: +25
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum rows on this page; values above 200 are clamped with disclosure."New value: +"Default 25 rows per page; values above 200 are clamped with disclosure."
    • changedOutput schema / properties / county / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "Canonical geography identity and known state or watershed attributes.",
      -    "properties": {
      -      "areaType": {
      -        "description": "Geography family.",
      -        "enum": [
      -          "us",
      -          "state",
      -          "county",
      -          "huc",
      -          "tribal",
      -          "climate_division"
      -        ],
      -        "type": "string"
      -      },
      -      "hucLevel": {
      -        "anyOf": [
      -          {
      -            "const": 2,
      -            "type": "number"
      -          },
      -          {
      -            "const": 4,
      -            "type": "number"
      -          },
      -          {
      -            "const": 6,
      -            "type": "number"
      -          },
      -          {
      -            "const": 8,
      -            "type": "number"
      -          }
      -        ],
      -        "description": "HUC width for watershed areas."
      -      },
      -      "id": {
      -        "description": "Canonical identifier, preserving leading zeroes.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Source geography name.",
      -        "type": "string"
      -      },
      -      "state": {
      -        "description": "State postal code where known.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "areaType",
      -      "id",
      -      "name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "description": "Canonical geography identity and known state or watershed attributes.",
      +    "properties": {
      +      "areaType": {
      +        "description": "Geography family.",
      +        "enum": [
      +          "us",
      +          "state",
      +          "county",
      +          "huc",
      +          "tribal",
      +          "climate_division",
      +          "river_forecast_center"
      +        ],
      +        "type": "string"
      +      },
      +      "hucLevel": {
      +        "anyOf": [
      +          {
      +            "const": 2,
      +            "type": "number"
      +          },
      +          {
      +            "const": 4,
      +            "type": "number"
      +          },
      +          {
      +            "const": 6,
      +            "type": "number"
      +          },
      +          {
      +            "const": 8,
      +            "type": "number"
      +          }
      +        ],
      +        "description": "HUC width for watershed areas."
      +      },
      +      "id": {
      +        "description": "Canonical identifier, preserving leading zeroes.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Source geography name.",
      +        "type": "string"
      +      },
      +      "state": {
      +        "description": "State postal code where known.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "areaType",
      +      "id",
      +      "name"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `upstream_request_rejected`: USDM rejects a selector or date request. `ambiguous_area`: Several exact county names match. `unknown_area`: A county or state cannot resolve. `invalid_area`: Identifier or selector combination is invalid. `invalid_date_range`: Dates are impossible, reversed or shorter than minWeeks. `publication_unavailable`: No latest publication is available. `dataset_too_large`: Complete duration acquisition or metadata exceeds budgets. `upstream_shape_invalid`: Upstream durations are malformed or duplicate. `invalid_cursor`: Continuation is malformed, expired or filters changed. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `upstream_request_rejected`: USDM rejects a selector or date request. `ambiguous_area`: Several exact county names match. `unknown_area`: A county or state cannot resolve. `invalid_area`: Identifier or selector combination is invalid. `invalid_date_range`: Dates are impossible, reversed or shorter than minWeeks. `publication_unavailable`: No latest publication is available. `dataset_too_large`: Complete duration acquisition or cache exceeds resource quotas. `upstream_shape_invalid`: Upstream durations are malformed or duplicate. `invalid_cursor`: Continuation is malformed, expired or filters changed. Other values are possible when a failure originates below the handler."
    • addedOutput schema / properties / provenance / properties / populationInterpretation
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Present when the workflow includes a supported population metric.",
      +  "properties": {
      +    "caveat": {
      +      "description": "Population assumptions and precision limitations.",
      +      "type": "string"
      +    },
      +    "methodologyUrl": {
      +      "description": "Official population estimation methodology.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "methodologyUrl",
      +    "caveat"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and open-world status, and the description adds non-obvious context: results are 'authoritative' duration measures rather than program eligibility, and cursors must be replayed with unchanged filters within five minutes. The clamping behavior at high limits lives in the schema rather than the description, but overall the description adds substantive behavioral context beyond annotations.

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?

Four sentences, front-loaded with purpose, then selector rules, then the caveat, then the pagination rule; no sentence is filler. It is dense but each line carries a distinct constraint.

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?

With an output schema present and full annotation coverage, the description need not document return values or safety; it covers selector exclusivity, scope defaults, the duration-vs-eligibility distinction, and cursor expiry. The only gap is guidance on choosing this tool over its siblings.

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%, so the baseline is 3; the description only modestly extends it by clarifying that minCategory includes 'or worse' categories and that omitted selectors default to nationwide counties. It does not explain the practical difference between consecutive and non_consecutive modes or how minWeeks interacts with the requested date window, which are the hardest parameters to get right.

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

Purpose4/5

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

The definition names a specific verb and resource — counting consecutive streaks or non-consecutive weeks any county area spends at or above a chosen drought category — and separates itself from severity/timeseries siblings by framing itself as duration statistics. It stops short of explicitly naming which sibling to use for point-in-time severity or trend questions.

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

Usage Guidelines3/5

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

It gives real selector guidance: 'Supply states or one county, never both; omitted selectors mean supported nationwide counties,' plus a follow-up rule for nextCursor. It does not state when to choose this over drought_get_timeseries or drought_compare_areas, so the agent must infer the boundary.

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.