usda-esmis
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-esmissearch ESMIS for the latest WASDE report"
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.
xippios-usda-esmis
Typed Python client, MCP server and FastAPI routes for USDA ESMIS, the Economics, Statistics, and Market Information System of USDA's National Agricultural Library, part of the xippios SDK family. Names and semantics follow the upstream documentation; every response carries release metadata (source, endpoint, retrieved_at, published_at, vintage).
Install
uv add xippios-usda-esmis # client only
uv add "xippios-usda-esmis[mcp]" # + MCP server
uv add "xippios-usda-esmis[http]" # + FastAPI routerNo API key is needed.
Related MCP server: Cadastro Ambiental Rural: Demonstrativo (PDF)
30-second example
from xippios.usda.esmis import tasks
# result = tasks.<task>(...)
# result.data, result.meta.retrieved_at, result.meta.requestTask functions are listed in the status table below as they are added.
MCP
{
"mcpServers": {
"usda-esmis": {
"command": "uvx",
"args": ["--from", "xippios-usda-esmis[mcp]", "xippios-usda-esmis-mcp"] }
}
}Tools are read-only and named usda_esmis_<verb>_<noun>. Results are capped, at
200 rows or 64 KB unless a tool has a cap of its own, with a note on how to see the rest.
--http serves streamable HTTP instead of stdio.
Status
Upstream operation | Task function | MCP tool | Status |
(none yet) |
Where the live API deviates from its OpenAPI document (probed 2026-10-27)
The OpenAPI document in docs/upstream/openapi/esmis_public_api.yaml is the reference
for names and parameters; the live API answers differently in these points:
every
idis a JSON string, not an integer;Publication.agency,.identifierand.agency_acronymare arrays, not strings;agency_acronymis absent on some publications, which carrypublication_agency_export_1instead;the list wrapper has
filters,sortersandsystem({"page_key": "page"}) besidepagerandresults;/publication/searchwithoutqueryanswers 200 with"pager": [];/publication/findByIdof an unknown id answers 404{"message": ""},/publication/findByIdentifierof an unknown identifier answers 200 with empty results; the agency and release lookups were not probed;pageis 0-based and a page holds 25 items, as the YAML's defaults say; undocumented are that the page size is fixed and that a page past the last answers empty results withcurrent_pageclamped;release lists come newest first by id (descending), undocumented, with
release_datetimeonly mostly in that order (/release/findAllpage 0 runs 2026-10-26, 2026-10-09, 2026-10-23); publication lists follow no id order (/publication/findAllpage 0: ids 2425, 1801, 1861, 1922;/publication/search?query=wasde: 1762, 1831, 1154);release_datetimeisYYYY-MM-DDTHH:MM:SS+0000(a zone, no colon);Release.filespaths take two shapes: recent releases use/sites/default/release-files/{release id}/{name}.{ext}(/sites/default/release-files/796099/wasde1026.txt), older ones the hashed three-segment path the YAML's example shows (/sites/default/release-files/8336h188j/2514qk05k/j0991c960/prog3925.pdf);Publication.upcoming_releaseswas[]on every sampled publication, and the YAML lists no release-calendar operation;the zone label of release times: the API prints
release_datetimewith+0000and the release page itsdatetimewithZ(2026-10-09T12:00:00+0000anddatetime="2026-10-09T12:00:00Z"for the October 2026 WASDE), while the release calendar, whose settings saytimeZone: "America/New_York", puts the WASDE releases that/release/findByIdentifier/wasde(page 0) prints as2025-09-12T12:00:00+0000and2025-12-09T12:00:00+0000at2025-09-12T12:00:00-04:00and2025-12-09T12:00:00-05:00, and the October release's own file answersHEAD /sites/default/release-files/796099/wasde1026.txtwithLast-Modified: Fri, 09 Oct 2026 16:01:00 GMT, 12:01 Eastern. The+0000/Zlabel is contradicted by upstream's own calendar and file timestamps, which fit a noon Eastern wall-clock time; howpublished_attreats it was decided on 2026-10-27 and lands with the tasks PR (ADR-0022);the release calendar page (
docs/upstream/pages/release-calendar.md) held 3776 events, drawn from apublication_upcoming_releasesfield (each event'sstartField), while the API'sPublication.upcoming_releasesanswered[]for every sampled publication; every calendar event is classedfc-event-past, future ones included, and WASDE's events stop at 2025-12-09.
Upstream terms and attribution
Data comes from USDA ESMIS (https://esmis.nal.usda.gov); this package adds no rights to
it. The pages the documentation snapshot reads state no terms of use and no copyright
line (docs/upstream/FETCHED.md, Attribution). USDA's Policies and Links page
(https://www.usda.gov/policies-and-links), to which the site's footer links, answered
403 to the capture script, so what it states stays unverified. Documentation snapshot:
docs/upstream/.
Licence
Apache-2.0. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and preview datasets publicly. Account-required full data via MCP.
Browse and query the EIA API v2 — electricity, petroleum, natural gas, coal, forecasts via MCP.
Query U.S. Census Bureau data, variables, and geography via MCP.
One governed MCP endpoint for 40+ business systems. Read-only, source-cited answers.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables access to USDA Foreign Agricultural Service trade and global production data through MCP, supporting natural language queries and tool-based data retrieval.5 npmMIT- AlicenseNot gradedqualityCmaintenanceEnables querying official Brazilian Rural Environmental Registry statement documents from the source, returning results to any MCP-compatible client over HTTP. It is read-only and billed per query with prepaid credits.MIT
- AlicenseNot gradedqualityAmaintenanceEnables bounded, read-only access to approved HEC-HMS text project files and selected scalar, gage, and control/run relationship fields through MCP tools. Returns compact source-verified answers with versions, units, counts, truncation, and blockers while enforcing configurable root, row, character, and time limits.MIT
- 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