Livestock Market Prices
Server Details
Read-only, source-linked cattle, sheep, and goat prices, market reports, coverage, and methodology.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Most tools are clearly distinct: get_data_coverage and get_methodology are metadata, get_usda_cattle_benchmark is an external reference. However, get_latest_prices and get_market_report both return published observation data and could be confused, since the boundary between a 'bounded list of observations' and a 'report revision with observation projection' is not sharply drawn.
All five tools use a consistent get_<noun> pattern (get_data_coverage, get_latest_prices, get_market_report, get_methodology, get_usda_cattle_benchmark). The convention is predictable and readable throughout.
Five tools is well-scoped for a read-only market-data service. Each tool maps to a distinct facet (coverage, prices, reports, methodology, benchmark) and none feels redundant or filler.
For a published-data retrieval domain, the surface covers freshness/coverage, current prices, full reports, methodology, and an external benchmark, with no obvious dead ends. Since it exposes only reviewed published artifacts, the absence of write/update tools is appropriate rather than a gap.
Available Tools
5 toolsget_data_coverageGet livestock data coverageARead-onlyIdempotentInspect
Describes actual publishable sheep, goat, and cattle market, species, date coverage, and freshness. Configured sources are not counted as covered until eligible observations exist.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes | |
| citation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive behavior, so safety is covered. The description adds genuinely useful semantics beyond that: configured sources are not counted as covered until eligible observations exist, clarifying that 'coverage' means publishable data, not mere configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no waste, and the core scope is front-loaded ahead of the qualifying nuance. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and a zero-parameter read tool has little else to disclose. The one gap is the absence of routing guidance relative to the sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. No parameter information is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (describes) and resource (publishable sheep, goat, and cattle market/species/date coverage and freshness). It is distinguishable from siblings like get_latest_prices and get_market_report, which return values rather than coverage, though it does not name a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: an agent would call this to learn what data is actually available before querying prices or reports. However, the description never states when to use it versus the alternatives, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_pricesGet latest published livestock pricesBRead-onlyIdempotentInspect
Returns a bounded list of reviewed, rights-eligible published goat, sheep, or cattle observations. Results preserve sale dates, source weight bands, quote statistics, units and measurement bases, normalized classification dimensions, dataset revision, limitations, and citations. San Angelo records remain tied to the published auction and are separately labeled for comparison rather than counted as Central Texas member data.
| Name | Required | Description | Default |
|---|---|---|---|
| class | No | ||
| limit | No | ||
| purpose | No | ||
| species | No | ||
| location | No | ||
| weight_lb | No | ||
| breed_type | No | ||
| weight_band | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes | |
| citation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower, and the description adds meaningful context: eligibility criteria ('reviewed, rights-eligible'), preserved provenance fields, and the special handling of San Angelo records (labeled, not counted as Central Texas member data). This is richer than annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and does most of the work, but the passive, jargon-heavy phrasing ('rights-eligible', 'normalized classification dimensions') and the very specific San Angelo caveat make it dense. It is appropriately sized overall but not maximally clear or tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, yet the description spends a sentence enumerating returned fields; meanwhile there is no guidance on the 8 undocumented input parameters, which is the more meaningful gap. For an 8-param tool with 0% schema coverage, the definition is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should carry parameter meaning, but it only loosely maps a few fields (species via 'goat, sheep, or cattle', weight_band via 'source weight bands', class via 'normalized classification dimensions'). It says nothing about limit defaults/bounds, location syntax, purpose, breed_type, or weight_lb despite 8 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete output ('a bounded list of reviewed, rights-eligible published goat, sheep, or cattle observations') with a clear verb and subject, so an agent knows this returns livestock price records. It does not differentiate itself from siblings like get_market_report or get_usda_cattle_benchmark, leaving purpose clear but unbounded.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling tools (get_data_coverage, get_market_report, get_methodology, get_usda_cattle_benchmark) that an agent must choose between. Usage is only implied by the tool name and returned content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_reportGet a published market reportBRead-onlyIdempotentInspect
Returns one published report revision and a bounded observation projection. The service never exposes raw private artifacts, unpublished extraction output, internal review notes, or bucket keys.
| Name | Required | Description | Default |
|---|---|---|---|
| report_id | Yes | ||
| observation_limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes | |
| citation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful disclosure about data-exposure boundaries (no raw artifacts, unpublished output, review notes, or bucket keys), but says nothing about the observation_limit cap, pagination, or behavior on an unknown report_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned before the exclusion clause. No filler, though the second sentence is a generic privacy guarantee that is only marginally specific to this tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and annotations cover safety. However, with 0% parameter description coverage and no usage guidance across five sibling tools, the definition leaves real gaps an agent would need to close.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema documents neither parameter's meaning; the description must compensate but does not. 'Bounded observation projection' hints at observation_limit yet never states the default, maximum, or what happens when observations exceed the limit, and report_id's format constraints are left entirely to the schema pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Returns one published report revision') plus the scope of the observation projection, so an agent knows exactly what it retrieves. It stops short of naming or contrasting any sibling (e.g. get_methodology, get_data_coverage), so it does not fully differentiate itself within the family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool versus the alternatives, nor any prerequisite or precondition. The sibling names suggest plausible overlaps (methodology, coverage, latest prices) that the description never resolves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_methodologyGet price and calculation methodologyARead-onlyIdempotentInspect
Returns the requested published methodology version, including exact calculation rules and limitations. It does not create a forecast, appraisal, or guaranteed selling price.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes | |
| citation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds domain-relevant scope context the annotations cannot express: that the payload is a published methodology with exact calculation rules and stated limitations, and explicitly that it is not a valuation output. It does not cover fallback behavior when the version is absent, which keeps it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The positive statement of what is returned leads, and the scope-limiting negation follows immediately, which is the right front-loading for an agent deciding whether this tool answers the question.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value structure needn't be described, and the description correctly focuses on scope and limitations. For a single-parameter read tool with full annotation coverage, the only missing piece is version-parameter behavior when omitted, which is minor but real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional 'version' parameter with 0% schema description coverage, so the description carries the full documentation burden. The word 'requested' hints that a version can be supplied, but the description never states the format, where valid versions come from, or what happens if the parameter is omitted (latest published?). That is a meaningful gap for the only input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the requested published methodology version, including exact calculation rules and limitations'), and the closing negation ('does not create a forecast, appraisal, or guaranteed selling price') separates it from the pricing siblings such as get_latest_prices. Sibling distinction is conveyed indirectly rather than by naming an alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope negation functions as an implicit 'when not to use this' (don't expect a forecast or price), which is genuinely useful guidance. However, no sibling is named as the alternative and there is no positive statement of when an agent should reach for this tool, so usage remains inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usda_cattle_benchmarkGet USDA Texas cattle benchmarkARead-onlyIdempotentInspect
Returns the reviewed USDA Texas Weekly Cattle Auction Summary, its original reporting period, quote units, classes, weights and source link. This statewide reference is not a San Angelo cattle benchmark, another auction barn, or a local-area price. Per-head and pair quotes must not be treated as per-pound prices.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive behavior, so the safety profile is covered. The description earns credit by adding interpretation guidance beyond the annotations: per-head and pair quotes must not be read as per-pound prices, which is real behavioral context. No auth, caching or rate-limit notes, but those are not central for a read-only reference tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what is returned and followed by scope exclusions and one caveat; every sentence carries information. The second and third sentences are slightly dense, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained in depth, and the description nonetheless names the payload fields. Combined with annotations covering safety and the domain caveat about quote units, an agent has enough to call and interpret this tool correctly; only explicit sibling routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate; the baseline for a zero-param tool is 4. The description instead documents what the caller gets back, which is a reasonable substitute for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the reviewed USDA Texas Weekly Cattle Auction Summary, and enumerates the fields it carries (period, quote units, classes, weights, source link). The negative scoping clauses ('not a San Angelo cattle benchmark, another auction barn, or a local-area price') let an agent separate this statewide reference from other price sources without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusions make the intended scope clear and imply when the tool is the right pick, but there is no positive when-to-use statement and no explicit routing against the actual siblings (get_latest_prices, get_market_report). Usage has to be inferred from the 'what it is not' framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
get_data_coverage3 fields changed- changed
Output schema / properties / citation / properties / attribution_text / maxLengthPrevious value: -1000New value: +20000 - changed
Output schema / properties / meta / properties / applied_filters / additionalProperties / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "number" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "number" + } +] - changed
Output schema / properties / meta / properties / next_cursor / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "null" + } +]
- Changed
get_latest_prices9 fields changed- changed
Input schema / properties / class / enumPrevious value: -[ - "kids", - "nannies_does", - "bucks_billies", - "wethers_muttons", - "lambs", - "ewes", - "rams_bucks", - "steers", - "heifers", - "cows", - "bulls", - "calves", - "cow_calf_pairs", - "other_cattle" -]New value: +[ + "unclassified_goats", + "unclassified_sheep", + "kids", + "nannies_does", + "bucks_billies", + "wethers_muttons", + "lambs", + "ewes", + "rams_bucks", + "steers", + "heifers", + "cows", + "bulls", + "calves", + "cow_calf_pairs", + "other_cattle" +] - changed
Output schema / properties / citation / properties / attribution_text / maxLengthPrevious value: -1000New value: +20000 - changed
Output schema / properties / data / items / properties / citation / properties / attribution_text / maxLengthPrevious value: -1000New value: +20000 - changed
Output schema / properties / data / items / properties / classification / properties / class_code / enumPrevious value: -[ - "kids", - "nannies_does", - "bucks_billies", - "wethers_muttons", - "lambs", - "ewes", - "rams_bucks", - "steers", - "heifers", - "cows", - "bulls", - "calves", - "cow_calf_pairs", - "other_cattle" -]New value: +[ + "unclassified_goats", + "unclassified_sheep", + "kids", + "nannies_does", + "bucks_billies", + "wethers_muttons", + "lambs", + "ewes", + "rams_bucks", + "steers", + "heifers", + "cows", + "bulls", + "calves", + "cow_calf_pairs", + "other_cattle" +] - changed
Output schema / properties / data / items / properties / id / maxLengthPrevious value: -128New value: +256 - added
Output schema / properties / data / items / properties / provenance / properties / source_availabilityAdded value: +{ + "enum": [ + "available", + "unavailable" + ], + "type": "string" +} - changed
Output schema / properties / data / items / properties / unit_inference / properties / rule / enumPrevious value: -[ - "cattlemens-unit-v1", - "pearsall-unit-v1", - "gonzales-unit-v1", - "brazos-valley-unit-v1" -]New value: +[ + "cattlemens-unit-v1", + "pearsall-unit-v1", + "gonzales-unit-v1", + "brazos-valley-unit-v1", + "columbus-unit-v1", + "caldwell-unit-v1", + "comanche-unit-v1", + "four-county-unit-v1", + "coryell-unit-v1", + "center-unit-v1", + "hallettsville-unit-v1", + "wichita-unit-v1", + "hondo-unit-v1", + "east-texas-unit-v1", + "edinburg-unit-v1", + "decatur-unit-v1", + "beeville-unit-v1", + "abilene-unit-v1" +] - changed
Output schema / properties / meta / properties / applied_filters / additionalProperties / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "number" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "number" + } +] - changed
Output schema / properties / meta / properties / next_cursor / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "null" + } +]
- Changed
get_market_report10 fields changed- changed
Output schema / properties / citation / properties / attribution_text / maxLengthPrevious value: -1000New value: +20000 - changed
Output schema / properties / data / properties / citation / properties / attribution_text / maxLengthPrevious value: -1000New value: +20000 - changed
Output schema / properties / data / properties / observations / items / properties / citation / properties / attribution_text / maxLengthPrevious value: -1000New value: +20000 - changed
Output schema / properties / data / properties / observations / items / properties / classification / properties / class_code / enumPrevious value: -[ - "kids", - "nannies_does", - "bucks_billies", - "wethers_muttons", - "lambs", - "ewes", - "rams_bucks", - "steers", - "heifers", - "cows", - "bulls", - "calves", - "cow_calf_pairs", - "other_cattle" -]New value: +[ + "unclassified_goats", + "unclassified_sheep", + "kids", + "nannies_does", + "bucks_billies", + "wethers_muttons", + "lambs", + "ewes", + "rams_bucks", + "steers", + "heifers", + "cows", + "bulls", + "calves", + "cow_calf_pairs", + "other_cattle" +] - changed
Output schema / properties / data / properties / observations / items / properties / id / maxLengthPrevious value: -128New value: +256 - added
Output schema / properties / data / properties / observations / items / properties / provenance / properties / source_availabilityAdded value: +{ + "enum": [ + "available", + "unavailable" + ], + "type": "string" +} - changed
Output schema / properties / data / properties / observations / items / properties / unit_inference / properties / rule / enumPrevious value: -[ - "cattlemens-unit-v1", - "pearsall-unit-v1", - "gonzales-unit-v1", - "brazos-valley-unit-v1" -]New value: +[ + "cattlemens-unit-v1", + "pearsall-unit-v1", + "gonzales-unit-v1", + "brazos-valley-unit-v1", + "columbus-unit-v1", + "caldwell-unit-v1", + "comanche-unit-v1", + "four-county-unit-v1", + "coryell-unit-v1", + "center-unit-v1", + "hallettsville-unit-v1", + "wichita-unit-v1", + "hondo-unit-v1", + "east-texas-unit-v1", + "edinburg-unit-v1", + "decatur-unit-v1", + "beeville-unit-v1", + "abilene-unit-v1" +] - added
Output schema / properties / data / properties / source_availabilityAdded value: +{ + "enum": [ + "available", + "unavailable" + ], + "type": "string" +} - changed
Output schema / properties / meta / properties / applied_filters / additionalProperties / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "number" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "number" + } +] - changed
Output schema / properties / meta / properties / next_cursor / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "null" + } +]
- Changed
get_methodology3 fields changed- changed
Output schema / properties / citation / properties / attribution_text / maxLengthPrevious value: -1000New value: +20000 - changed
Output schema / properties / meta / properties / applied_filters / additionalProperties / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "number" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "number" + } +] - changed
Output schema / properties / meta / properties / next_cursor / anyOfPrevious value: -[ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "maxLength": 1024, + "type": "string" + }, + { + "type": "null" + } +]
- Changed
get_usda_cattle_benchmark1 field changed- changed
Output schema / properties / data / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "artifact_sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "facts": { - "items": { - "additionalProperties": false, - "properties": { - "classification": { - "additionalProperties": false, - "properties": { - "breed_type_code": { - "enum": [ - "meat_goat", - "dairy_miniature", - "angora", - "hair_sheep", - "wool_sheep", - "beef_cattle", - "dairy_cattle", - "crossbred_cattle", - "not_reported" - ], - "type": "string" - }, - "category_key": { - "minLength": 1, - "type": "string" - }, - "class_code": { - "enum": [ - "kids", - "nannies_does", - "bucks_billies", - "wethers_muttons", - "lambs", - "ewes", - "rams_bucks", - "steers", - "heifers", - "cows", - "bulls", - "calves", - "cow_calf_pairs", - "other_cattle" - ], - "type": "string" - }, - "life_stage_code": { - "minLength": 1, - "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$", - "type": "string" - }, - "purpose_code": { - "enum": [ - "slaughter", - "replacement", - "stocker", - "feeder", - "show", - "breeding", - "unknown" - ], - "type": "string" - }, - "quality_grade_code": { - "minLength": 1, - "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$", - "type": "string" - }, - "sex_code": { - "minLength": 1, - "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$", - "type": "string" - } - }, - "required": [ - "category_key", - "class_code", - "purpose_code", - "breed_type_code", - "sex_code", - "life_stage_code", - "quality_grade_code" - ], - "type": "object" - }, - "head_count": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "qualifiers": { - "items": { - "maxLength": 300, - "type": "string" - }, - "maxItems": 12, - "type": "array" - }, - "quote": { - "additionalProperties": false, - "properties": { - "currency": { - "const": "USD", - "type": "string" - }, - "high": { - "anyOf": [ - { - "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "low": { - "anyOf": [ - { - "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "measurement_basis": { - "enum": [ - "liveweight", - "other" - ], - "type": "string" - }, - "reported_average": { - "anyOf": [ - { - "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "reported_weighted_average": { - "anyOf": [ - { - "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": { - "enum": [ - "reported_range", - "reported_average", - "reported_weighted_average", - "publisher_top_of_market_range" - ], - "type": "string" - }, - "unit": { - "enum": [ - "USD_PER_CWT", - "USD_PER_LB", - "USD_PER_HEAD", - "USD_PER_PAIR" - ], - "type": "string" - } - }, - "required": [ - "type", - "low", - "high", - "reported_average", - "reported_weighted_average", - "currency", - "unit", - "measurement_basis" - ], - "type": "object" - }, - "raw_class": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "row": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "weight": { - "additionalProperties": false, - "properties": { - "lower": { - "anyOf": [ - { - "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "lower_inclusive": { - "type": [ - "boolean", - "null" - ] - }, - "reported_average": { - "anyOf": [ - { - "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unit": { - "anyOf": [ - { - "const": "lb", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "upper": { - "anyOf": [ - { - "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "upper_inclusive": { - "type": [ - "boolean", - "null" - ] - } - }, - "required": [ - "lower", - "upper", - "lower_inclusive", - "upper_inclusive", - "reported_average", - "unit" - ], - "type": "object" - } - }, - "required": [ - "row", - "classification", - "raw_class", - "qualifiers", - "weight", - "quote", - "head_count" - ], - "type": "object" - }, - "maxItems": 1000, - "minItems": 1, - "type": "array" - }, - "id": { - "pattern": "^usda-1955:[a-f0-9]{64}$", - "type": "string" - }, - "period_begin": { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "period_end": { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "published_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "report_status": { - "enum": [ - "Final", - "Corrected" - ], - "type": "string" - }, - "retrieved_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "schema_version": { - "const": "usda-1955-facts-v1", - "type": "string" - }, - "source": { - "const": "USDA AMS · Texas Weekly Cattle Auction Summary", - "type": "string" - }, - "source_url": { - "const": "https://mymarketnews.ams.usda.gov/viewReport/1955", - "type": "string" - }, - "state": { - "const": "TX", - "type": "string" - } - }, - "required": [ - "schema_version", - "id", - "source", - "source_url", - "state", - "period_begin", - "period_end", - "published_at", - "retrieved_at", - "artifact_sha256", - "report_status", - "facts" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "artifact_sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "facts": { + "items": { + "additionalProperties": false, + "properties": { + "classification": { + "additionalProperties": false, + "properties": { + "breed_type_code": { + "enum": [ + "meat_goat", + "dairy_miniature", + "angora", + "hair_sheep", + "wool_sheep", + "beef_cattle", + "dairy_cattle", + "crossbred_cattle", + "not_reported" + ], + "type": "string" + }, + "category_key": { + "minLength": 1, + "type": "string" + }, + "class_code": { + "enum": [ + "unclassified_goats", + "unclassified_sheep", + "kids", + "nannies_does", + "bucks_billies", + "wethers_muttons", + "lambs", + "ewes", + "rams_bucks", + "steers", + "heifers", + "cows", + "bulls", + "calves", + "cow_calf_pairs", + "other_cattle" + ], + "type": "string" + }, + "life_stage_code": { + "minLength": 1, + "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$", + "type": "string" + }, + "purpose_code": { + "enum": [ + "slaughter", + "replacement", + "stocker", + "feeder", + "show", + "breeding", + "unknown" + ], + "type": "string" + }, + "quality_grade_code": { + "minLength": 1, + "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$", + "type": "string" + }, + "sex_code": { + "minLength": 1, + "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$", + "type": "string" + } + }, + "required": [ + "category_key", + "class_code", + "purpose_code", + "breed_type_code", + "sex_code", + "life_stage_code", + "quality_grade_code" + ], + "type": "object" + }, + "head_count": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "qualifiers": { + "items": { + "maxLength": 300, + "type": "string" + }, + "maxItems": 12, + "type": "array" + }, + "quote": { + "additionalProperties": false, + "properties": { + "currency": { + "const": "USD", + "type": "string" + }, + "high": { + "anyOf": [ + { + "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "low": { + "anyOf": [ + { + "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "measurement_basis": { + "enum": [ + "liveweight", + "other" + ], + "type": "string" + }, + "reported_average": { + "anyOf": [ + { + "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "reported_weighted_average": { + "anyOf": [ + { + "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "enum": [ + "reported_range", + "reported_average", + "reported_weighted_average", + "publisher_top_of_market_range" + ], + "type": "string" + }, + "unit": { + "enum": [ + "USD_PER_CWT", + "USD_PER_LB", + "USD_PER_HEAD", + "USD_PER_PAIR" + ], + "type": "string" + } + }, + "required": [ + "type", + "low", + "high", + "reported_average", + "reported_weighted_average", + "currency", + "unit", + "measurement_basis" + ], + "type": "object" + }, + "raw_class": { + "maxLength": 300, + "minLength": 1, + "type": "string" + }, + "row": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "weight": { + "additionalProperties": false, + "properties": { + "lower": { + "anyOf": [ + { + "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "lower_inclusive": { + "type": [ + "boolean", + "null" + ] + }, + "reported_average": { + "anyOf": [ + { + "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unit": { + "anyOf": [ + { + "const": "lb", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "upper": { + "anyOf": [ + { + "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "upper_inclusive": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "lower", + "upper", + "lower_inclusive", + "upper_inclusive", + "reported_average", + "unit" + ], + "type": "object" + } + }, + "required": [ + "row", + "classification", + "raw_class", + "qualifiers", + "weight", + "quote", + "head_count" + ], + "type": "object" + }, + "maxItems": 1000, + "minItems": 1, + "type": "array" + }, + "id": { + "pattern": "^usda-1955:[a-f0-9]{64}$", + "type": "string" + }, + "period_begin": { + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "period_end": { + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "published_at": { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "report_status": { + "enum": [ + "Final", + "Corrected" + ], + "type": "string" + }, + "retrieved_at": { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "schema_version": { + "const": "usda-1955-facts-v1", + "type": "string" + }, + "source": { + "const": "USDA AMS · Texas Weekly Cattle Auction Summary", + "type": "string" + }, + "source_url": { + "const": "https://mymarketnews.ams.usda.gov/viewReport/1955", + "type": "string" + }, + "state": { + "const": "TX", + "type": "string" + } + }, + "required": [ + "schema_version", + "id", + "source", + "source_url", + "state", + "period_begin", + "period_end", + "published_at", + "retrieved_at", + "artifact_sha256", + "report_status", + "facts" + ], + "type": "object" + }, + { + "type": "null" + } +]
5 tool updates
- First observed
get_data_coverage - First observed
get_latest_prices - First observed
get_market_report - First observed
get_methodology - First observed
get_usda_cattle_benchmark
Related MCP Connectors
USDA AMS Market News -- Livestock Mandatory Price Reporting (LMR).
Italian cattle market: daily official quotations, marketplace listings, transporters. No auth.
Read-only energy market data: ISO prices, load, generation, regulatory dockets and weather.
Official daily Bangladesh agricultural market prices — unit-normalised, dated, citable.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables searching USDA AMS Livestock Mandatory Price Reporting market news reports and reading dated price rows — direct slaughter cattle, boxed beef and pork cutouts, hogs and lamb — keeping low, high and weighted-average prices separate with each report's own basis fields. It also reports clearly when a requested date, section or commodity family has no AMS coverage instead of returning empty results.MIT
- FlicenseNot gradedqualityBmaintenanceProvides agricultural product price monitoring, price index tracking, and daily/weekly/monthly market report queries to support price fluctuation identification and market trend analysis.1-
- AlicenseNot gradedqualityBmaintenanceEnables querying USDA WAOB World Agricultural Supply and Demand Estimates data, including releases, tables, commodities, regions, balance sheets, and narrative report text through read-only tools.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceExposes read-only tools for querying USDA NASS Quick Stats, covering reported counts, filtered data pulls, parameter values, crop progress and condition, county yield and production, acreage and forecasts, and prices received. Results are capped with guidance on narrowing queries.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.