Query U.S. Drought Monitor severity, DSCI, population, and drought duration.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Rank all supported states, or counties within an optional state, on one published map. Omit state for nationwide supported counties. With baselineDate, rank target minus exact baseline; missing sides are excluded explicitly. Equal values share competition rank. limit controls a staged preview; without analytics, complete rankings remain inline within acquisition limits.
This tool takes no arguments.
Tool list last changed Oct 26, 2026.
Rank all supported states, or counties within an optional state, on one published map. Omit state for nationwide supported counties. With baselineDate, rank target minus exact baseline; missing sides are excluded explicitly. Equal values share competition rank. limit controls a staged preview; without analytics, complete rankings remain inline within acquisition limits.
No arguments.
{
"type": "object",
"oneOf": [
{
"type": "object",
"required": [
"scope"
],
"properties": {
"date": {
"type": "string",
"pattern": "^(?:|\\d{4}-\\d{2}-\\d{2})$",
"maxLength": 10,
"description": "Target calendar date; defaults to latest published map."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Default 20 preview rows; values above 200 are clamped with disclosure."
},
"scope": {
"type": "string",
"const": "states",
"description": "All supported states."
},
"metric": {
"enum": [
"dsci",
"d2_d4",
"d3_d4"
],
"type": "string",
"default": "dsci",
"description": "Experimental DSCI or cumulative area percentage."
},
"canvas_id": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Canvas ID as an earlier response on this server returned it — exactly 10 characters of letters, digits, hyphens, and underscores."
}
],
"description": "Canvas token from an earlier drought producer to reuse."
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Order by severity or baseline change."
},
"baselineDate": {
"type": "string",
"pattern": "^(?:|\\d{4}-\\d{2}-\\d{2})$",
"maxLength": 10,
"description": "Optional exact baseline date, no later than target."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"scope"
],
"properties": {
"date": {
"type": "string",
"pattern": "^(?:|\\d{4}-\\d{2}-\\d{2})$",
"maxLength": 10,
"description": "Target calendar date; defaults to latest published map."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Default 20 preview rows; values above 200 are clamped with disclosure."
},
"scope": {
"type": "string",
"const": "counties",
"description": "Supported counties."
},
"state": {
"type": "string",
"maxLength": 200,
"description": "Exact state postal, FIPS or full name; omitted means nationwide."
},
"metric": {
"enum": [
"dsci",
"d2_d4",
"d3_d4"
],
"type": "string",
"default": "dsci",
"description": "Experimental DSCI or cumulative area percentage."
},
"canvas_id": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Canvas ID as an earlier response on this server returned it — exactly 10 characters of letters, digits, hyphens, and underscores."
}
],
"description": "Canvas token from an earlier drought producer to reuse."
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Order by severity or baseline change."
},
"baselineDate": {
"type": "string",
"pattern": "^(?:|\\d{4}-\\d{2}-\\d{2})$",
"maxLength": 10,
"description": "Optional exact baseline date, no later than target."
}
},
"additionalProperties": false
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Inspect tables and column types in a canvas_id returned by drought_get_timeseries or drought_compare_areas. Supply table_name for its complete source query, area/date/metric, units, missing-data and provenance metadata. Omit table_name for bounded schema summaries. Tokens are shareable capabilities and expire; this tool never lists other tokens.
| Argument | Type | Description |
|---|---|---|
| canvas_id* | string | Token returned by a drought producer. |
| table_name | any | Table name from the stage handle; omit for schema summaries. |
| metadata_field | string | Retained metadata collection to page; requires table_name. |
| metadata_limit | integer | Default 20 metadata items per page; values above 100 are clamped with disclosure. |
| metadata_offset | integer | Items to skip in the retained metadata snapshot. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"canvas_id"
],
"properties": {
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Token returned by a drought producer."
},
"table_name": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]{0,62}$",
"description": "SQL identifier of an existing staged table."
}
],
"description": "Table name from the stage handle; omit for schema summaries."
},
"metadata_field": {
"enum": [
"areas",
"summary",
"missingAreas",
"missingObservations"
],
"type": "string",
"description": "Retained metadata collection to page; requires table_name."
},
"metadata_limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Default 20 metadata items per page; values above 100 are clamped with disclosure."
},
"metadata_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Items to skip in the retained metadata snapshot."
}
},
"additionalProperties": false
}Run one DuckDB read expression against staged drought tables, optionally ending with one semicolon. Get canvas_id from drought_get_timeseries or drought_compare_areas and inspect columns with drought_dataframe_describe. For every original row, SELECT * FROM the table ORDER BY row_id and follow next_offset until null. Arbitrary SQL pagination requires your own stable ORDER BY. Exact totals require SELECT COUNT(*).
| Argument | Type | Description |
|---|---|---|
| sql* | string | One DuckDB read expression with an optional terminal semicolon; staged tables only. |
| limit | integer | Default 25 rows per page; values above 500 are clamped with disclosure. |
| offset | integer | Rows to skip in the stable ordered query. |
| canvas_id* | string | Token returned by a drought producer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"canvas_id",
"sql"
],
"properties": {
"sql": {
"type": "string",
"maxLength": 16384,
"minLength": 1,
"description": "One DuckDB read expression with an optional terminal semicolon; staged tables only."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Default 25 rows per page; values above 500 are clamped with disclosure."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 250000,
"minimum": 0,
"description": "Rows to skip in the stable ordered query."
},
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Token returned by a drought producer."
}
},
"additionalProperties": false
}Get current or dated drought severity, cumulative and categorical area percentages, area square miles, supported population counts and experimental upstream DSCI. Resolve identifiers with drought_list_reference. DSCI changes use exactly 4 and 52 weeks earlier; missing observations remain null. US selects both CONUS and Total.
| Argument | Type | Description |
|---|---|---|
| area* | any | One exact geography selector. |
| date | string | Calendar date YYYY-MM-DD; defaults to latest published map. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"area"
],
"properties": {
"area": {
"oneOf": [
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "us",
"description": "National geography."
}
},
"description": "National coverage selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "state",
"description": "State geography."
}
},
"description": "Exact state selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "county",
"description": "County geography."
}
},
"description": "Exact county selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "tribal",
"description": "Tribal geography."
}
},
"description": "Exact tribal selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "climate_division",
"description": "Climate division geography."
}
},
"description": "Exact climate division selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "river_forecast_center",
"description": "River Forecast Center geography."
}
},
"description": "Bundled RFC code or exact name.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi",
"hucLevel"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "huc",
"description": "Watershed geography."
},
"hucLevel": {
"anyOf": [
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
},
{
"type": "number",
"const": 8
}
],
"description": "Exact HUC identifier width."
}
},
"description": "Exact watershed selector with matching HUC width.",
"additionalProperties": false
}
],
"description": "One exact geography selector."
},
"date": {
"type": "string",
"pattern": "^(?:|\\d{4}-\\d{2}-\\d{2})$",
"maxLength": 10,
"description": "Calendar date YYYY-MM-DD; defaults to latest published map."
}
},
"additionalProperties": false
}Get weekly drought metrics and experimental DSCI for 1–100 explicit areas sharing one geography type and HUC level. Resolve identifiers with drought_list_reference. Dates select inclusive Tuesday map weeks. Missing values remain null; summaries include every tied peak. Large results are staged when analytics is enabled; use the returned dataframe tools to read every row and retained metadata page. Without analytics, complete results remain inline within acquisition limits.
| Argument | Type | Description |
|---|---|---|
| areas* | array | Explicit homogeneous geographies. |
| metric | string | Measure; population supports US, state and county only and carries estimation assumptions in provenance.populationInterpretation. |
| endDate* | string | Last requested calendar date, YYYY-MM-DD. |
| canvas_id | any | Canvas token from a previous drought producer to reuse when staging. |
| startDate* | string | First requested calendar date, YYYY-MM-DD. |
| statisticsType | string | Overlapping cumulative or exclusive categorical buckets. |
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.
| Argument | Type | Description |
|---|---|---|
| mode | string | Window-bounded consecutive streaks or qualifying week counts. |
| limit | integer | Default 25 rows per page; values above 200 are clamped with disclosure. |
| county | string | County FIPS or exact/unique suffix-free county name, state; mutually exclusive with states. |
| cursor | string | Continuation returned with identical filters. |
| states | array | Exact state postal, FIPS or full names; mutually exclusive with county. |
| endDate* | string | Last requested date, YYYY-MM-DD. |
| minWeeks* | integer | Minimum weeks, no more than requested inclusive map weeks. |
Look up drought categories, DSCI formulas, metric support, publication coverage and exact geography identifiers. Filter complete families by nameContains before paging. Use state for counties or climate_divisions; huc requires hucLevel 2, 4, 6 or 8 and accepts a shorter parentHuc. Follow nextCursor with the same filters to browse every match.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 25 records per page; values above 200 are clamped with disclosure. |
| state | string | County or climate-division filter: exact state postal code, two-digit FIPS or full name. |
| topic* | string | Reference family to browse; river_forecast_centers provides official RFC codes and names. |
| cursor | string | Continuation cursor from the previous page with the same filters. |
| hucLevel | any | Required for huc; exact identifier width. |
| parentHuc | string | Existing parent HUC at level 2, 4 or 6, shorter than hucLevel; blank is omitted. |
| nameContains | string | All normalized tokens must appear in the reference name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"areas",
"startDate",
"endDate"
],
"properties": {
"areas": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "us",
"description": "National geography."
}
},
"description": "National coverage selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "state",
"description": "State geography."
}
},
"description": "Exact state selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "county",
"description": "County geography."
}
},
"description": "Exact county selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "tribal",
"description": "Tribal geography."
}
},
"description": "Exact tribal selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "climate_division",
"description": "Climate division geography."
}
},
"description": "Exact climate division selector.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "river_forecast_center",
"description": "River Forecast Center geography."
}
},
"description": "Bundled RFC code or exact name.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"areaType",
"aoi",
"hucLevel"
],
"properties": {
"aoi": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact geography identifier or state name; county names require a state and resolve exact names before unique suffix-free aliases."
},
"areaType": {
"type": "string",
"const": "huc",
"description": "Watershed geography."
},
"hucLevel": {
"anyOf": [
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
},
{
"type": "number",
"const": 8
}
],
"description": "Exact HUC identifier width."
}
},
"description": "Exact watershed selector with matching HUC width.",
"additionalProperties": false
}
],
"description": "One supported geography and its exact identifier."
},
"maxItems": 100,
"minItems": 1,
"description": "Explicit homogeneous geographies."
},
"metric": {
"enum": [
"area_percent",
"area_sq_miles",
"population_percent",
"population_count"
],
"type": "string",
"default": "area_percent",
"description": "Measure; population supports US, state and county only and carries estimation assumptions in provenance.populationInterpretation."
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last requested calendar date, YYYY-MM-DD."
},
"canvas_id": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Canvas ID as an earlier response on this server returned it — exactly 10 characters of letters, digits, hyphens, and underscores."
}
],
"description": "Canvas token from a previous drought producer to reuse when staging."
},
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First requested calendar date, YYYY-MM-DD."
},
"statisticsType": {
"enum": [
"cumulative",
"categorical"
],
"type": "string",
"default": "cumulative",
"description": "Overlapping cumulative or exclusive categorical buckets."
}
},
"additionalProperties": false
}| startDate* |
| string |
| First requested date, YYYY-MM-DD. |
| minCategory* | string | Minimum drought category. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"startDate",
"endDate",
"minCategory",
"minWeeks"
],
"properties": {
"mode": {
"enum": [
"consecutive",
"non_consecutive"
],
"type": "string",
"default": "consecutive",
"description": "Window-bounded consecutive streaks or qualifying week counts."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Default 25 rows per page; values above 200 are clamped with disclosure."
},
"county": {
"type": "string",
"maxLength": 200,
"description": "County FIPS or exact/unique suffix-free county name, state; mutually exclusive with states."
},
"cursor": {
"type": "string",
"maxLength": 2048,
"description": "Continuation returned with identical filters."
},
"states": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 54,
"minItems": 1,
"description": "Exact state postal, FIPS or full names; mutually exclusive with county."
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last requested date, YYYY-MM-DD."
},
"minWeeks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Minimum weeks, no more than requested inclusive map weeks."
},
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First requested date, YYYY-MM-DD."
},
"minCategory": {
"enum": [
"D0",
"D1",
"D2",
"D3",
"D4"
],
"type": "string",
"description": "Minimum drought category."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"topic"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Default 25 records per page; values above 200 are clamped with disclosure."
},
"state": {
"type": "string",
"maxLength": 200,
"description": "County or climate-division filter: exact state postal code, two-digit FIPS or full name."
},
"topic": {
"enum": [
"categories",
"dsci",
"area_types",
"coverage",
"states",
"counties",
"tribal",
"climate_divisions",
"river_forecast_centers",
"huc"
],
"type": "string",
"description": "Reference family to browse; river_forecast_centers provides official RFC codes and names."
},
"cursor": {
"type": "string",
"maxLength": 2048,
"description": "Continuation cursor from the previous page with the same filters."
},
"hucLevel": {
"anyOf": [
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
},
{
"type": "number",
"const": 8
}
],
"description": "Required for huc; exact identifier width."
},
"parentHuc": {
"type": "string",
"maxLength": 6,
"description": "Existing parent HUC at level 2, 4 or 6, shorter than hucLevel; blank is omitted."
},
"nameContains": {
"type": "string",
"maxLength": 200,
"description": "All normalized tokens must appear in the reference name."
}
},
"additionalProperties": false
}