Skip to main content
Glama

usda_nass_get_county_production

Read-onlyIdempotent

Retrieve annual county-level crop production estimates by commodity and year, optionally limited to one state, with utilization, practice, and unit details for each county.

Instructions

County production of a crop for a year, one row per county, utilisation and practice.

Annual final estimates (statisticcat_desc PRODUCTION, reference_period_desc YEAR) at agg_level_desc COUNTY, sorted by state, county, utilisation and practice. unit_desc names the unit, "BU" for grain and "TONS" for silage; value is the quantity.

Args: commodity: Upstream commodity_desc, e.g. "CORN", "SOYBEANS", "WHEAT". year: Crop year, e.g. 2023. state: Two-letter state code to restrict to one state; None returns every county in the country.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "commodity": "<commodity>",
      "year": "<year>"
    },
    "name": "usda_nass_get_county_production"
  }
}

Input Schema

NameRequiredDescriptionDefault
yearYes
stateNo
commodityYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond them: it restricts results to final annual estimates (excluding forecasts/quarterly data), declares one row per county, specifies sort order, and explains that unit_desc is BU for grain and TONS for silage with value as the quantity. It stops short of row counts, pagination, or empty-result behavior.

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 one-line summary, followed by a technical paragraph on dataset scoping and then a clean Args block. Every sentence carries information, though the parenthetical restatement of statisticcat_desc/reference_period_desc/agg_level_desc values is denser than an agent strictly needs.

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 no output schema, the description steps in to explain the return shape (one row per county, unit_desc naming the unit, value holding the quantity) and the sort order, which is enough to consume results. For a three-parameter read tool with full annotation coverage this is close to complete; only result-size and empty-result expectations are absent.

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 description coverage is 0%, so the description carries the full burden, and it does so: it gives example values for commodity ("CORN", "SOYBEANS", "WHEAT"), explains commodity maps to the upstream commodity_desc, specifies year as a crop year with an example, and clarifies that state is a two-letter code where None returns every county in the country. That last point is a genuinely non-obvious semantic that the schema only hints at via the nullable anyOf.

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 description names a specific verb and resource ('County production of a crop for a year, one row per county') and pins the aggregation level to 'COUNTY' with statisticcat_desc PRODUCTION and reference_period_desc YEAR, which separates it from sibling tools like usda_nass_get_county_yield or the broader usda_nass_get_production. The opening sentence is slightly cluttered by the trailing 'utilisation and practice' fragment, which reads as a list continuation rather than a purpose statement.

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?

Usage is implied rather than stated: the 'annual final estimates' framing tells an agent this is not forecast data, but there is no explicit when-to-use or when-not, and no sibling is named as an alternative for state/national totals or for yield rather than production. An agent must infer the routing from the aggregation-level vocabulary alone.

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