usda-market-news
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@usda-market-newsshow me the latest boxed beef cutout prices, Choice vs Select"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@pipeworx/usda-market-news
USDA Agricultural Marketing Service, Market News: livestock price reports (direct slaughter cattle, boxed beef and cow-beef cutouts, hogs and pork, lamb) and, with a registered key, the My Market News reports for fruit and vegetables (shipping-point, terminal-market and import-crossing prices), grain, hay, cotton and ornamentals. Dated rows with the report's own basis (class, selling basis, grade, weight range) and low / high / weighted-average prices kept as separate fields.
Part of Pipeworx — an MCP gateway connecting AI agents to 1857+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.
Tools
ams_report_search(query?, species?, limit?)— finds livestock price reports by title words and species; returns report id, report code, the sections each report has, and when AMS last published it. A search with no match says what is not covered instead of returning an empty list.ams_report(report_id, section?, date?, start_date?, end_date?, limit?)— reads rows from one report section. Every response states the report family, report title, market type and office. With no date it returns the most recent report date. A date or section AMS has no rows for returnsstatus: "no_rows_for_request"with the report's last published date, never an empty array or a zero.ams_market_report_search(query?, market_type?, limit?)-- finds My Market News reports outside livestock (produce shipping point and terminal markets, Mexico crossings, grain bids, hay, cotton) by words in the title, market type or office. A search with no match returns the market types that exist, never a bare empty list. Commodities and crossing districts are fields inside a report's rows, not in its title: find the office report here, then filter its rows inams_market_report.ams_market_report(report_id, commodity?, district?, section?, date?, start_date?, end_date?, limit?)-- reads dated rows from one such report, optionally keeping one commodity (for example lime) and one district or market location (for example mexico crossings through texas). Reports are daily; a weekly view is a start_date/end_date range of up to 31 days. Low / high / mostly / mean prices stay separate fields with the package or unit AMS gives. A date or commodity with no rows returns a status that says so, with the commodities the report does carry.
Related MCP server: usda-nass
Auth
The two livestock tools are keyless. The two My Market News tools use the Pipeworx platform key for the AMS My Market News registered service; callers can pass their own free key as _apiKey.
What is NOT covered
Poultry and egg reports, and anything AMS does not publish through Market News. Livestock reports are ams_report*; everything else AMS publishes in Market News is ams_market_report*.
Reading prices correctly
Families are not interchangeable. A live or dressed direct-slaughter cattle price (class, selling basis
LIVE FOB/DRESSED DELIVERED, grade), a boxed-beef cutout (Choice/Select, 600-900 lb carcass-cut value) and a pork cutout (FOB plant vs FOB Omaha) are different quantities even for the same animal. Read the basis fields on each row before comparing.Ranges stay ranges.
price_range_low,price_range_highandweighted_avg_priceare separate fields exactly as AMS publishes them. Nothing here averages or rolls up.Units. The data carries no unit field. AMS quotes LMR prices in dollars per hundredweight and weights in pounds; each response repeats this as
unit_note.Numbers are strings as AMS publishes them (
"63,231","369.47"). Null fields are dropped from rows.Dates. ISO in and out of the tool arguments;
report_dateon rows is as AMS writes it (MM/DD/YYYY).
Data sources
USDA Agricultural Marketing Service, My Market News (specialty crops, grain, hay, cotton, ornamentals). US federal data.
USDA Agricultural Marketing Service, Livestock Mandatory Price Reporting (Market News). US federal data.
Behaviour worth knowing: a request for a date AMS has not published answers with a plain "No Results Found." string rather than an empty list, which is how no_rows_for_request is detected. Weekly reports publish on one weekday only, so a daily date will often come back empty for them. The same report id has different row shapes in different sections (head counts in Summary, prices in Detail for most cattle reports).
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"usda-market-news": {
"url": "https://gateway.pipeworx.io/usda-market-news/mcp"
}
}
}What this endpoint actually serves
tools/list at https://gateway.pipeworx.io/usda-market-news/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}Both URLs reach the same gateway and the same 1857+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
No MCP client? Call it over HTTP
curl -X POST https://gateway.pipeworx.io/v1/tools/ams_report_search \
-H 'Content-Type: application/json' \
-d '{"query":"boxed beef cutout","species":"beef"}'No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/ams_report_search. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.
Run it from npm
@pipeworx/mcp-usda-market-news is a local stdio bridge to the Pipeworx gateway: your MCP client
starts it with npx, and it forwards every call to the same
https://gateway.pipeworx.io/usda-market-news/mcp endpoint shown above. It needs network access;
there is no offline mode.
{
"mcpServers": {
"usda-market-news": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-usda-market-news"]
}
}
}Without a key it calls anonymously, capped at 50 calls a day. A free account
raises that to 200 a day: get a key at https://pipeworx.io/signup and add
"env": { "PIPEWORX_API_KEY": "<your key>" } to the server entry.
The key is sent as a Bearer token, the same way a hosted connection sends it,
so calls are metered and billed exactly as they are there.
It lists only this pack's tools by default. Set PIPEWORX_META_TOOLS=1 to
also list ask_pipeworx and the other gateway-wide tools.
Behind an HTTPS proxy: Node's built-in fetch does not read HTTPS_PROXY by
default. Newer Node releases honour it when NODE_USE_ENV_PROXY=1 is set; check
your Node version's documentation.
Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Usda Market News data" })The gateway picks the right tool and fills the arguments automatically.
More
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only, source-linked cattle, sheep, and goat prices, market reports, coverage, and methodology.
Official daily Bangladesh agricultural market prices — unit-normalised, dated, citable.
Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
US healthcare public data, one endpoint: prices, Medicare, MA benefits, Stars, Medicaid, providers.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables searching USDA Animal Welfare Act licensees and registrants and retrieving APHIS Animal Care inspection reports with violation counts and links to official signed report PDFs.280 npmMIT
- 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
- AlicenseNot gradedqualityBmaintenanceExposes read-only tools for querying USDA FAS PSD Online commodity supply and distribution data, with every response carrying release metadata such as source, endpoint, retrieval time and vintage. Results are capped by row count and size, with guidance returned on how to narrow a query.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceRead-only MCP tools for querying USDA FAS Global Agricultural Trade System census export and import records by partner country, year, month and HS10 code prefix, plus the release-date lists for each flow. Results are capped with notes on omitted rows, and responses carry release vintages and retrieval metadata.Apache 2.0