Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Magpie — USDA Agricultural Data for AI Agents

REMOTE · AG.MORNINGBRIEF.LINK

USDA farm data for AI agents: prices, WASDE, crop conditions, trade. 26 tools, free, no key.

67 Trust /100

Last scanned (53 minutes ago)

Scores higher than 56% of remote servers

Reachable. Last reached 23 Oct 2026.

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security69
Transport & Reachability100
Schema Quality & AI Usability74
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4872 tokens (~162/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
  • Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 30 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Oct 26 +10
    • Authorization: unverified → partial ▲ security
    • Tool “get_crop_stats” rewrote its description, which is the text the model reads security
    • Tool “compare_contracts_vs_shipments” rewrote its description, which is the text the model reads security
    • Tool “get_crop_condition” rewrote its description, which is the text the model reads security
    • Tool “get_crop_progress” rewrote its description, which is the text the model reads security
    • Tool “get_dairy_price” rewrote its description, which is the text the model reads security
    • Tool “get_export_sales” rewrote its description, which is the text the model reads security
    • Tool “get_export_sales_history” rewrote its description, which is the text the model reads security
    • Tool “get_fertilizer_history” rewrote its description, which is the text the model reads security
    • Tool “get_fertilizer_price” rewrote its description, which is the text the model reads security
    • Tool “get_forecast” rewrote its description, which is the text the model reads security
    • Tool “get_grain_history” rewrote its description, which is the text the model reads security
    • Tool “get_grain_price” rewrote its description, which is the text the model reads security
    • Tool “get_livestock_history” rewrote its description, which is the text the model reads security
    • Tool “get_livestock_price” rewrote its description, which is the text the model reads security
    • Tool “get_spreads” rewrote its description, which is the text the model reads security
    • Tool “get_trade_flows” rewrote its description, which is the text the model reads security
    • Tool “get_wasde_history” rewrote its description, which is the text the model reads security
    • Tool “get_wasde_projection” rewrote its description, which is the text the model reads security
    • Tool “get_weather” rewrote its description, which is the text the model reads security
    • Tool “list_dairy_products” rewrote its description, which is the text the model reads security
    • Tool “list_esr_commodities” rewrote its description, which is the text the model reads security
    • Tool “list_fertilizer_products” rewrote its description, which is the text the model reads security
    • Tool “list_gats_commodities” rewrote its description, which is the text the model reads security
    • Tool “list_grain_products” rewrote its description, which is the text the model reads security
    • Tool “list_livestock_products” rewrote its description, which is the text the model reads security
    • Tool “list_wasde_commodities” rewrote its description, which is the text the model reads security
    • Schema quality: pass → fail ▼ functional
    • Tool coverage: 76% → 100% ▲ functional
    • Schema quality: good → excellent functional
    • New tool “get_crop_condition_history” functional
    • New tool “get_crop_progress_history” functional
    • New tool “get_dairy_history” functional
    • New tool “get_weather_history” functional
    • “get_crop_progress” reworded the description of “commodity” cosmetic
    • “get_crop_progress” reworded the description of “geography” cosmetic
    • “get_crop_stats” reworded the description of “commodity” cosmetic
    • “compare_contracts_vs_shipments” reworded the description of “commodity” cosmetic
    • “compare_contracts_vs_shipments” reworded the description of “partner” cosmetic
    • “get_crop_condition” reworded the description of “commodity” cosmetic
    • “get_crop_condition” reworded the description of “geography” cosmetic
    • “get_crop_stats” reworded the description of “geography” cosmetic
    • “get_crop_stats” reworded the description of “stat” cosmetic
    • “get_dairy_price” reworded the description of “geography” cosmetic
    • “get_dairy_price” reworded the description of “product” cosmetic
    • “get_export_sales” reworded the description of “commodity” cosmetic
    • “get_export_sales” reworded the description of “country” cosmetic
    • “get_export_sales_history” reworded the description of “commodity” cosmetic
    • “get_export_sales_history” reworded the description of “country” cosmetic
    • “get_export_sales_history” reworded the description of “weeks” cosmetic
    • “get_fertilizer_history” reworded the description of “periods” cosmetic
    • “get_fertilizer_history” reworded the description of “product” cosmetic
    • “get_forecast” reworded the description of “location” cosmetic
    • “get_grain_history” reworded the description of “geography” cosmetic
    • “get_grain_history” reworded the description of “periods” cosmetic
    • “get_grain_history” reworded the description of “product” cosmetic
    • “get_grain_price” reworded the description of “geography” cosmetic
    • “get_livestock_history” reworded the description of “geography” cosmetic
    • “get_livestock_history” reworded the description of “periods” cosmetic
    • “get_livestock_history” reworded the description of “product” cosmetic
    • “get_livestock_price” reworded the description of “geography” cosmetic
    • “get_spreads” reworded the description of “geography” cosmetic
    • “get_trade_flows” reworded the description of “commodity” cosmetic
    • “get_trade_flows” reworded the description of “months” cosmetic
    • “get_trade_flows” reworded the description of “partner” cosmetic
    • “get_wasde_history” reworded the description of “attribute” cosmetic
    • “get_wasde_history” reworded the description of “commodity” cosmetic
    • “get_wasde_history” reworded the description of “country” cosmetic
    • “get_wasde_projection” reworded the description of “country” cosmetic
    • “get_wasde_projection” reworded the description of “market_year” cosmetic
    • “get_weather” reworded the description of “location” cosmetic
  • 21 Oct 26 +1
    • Stability: unverified → 0.03 ▲ functional
  • 20 Oct 26 56

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 23 Oct 2026 · Probed https://ag.morningbrief.link/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=morningbrief.link CN=YE2,O=Let's Encrypt,C=US 14 Oct 2026 12 Jan 2027 ECDSA 256 ECDSA-SHA384 535973321173b42359d926a6be7b6756c34
SANs: *.morningbrief.link, morningbrief.link
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of ag.morningbrief.link. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
link. present 16766 13 Verified
morningbrief.link. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000
content-security-policy default-src 'none'; frame-ancestors 'none'
x-frame-options DENY
permissions-policy camera=(), microphone=(), geolocation=(), payment=(), usb=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://ag.morningbrief.link/mcp Verified 200
http (plaintext) http://ag.morningbrief.link/mcp Inconclusive 404
MCP tools · 30 exposed · ~4,872 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
compare_contracts_vs_shipments ~161

Derived comparison of ESR contracted export sales against GATS actual shipments for one commodity: total contracted, total shipped, and the gap in metric tons — a positive gap means sold but not yet shipped. Use to gauge the unshipped export backlog; use get_export_sales or get_trade_flows instead for the underlying weekly or monthly detail. Read-only; no API key. This is a computed aggregate across both stored datasets over all stored periods, not a USDA-published figure; totals are rounded to whole tons.

NameTypeReqDescription
commoditystringyesCommodity slug (see list_gats_commodities)
partnerstring–Partner country code (2-letter ISO/GENC, e.g. MX, CN) or omit for all partners

No output schema declared.

No examples provided.

get_crop_condition ~203

Most recent weekly NASS crop condition ratings for corn, soybeans, or wheat — the share of the crop rated excellent, good, fair, poor, and very poor, plus a combined good+excellent percentage — from USDA NASS QuickStats. Use for current crop health; use get_crop_condition_history instead for week-by-week change across the season, and get_crop_progress for growth-stage pace. Read-only lookup of stored statistics; no API key. Ratings are published weekly in season, but the stored copy refreshes weekly, so the returned `period` (e.g. 2026-W30) is the freshest stored week, not necessarily the current one.

NameTypeReqDescription
commoditystring–Commodity (CORN, SOYBEANS, WHEAT). Default: CORN
geographystring–US for national, or state code (IA, IL, etc.); state coverage is the major corn-belt states. Default: US

No output schema declared.

No examples provided.

get_crop_condition_history ~221

Week-by-week NASS crop condition ratings for corn, soybeans, or wheat across the growing season — each week's excellent/good/fair/poor/very poor shares plus a combined good+excellent percentage — from USDA NASS QuickStats. Use to track crop health trends or compare weeks within the season; use get_crop_condition instead when only the latest week matters. Read-only lookup of stored statistics; no API key. Returns up to `weeks` most recent stored weeks, oldest first (default 12, max 52); coverage is the current season, national plus major corn-belt states, and the stored copy refreshes weekly.

NameTypeReqDescription
commoditystring–Commodity (CORN, SOYBEANS, WHEAT). Default: CORN
geographystring–US for national, or state code (IA, IL, etc.); state coverage is the major corn-belt states. Default: US
weeksnumber–Number of most recent weeks to return (default 12, max 52)

No output schema declared.

No examples provided.

get_crop_progress ~199

Most recent weekly NASS crop progress for corn, soybeans, or wheat — the share of the crop at each growth stage (planted, emerged, silking, harvested, and similar; the stages present vary by commodity) — from USDA NASS QuickStats. Use for current season pace; use get_crop_progress_history instead for week-by-week pace across the season, and get_crop_condition for health ratings. Read-only lookup of stored statistics; no API key. Progress is published weekly in season, but the stored copy refreshes weekly; the returned `period` (e.g. 2026-W30) is the freshest stored week.

NameTypeReqDescription
commoditystring–Commodity (CORN, SOYBEANS, WHEAT). Default: CORN
geographystring–US for national, or state code (IA, IL, etc.); state coverage is the major corn-belt states. Default: US

No output schema declared.

No examples provided.

get_crop_progress_history ~234

Week-by-week NASS crop progress for corn, soybeans, or wheat across the growing season — each week's share of the crop at each growth stage (planted, emerged, silking, harvested, and similar) — from USDA NASS QuickStats. Use to track season pace or compare against earlier weeks; use get_crop_progress instead when only the latest week matters. Read-only lookup of stored statistics; no API key. Returns up to `weeks` most recent stored weeks, oldest first (default 12, max 52); the stages present vary by commodity and point in the season. Coverage is the current season, national plus major corn-belt states, and the stored copy refreshes weekly.

NameTypeReqDescription
commoditystring–Commodity (CORN, SOYBEANS, WHEAT). Default: CORN
geographystring–US for national, or state code (IA, IL, etc.); state coverage is the major corn-belt states. Default: US
weeksnumber–Number of most recent weeks to return (default 12, max 52)

No output schema declared.

No examples provided.

get_crop_stats ~223

Annual NASS survey statistics — yield, production, planted or harvested area — for a commodity at national or state level, from USDA NASS QuickStats. These are survey estimates, not market prices. Use for production fundamentals; use get_crop_condition or get_crop_progress instead for in-season weekly crop status. Read-only lookup of stored statistics; no API key. Returns every stored period (year) for the requested statistic, most recent first; the stored copy refreshes weekly. Commodity, statistic, and geography are case-insensitive and default to CORN, YIELD, and US.

NameTypeReqDescription
commoditystring–Commodity (CORN, SOYBEANS, WHEAT, COTTON, SORGHUM, OATS, BARLEY, RICE). Default: CORN
geographystring–US for national, or state code (IA, IL, etc.). Default: US
statstring–Statistic type (YIELD, PRODUCTION, AREA PLANTED, AREA HARVESTED). Default: YIELD

No output schema declared.

No examples provided.

get_dairy_history ~203

Weekly price history for one dairy product, from the same USDA MARS weekly dairy reports behind get_dairy_price. Use for trends across report weeks; use get_dairy_price instead when only the latest quote matters. Read-only lookup of stored reports; no API key. Returns up to `periods` most recent report rows, oldest first (default 30, max 365); geography defaults to US-Central and cheese reports use geography 'US'. Butter returns a withheld notice — USDA publishes only price differentials for butter, no US base price.

NameTypeReqDescription
geographystring–Report region (US-Central, US-East, US-West; cheese uses US). Default: US-Central
periodsnumber–Number of most recent report rows to return (default 30, max 365)
productstringyesDairy product (cheese, butter, dry_whey, fluid_milk). Butter prices are withheld — see description

No output schema declared.

No examples provided.

get_dairy_price ~172

Latest price for one dairy product, from USDA MARS weekly dairy reports — the same series get_dairy_history extends over time. Use for a current quote; use get_dairy_history instead for the weekly trend. Read-only lookup of stored reports; no API key. Geography defaults to US-Central (cheese reports are national and use geography 'US'). Butter is deliberately withheld: USDA publishes only price differentials for butter, no US base price, so butter returns a withheld notice instead of a misleading value.

NameTypeReqDescription
geographystring–Report region (US-Central, US-East, US-West; cheese uses US). Default: US-Central
productstringyesDairy product (cheese, butter, dry_whey, fluid_milk). Butter prices are withheld — see description

No output schema declared.

No examples provided.

get_export_sales ~173

Latest week of USDA export sales for one commodity from the FAS Export Sales Reporting (ESR) system — sales contracted by exporters, not yet necessarily shipped. Use for current foreign demand; use get_export_sales_history instead for the weekly trend, and get_trade_flows for actual shipped volumes. Read-only lookup of stored reports; no API key. ESR reports weekly (released Thursdays); returns the most recent stored week's weekly exports, outstanding sales, net sales for the current marketing year, and total commitments per destination country, each row with its reported unit. Omit `country` to include all destinations.

NameTypeReqDescription
commoditystringyesCommodity slug (see list_esr_commodities)
countrystring–GENC country code (e.g. CHN, MEX) or omit for all destinations

No output schema declared.

No examples provided.

get_export_sales_history ~183

Weekly export sales time series for one commodity, and optionally one destination country, from the same FAS ESR weekly reports behind get_export_sales. Use for demand trends across weeks; use get_export_sales instead when only the latest week matters, and compare_contracts_vs_shipments to set contracted sales against actual shipments. Read-only lookup of stored reports; no API key. Returns up to `weeks` most recent weeks, oldest first (default 12, max 52); without a `country`, each week covers all destinations combined as stored.

NameTypeReqDescription
commoditystringyesCommodity slug (see list_esr_commodities)
countrystring–GENC country code (e.g. CHN, MEX) or omit for all destinations
weeksnumber–Number of most recent weeks to return (default 12, max 52)

No output schema declared.

No examples provided.

get_fertilizer_history ~149

Price history for one fertilizer product across report periods, from the same twice-monthly USDA MARS production cost reports behind get_fertilizer_price. Use for input-cost trends; use get_fertilizer_price instead when only the latest quote matters. Read-only lookup of stored reports; no API key. Returns up to `periods` most recent reports, oldest first (default 12, max 52 — roughly two years of twice-monthly reports).

NameTypeReqDescription
periodsnumber–Number of most recent report periods to return (default 12, max 52)
productstringyesProduct slug (e.g. anhydrous_ammonia, urea, dap)

No output schema declared.

No examples provided.

get_fertilizer_price ~153

Latest price for one fertilizer product from USDA MARS production cost reports (Illinois-led regional coverage) — the same series get_fertilizer_history extends over time. Use for a current input-cost quote; use get_spreads instead to relate fertilizer cost to corn or cattle prices. Read-only lookup of stored reports; no API key. The reports publish twice a month and are fetched on the 1st and 15th, so the latest price can be up to about two weeks old; returns the price, its unit (typically USD per ton), and the change versus the prior report.

NameTypeReqDescription
productstringyesProduct slug (e.g. anhydrous_ammonia, urea, dap)

No output schema declared.

No examples provided.

get_forecast ~139

NOAA forecast for an agricultural region — the next several day/night periods with temperature, wind speed and direction, and short and detailed forecast text, from the National Weather Service. Use for the outlook ahead; use get_weather instead for current observed conditions, and get_weather_history for recent past weather. Live proxy to NOAA — nothing is stored; this is the latest NWS gridpoint forecast for the region's coordinates; no API key. An unknown location key or a NOAA outage returns a source-unavailable error.

NameTypeReqDescription
locationstring–Location key (IL-central, IA-central, NE-central, IN-central, KS-central). Default: IL-central

No output schema declared.

No examples provided.

get_grain_history ~184

Daily cash price history for one grain commodity in one state, from the same USDA MARS daily reports behind get_grain_price. Use for trends or day-over-day comparison; use get_grain_price instead when only the latest quote matters. Read-only lookup of stored reports; no API key. Returns up to `periods` most recent daily report rows, oldest first; `periods` counts report rows, not calendar days (default 30, max 365).

NameTypeReqDescription
geographystring–State/region code from a tracked MARS report (e.g. IL, IA, TX, PNW, GULF). Default: IL
periodsnumber–Number of most recent report rows to return (default 30, max 365)
productstringyesGrain slug (e.g. corn, soybeans, wheat)

No output schema declared.

No examples provided.

get_grain_price ~165

Latest cash grain price for one commodity in one state, from USDA MARS daily market reports — the same series get_grain_history extends over time. Use for a current quote; use get_grain_history instead for trends across days. Read-only lookup of stored reports; no API key. Returns the most recent report's price with its unit (USD per bushel in most markets) and market location; a commodity/state pair with no report returns a no-data error rather than a stale price.

NameTypeReqDescription
geographystring–State/region code from a tracked MARS report (e.g. IL, IA, TX, PNW, GULF). Default: IL
productstringyesGrain slug (e.g. corn, soybeans, wheat)

No output schema declared.

No examples provided.

get_livestock_history ~180

Price history for one livestock category in one region, from the same USDA MARS reports behind get_livestock_price (daily direct-trade reports plus weekly auction summaries). Use for trends; use get_livestock_price instead when only the latest quote matters. Read-only lookup of stored reports; no API key. Returns up to `periods` most recent report rows, oldest first; `periods` counts report rows, not calendar days (default 30, max 365).

NameTypeReqDescription
geographystring–Region or state code (e.g. IA, ECB, KS). Default: IA
periodsnumber–Number of most recent report rows to return (default 30, max 365)
productstringyesLivestock slug (e.g. fed_cattle, feeder_cattle, hogs)

No output schema declared.

No examples provided.

get_livestock_price ~180

Latest price for one livestock category in one region, from USDA MARS direct-trade and auction reports — the same series get_livestock_history extends over time. Use for a current quote; use get_livestock_history instead for trends. Read-only lookup of stored reports; no API key. Returns the most recent report's price and its unit (typically USD per cwt); direct-trade reports can skip weeks when no trades occur, and a category/region pair with no report returns a no-data error rather than a stale price.

NameTypeReqDescription
geographystring–Region or state code (e.g. IA for Iowa direct trade, ECB for Eastern Cornbelt, or a state auction code). Default: IA
productstringyesLivestock slug (e.g. fed_cattle, feeder_cattle, hogs)

No output schema declared.

No examples provided.

get_spreads ~185

Derived input-to-output price spreads computed from the latest stored Magpie prices: corn-to-nitrogen cost broken down per fertilizer product (bushels of corn per ton of product and per pound of actual N), the soybean-to-corn price ratio, and the feeder-to-fed cattle spread. Use for planting and feeding economics; use the raw price tools (get_grain_price, get_fertilizer_price, get_livestock_price) instead for the quotes behind a spread. Read-only; no API key. These are Magpie calculations over stored USDA MARS prices, not USDA-published figures; a spread is omitted when either side has no stored price. Geography defaults to IL and applies to both sides of each spread.

NameTypeReqDescription
geographystring–State/region code used for both sides of the spreads (e.g. IL, IA). Default: IL

No output schema declared.

No examples provided.

get_trade_flows ~206

Monthly US agricultural export shipments by destination, from USDA GATS (Census trade data) — quantities and values actually shipped, not sales contracted. Use for realized trade volumes; use get_export_sales instead for contracted-but-unshipped demand, and compare_contracts_vs_shipments for the sold-versus-shipped gap. Read-only lookup of stored Census data; no API key. Coverage is a rolling 24 months, refreshed monthly; quantities are in metric tons with values in USD. Some commodities are withheld when GATS unit inconsistencies fail a dollars-per-ton sanity check — a withheld result says so explicitly instead of returning bad numbers.

NameTypeReqDescription
commoditystringyesCommodity slug (see list_gats_commodities)
monthsnumber–Number of months of flows to return (default 12, max 24)
partnerstring–Partner country code (2-letter ISO/GENC, e.g. MX, CN) or omit for all partners

No output schema declared.

No examples provided.

get_wasde_history ~179

Revision history of one WASDE projection figure (default ending_stocks) across monthly reports — how the estimate for a commodity and marketing year moved as successive WASDE reports landed. Use to study estimate revisions; use get_wasde_projection instead for the full current balance sheet. Read-only lookup of stored projections; no API key. Returns up to 24 monthly report values, oldest first, each with its report date and unit, for the requested commodity, attribute, and country (default WORLD).

NameTypeReqDescription
attributestring–Projection attribute (beginning_stocks, production, imports, exports, domestic_consumption, ending_stocks)
commoditystringyesCommodity slug (e.g. corn, wheat, soybeans)
countrystring–Country code (WORLD, US, BR, AR). Default: WORLD aggregate

No output schema declared.

No examples provided.

get_wasde_projection ~218

Latest USDA WASDE supply/demand projections for one commodity — beginning stocks, production, imports, exports, domestic consumption, and ending stocks — from the FAS PSD database behind the monthly WASDE report. Use for the current balance-sheet outlook; use get_wasde_history instead to see how a single figure has been revised across reports. Read-only lookup of stored projections; no API key. Returns the newest stored report's values for the requested marketing year (default: the current marketing year, where e.g. 2026 means the 2025/26 season) and country (default WORLD aggregate; US, BR, and AR are also tracked).

NameTypeReqDescription
commoditystringyesCommodity slug (e.g. corn, wheat, soybeans, rice, cotton)
countrystring–Country code (WORLD, US, BR, AR). Default: WORLD aggregate
market_yearnumber–Marketing year (e.g. 2026 = 2025/26 season). Default: current marketing year

No output schema declared.

No examples provided.

get_weather ~131

Current observed weather conditions for an agricultural region — temperature, humidity, wind, and sky conditions from the nearest NOAA National Weather Service station. Use for right-now conditions; use get_forecast instead for the outlook ahead, and get_weather_history for what the past days actually delivered. Live proxy to NOAA — nothing is stored, so values are as of the station's latest observation; no API key. An unknown location key or a NOAA outage returns a source-unavailable error.

NameTypeReqDescription
locationstring–Location key (IL-central, IA-central, NE-central, IN-central, KS-central). Default: IL-central

No output schema declared.

No examples provided.

get_weather_history ~179

Recent past weather for an agricultural region, summarized by day from NOAA station observations: daily high and low temperature (°F), total precipitation (inches), and the number of observations behind each day. Use for what weather actually occurred over the past days; use get_weather instead for current conditions and get_forecast for the outlook. Live proxy to NOAA — nothing is stored; no API key. `days` spans 1–30 (default 7). Precipitation is null for a day when the station reported no precipitation values — never silently zero — and days with no observations are omitted.

NameTypeReqDescription
daysnumber–Number of past days to summarize (default 7, max 30)
locationstring–Location key (IL-central, IA-central, NE-central, IN-central, KS-central). Default: IL-central

No output schema declared.

No examples provided.

list_dairy_products ~88

Lists the dairy product slugs this API tracks (cheese, butter, dry_whey, fluid_milk) with display labels. Use to discover valid `product` values before calling get_dairy_price or get_dairy_history. Read-only; no API key. Butter is listed for completeness but its price is withheld in the price tools — USDA reports no US base price for butter.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_esr_commodities ~95

Lists the commodities tracked in USDA export sales reporting (wheat, barley, corn, sorghum, soybeans, soybean meal, soybean oil, cotton, rice) with their FAS commodity codes. Use to discover valid `commodity` slugs before calling get_export_sales or get_export_sales_history. Read-only; no API key. Slugs map to FAS 'all' aggregate commodity codes where available.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_fertilizer_products ~106

Lists the fertilizer product slugs this API tracks (anhydrous ammonia, urea, DAP, MAP, potash, liquid N 28/32, ATS, farm diesel, biodiesel) with display labels. Use to discover valid `product` values before calling get_fertilizer_price or get_fertilizer_history. Read-only; no API key. The list is the configured catalog across the tracked MARS production cost reports, not a live availability check.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_gats_commodities ~90

Lists the commodities tracked in GATS trade flows (matched to Census data by HS chapter) with display labels. Use to discover valid `commodity` slugs before calling get_trade_flows or compare_contracts_vs_shipments. Read-only; no API key. The list is the configured catalog — individual commodities can still be withheld in get_trade_flows when their source data fails sanity checks.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_grain_products ~96

Lists the grain commodity slugs this API tracks (corn, soybeans, wheat, sorghum, oats, barley, rice) with display labels. Use to discover valid `product` values before calling get_grain_price or get_grain_history. Read-only; no API key. The list is the configured MARS catalog, not a live availability check — a listed product can still have no report for a given state.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_livestock_products ~98

Lists the livestock category slugs this API tracks (fed_cattle, feeder_cattle, cows, hogs, sheep) with display labels. Use to discover valid `product` values before calling get_livestock_price or get_livestock_history. Read-only; no API key. The list is the configured catalog, not a live availability check — some categories trade sporadically and can have no recent report in a region.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_wasde_commodities ~79

Lists the commodities tracked in WASDE projections (corn, wheat, soybeans, soybean meal, soybean oil, rice, barley, cotton) with their FAS PSD commodity codes. Use to discover valid `commodity` slugs before calling get_wasde_projection or get_wasde_history. Read-only; no API key.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Install

How do I install the Magpie — USDA Agricultural Data for AI Agents MCP server?

Magpie — USDA Agricultural Data for AI Agents is a hosted endpoint at https://ag.morningbrief.link/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · ag.morningbrief.link

# add to Claude Code
claude mcp add --transport http link-morningbrief-magpie 'https://ag.morningbrief.link/mcp'
Common questions

What is the Magpie — USDA Agricultural Data for AI Agents MCP server?

Magpie — USDA Agricultural Data for AI Agents is an MCP server listed in the public MCP registry as link.morningbrief/magpie. USDA farm data for AI agents: prices, WASDE, crop conditions, trade. 26 tools, free, no key. This page covers its hosted endpoint (https://ag.morningbrief.link/mcp).

Is the Magpie — USDA Agricultural Data for AI Agents MCP server safe to use?

Magpie — USDA Agricultural Data for AI Agents scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Magpie — USDA Agricultural Data for AI Agents MCP server expose?

Magpie — USDA Agricultural Data for AI Agents exposes 30 tools: get_fertilizer_price, get_fertilizer_history, list_fertilizer_products, get_grain_price, get_grain_history, and 25 more. Their descriptions and schemas cost roughly 4,872 tokens of context every time the server is loaded.

Does the Magpie — USDA Agricultural Data for AI Agents MCP server require authentication?

No. We connected to Magpie — USDA Agricultural Data for AI Agents without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Magpie — USDA Agricultural Data for AI Agents MCP server still maintained?

Magpie — USDA Agricultural Data for AI Agents is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.