Skip to main content
Glama

us-drought-monitor-mcp-server

Describe staged drought tables

drought_dataframe_describe
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
canvas_idYesToken returned by a drought producer.
table_nameNoTable name from the stage handle; omit for schema summaries.
metadata_fieldNoRetained metadata collection to page; requires table_name.
metadata_limitNoDefault 20 metadata items per page; values above 100 are clamped with disclosure.
metadata_offsetNoItems to skip in the retained metadata snapshot.

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
tablesNoTables only in this specified canvas.
canvas_idNoSupplied canvas token.
expires_atNoActual canvas expiry.
totalCountNoTotal items in the requested retained metadata collection.
limitNoticeNoDisclosure when metadata_limit was clamped.
metadata_pageNoRequested count of complete metadata items, fewer only at exhaustion.
effectiveLimitNoEffective metadata page ceiling after clamping to 100.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / metadata_limit / description
      Previous value: -"Maximum metadata items, further bounded by response budgets."New value: +"Default 20 metadata items per page; values above 100 are clamped with disclosure."
    • changedInput schema / properties / metadata_limit / maximum
      Previous value: -100New value: +9007199254740991
    • addedOutput schema / properties / effectiveLimit
      Added value: +{
      +  "description": "Effective metadata page ceiling after clamping to 100.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `invalid_metadata_page`: Metadata pagination lacks a named table or uses an unavailable collection. `canvas_unavailable`: Analytical provider is unavailable. `canvas_not_found`: Token is absent, expired or belongs to another tenant. `missing_table`: The requested table is absent. `dataset_too_large`: The complete metadata cannot fit the response. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `invalid_metadata_page`: Metadata pagination lacks a named table or uses an unavailable collection. `canvas_unavailable`: Analytical provider is unavailable. `canvas_not_found`: Token is absent, expired or belongs to another tenant. `missing_table`: The requested table is absent. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "invalid_metadata_page",
      -  "canvas_unavailable",
      -  "canvas_not_found",
      -  "missing_table",
      -  "dataset_too_large"
      -]New value: +[
      +  "invalid_metadata_page",
      +  "canvas_unavailable",
      +  "canvas_not_found",
      +  "missing_table"
      +]
    • addedOutput schema / properties / limitNotice
      Added value: +{
      +  "description": "Disclosure when metadata_limit was clamped.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / metadata_page / description
      Previous value: -"One complete bounded metadata page for a named table."New value: +"Requested count of complete metadata items, fewer only at exhaustion."
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, closed-world behavior, and the description adds real context beyond them: tokens are shareable capabilities that expire, and the tool deliberately never lists other tokens. That is a meaningful scope/security disclosure an agent would not otherwise know, though it says nothing about size limits on the returned summaries.

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?

Three tight sentences, front-loaded with the action and scope, then the two operating modes, then the token caveat. No filler and no restatement of the title.

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?

With an output schema present, return values need no explanation; pagination defaults and clamping are documented in the schema. The description covers the remaining gaps an agent needs: where canvas_id comes from, the two modes, and token expiry.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds semantic payload: table_name unlocks the complete source query plus area/date/metric, units, missing-data and provenance metadata, while omission yields schema summaries. That clarifies intent of a parameter whose schema text only says 'Table name from the stage handle.'

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 ('Inspect tables and column types') scoped to a canvas_id, and names the two sibling producers that create that handle. It also distinguishes its own two modes (table_name present vs omitted), so an agent can tell it apart from drought_dataframe_query without opening either schema.

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?

Explicitly branches on table_name: supply it for full source query and provenance metadata, omit it for bounded schema summaries. It names the upstream producers but does not explicitly contrast with drought_dataframe_query (the natural 'then fetch the data' alternative), leaving that inference to the agent.

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.