USDA MCP Server

USDA MCP Server

Enables plain English queries about US agricultural data, including historical crop statistics from NASS QuickStats and current cash grain prices from AMS Market News.

Category
访问服务器

README

USDA MCP Server

MCP server that connects USDA's NASS QuickStats and AMS Market News APIs to any MCP-compatible AI model, allowing farmers, researchers, and USDA staff to ask plain English questions about US agricultural data and get accurate, data-backed answers.

Built for the Challenge X Hackathon — Feb 28 to Apr 18, 2026. Team: Root Access


What This Does

Farmers, researchers, and USDA staff can ask plain English questions about US agricultural data and get accurate, data-backed answers — without needing to know what an API is or how to find the data themselves.

Historical data (NASS QuickStats)

  • "What was the corn yield in Iowa in 2022?"
  • "How has soybean production in Illinois trended from 2018 to 2022?"
  • "How many acres of wheat were planted in Kansas in 2021?"
  • "What price did Iowa farmers receive for corn in 2022?"
  • "What was national corn production in 2022?"

Current market prices (AMS Market News)

  • "What is the current corn price in Iowa?"
  • "What is today's soybean price in Illinois?"
  • "Where should I sell my soybeans — iowa, illinois, or nebraska?"
  • "What is the current wheat price in Kansas?"

Tools

The server exposes 4 MCP tools:

Tool Data Source What it does
get_nass_data NASS QuickStats Fast lookup for corn and soybean yield, acreage, production, price received in any state and year
query_nass_flexible NASS QuickStats Any crop, any statistic, multi-year trends, national or county level data
get_ams_price AMS Market News Current cash grain prices by location
get_ams_price_comparison AMS Market News Compare current prices across multiple states to find the best market

Project Structure

usda-mcp/
├── clients/
│   ├── nass_client.py       # NASS QuickStats API wrapper
│   └── ams_client.py        # AMS Market News API wrapper
├── server/
│   ├── main.py              # MCP server — 4 tools
│   ├── security.py          # OWASP MCP Top 10 mitigations
│   └── tools/
│       └── __init__.py
├── tests/
│   └── qa_log.csv           # Q&A evaluation log
├── demo/
│   └── app.py               # Demo interface (planned)
├── logs/
│   └── usda_nass_server.log # Auto-generated server log
├── .env                     # API keys (never committed)
├── .env.example             # Template for API keys
├── requirements.txt         # Pinned dependencies
├── SECURITY.md              # OWASP MCP Top 10 documentation
└── README.md

Setup

1. Clone the repo

git clone https://github.com/RolakeOkans/usda-mcp.git
cd usda-mcp

2. Create a virtual environment

python -m venv .venv
source .venv/bin/activate

3. Install dependencies

pip install -r requirements.txt

4. Create a .env file in the root folder

NASS_API_KEY=your_nass_key_here
AMS_API_KEY=your_ams_key_here

5. Get your API keys

NASS: Register at https://www.nass.usda.gov/developer/index.php

AMS: Register at https://mymarketnews.ams.usda.gov

Both are free and issued within minutes.


Connect to Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "usda-nass": {
      "command": "/path/to/your/python",
      "args": ["/path/to/usda-mcp/server/main.py"],
      "env": {
        "NASS_API_KEY": "your_key_here",
        "AMS_API_KEY": "your_key_here"
      }
    }
  }
}

Replace paths with your actual Python and project paths.


Verified Data — NASS QuickStats

All queries tested and confirmed working for Iowa, 2022.

Commodity Statistic Iowa 2022 Result
Corn Area planted 12,900,000 ACRES
Corn Yield 200 BU / ACRE
Corn Production 2,470,000,000 BU
Corn Price received $6.62 / BU
Soybeans Area planted 10,100,000 ACRES
Soybeans Yield 58.5 BU / ACRE
Soybeans Production 586,755,000 BU
Soybeans Price received $14.20 / BU

Verified Data — AMS Market News

Current prices confirmed working as of April 2, 2026.

Commodity Location Price
Corn Minneapolis $4.08 / bu
Soybeans Minneapolis $11.10 / bu
Corn Iowa $4.12 / bu
Corn Texas $4.90 / bu
Soybeans Illinois $11.76 / bu
Wheat Kansas $5.34 / bu

Data Sources

Source What it covers Status
NASS QuickStats Acreage, yield, production, price received — any crop, any state, any year Working
AMS Market News Current cash grain prices at elevators — 19 states + dynamic search Working
AMS Socrata Transportation costs and volumes Stretch goal
ERS Forecasted prices Stretch goal

How It Works

User asks a plain English question
        ↓
AI model reads the question and decides which tool to call
        ↓
MCP server validates and sanitizes the input
        ↓
NASS or AMS API returns the raw data
        ↓
Server scans response for security issues
        ↓
AI model interprets the data and returns a plain English answer
        ↓
All tool calls logged to logs/usda_nass_server.log

Security

This server addresses all 10 OWASP MCP Top 10 risks. See SECURITY.md for full details.

Summary:

  • API keys stored in .env, never committed, redacted from all logs
  • Read-only server — GET requests only, no write access to any USDA system
  • Input sanitization on all tool arguments
  • Rate limiting at 30 requests per minute per tool
  • Prompt injection detection on all API responses
  • Full audit logging of every tool call

Never commit your .env file. It is listed in .gitignore.


Team — Root Access

Role Owner Responsibilities
Data / APIs Morolake API research, NASS client, AMS client, MCP server, security
MCP / AI Layer [Gabriela] AI layer, demo UI
Evaluation / Security [Neyssa] Q&A testing, accuracy metrics

Hackathon

Challenge X+ USDA Timeline: Feb 28 to Apr 18, 2026 Showcase: April 18, 2026

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选