Skip to main content
Glama

Nass Livestock

nass_livestock
Read-onlyIdempotent

Get US livestock inventory, slaughter counts, and production data by species, state, and time period. Analyze animal agriculture supply and production.

Input Schema

NameRequiredDescriptionDefault
yearNoYear or range (optional)
stateNoState name (optional)
_apiKeyYesNASS API key
commodityYesLivestock: "CATTLE", "HOGS", "CHICKENS", "TURKEYS", "SHEEP", "MILK", "EGGS"
stat_categoryNoStatistic: "INVENTORY", "SLAUGHTER", "PRODUCTION" (default: "INVENTORY")

Output Schema

NameRequiredDescriptionDefault
dataYesLivestock inventory and production data
countYesNumber of records returned
truncatedYesTrue if results exceed 200 records

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "_apiKey": "your-nass-api-key",
      -    "commodity": "CATTLE",
      -    "stat_category": "INVENTORY",
      -    "state": "TEXAS"
      -  },
      -  {
      -    "_apiKey": "your-nass-api-key",
      -    "commodity": "HOGS",
      -    "stat_category": "SLAUGHTER",
      -    "year": "2024"
      -  }
      -]New value: +[
      +  {
      +    "commodity": "CATTLE",
      +    "stat_category": "INVENTORY",
      +    "state": "TEXAS"
      +  },
      +  {
      +    "commodity": "HOGS",
      +    "stat_category": "SLAUGHTER",
      +    "year": "2024"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "count": {
      +      "description": "Number of records returned",
      +      "type": "integer"
      +    },
      +    "data": {
      +      "description": "Livestock inventory and production data",
      +      "items": {
      +        "properties": {
      +          "agg_level": {
      +            "description": "Aggregation level",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "commodity": {
      +            "description": "Livestock type",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "county": {
      +            "description": "County name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "description": "Livestock statistic description",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "frequency": {
      +            "description": "Frequency",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "period": {
      +            "description": "Reference period",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "stat_category": {
      +            "description": "Statistic (INVENTORY, SLAUGHTER, PRODUCTION)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "state": {
      +            "description": "State name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "unit": {
      +            "description": "Unit of measurement",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "value": {
      +            "description": "Livestock count or production value",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "year": {
      +            "description": "Year",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "truncated": {
      +      "description": "True if results exceed 200 records",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "count",
      +    "data",
      +    "truncated"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "_apiKey": "your-nass-api-key",
      +    "commodity": "CATTLE",
      +    "stat_category": "INVENTORY",
      +    "state": "TEXAS"
      +  },
      +  {
      +    "_apiKey": "your-nass-api-key",
      +    "commodity": "HOGS",
      +    "stat_category": "SLAUGHTER",
      +    "year": "2024"
      +  }
      +]
  4. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that it retrieves inventory/slaughter/production data, but does not disclose any additional behaviors such as pagination, rate limits, or data freshness. Given the annotations, a 3 is appropriate; it adds some context but no deeper behavioral detail.

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?

The description is two sentences, with the core action front-loaded. The first sentence is efficient and informative. The second sentence, 'Analyze animal agriculture supply and production,' is somewhat vague and redundant, adding little value. Overall it is tight and readable, but could trim the filler.

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 all 5 parameters fully described in the schema and an output schema present, the description provides an adequate overview of the tool's purpose. It doesn't mention limitations or prerequisites, but for a read-only query tool with a well-defined schema, these are not critical. It is complete enough for an agent to understand what data is returned and how to query it.

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 all parameters are already documented with clear descriptions. The description aligns terms like 'species' with commodity, 'state' with state, and 'time period' with year, and mentions inventory/slaughter/production matching stat_category. This provides mild contextual reinforcement but does not add meaning beyond the schema's own parameter descriptions.

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 states a clear action ('Get'), identifies the specific resource (US livestock data), and scopes it by species, state, and time period. It also distinguishes from crop-related siblings (nass_crop_*) by explicitly focusing on livestock, making the purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is offered on when to use this tool versus alternatives like nass_query or nass_prices. The description only states what it does, not when to prefer it over other NASS tools, leaving the agent to infer usage purely from the name, which is insufficient.

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.