Search foods, compare nutrients, and look up the full USDA FoodData Central database.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Search foods, compare nutrients, and look up the full USDA FoodData Central database via MCP. STDIO or Streamable HTTP.
Public Hosted Server: https://usda.caseyjhand.com/mcp
Five tools covering the USDA FoodData Central workflow β from discovery to detailed nutrient analysis:
| Tool | Description |
|---|---|
usda_search_foods | Search foods by keyword across SR Legacy, Foundation, Survey FNDDS, and Branded data sources, with nutrient preview and pagination |
usda_get_food | Full nutrient profile for one food by FDC ID, with optional per-portion scaling (g, oz, lb, kg, or serving) |
usda_get_foods | Batch nutrient fetch for 2β20 FDC IDs in a single request; failed IDs reported in failed[] instead of aborting |
usda_compare_foods | Side-by-side nutrient comparison for 2β5 foods, formatted as a markdown table scaled to a common gram basis |
usda_list_nutrients | Static FDC nutrient reference table (~150 nutrients) with IDs, names, units, and categories β no API call required |
usda_search_foodsSearch USDA FoodData Central foods by keyword, UPC/GTIN code, or ingredient.
"Branded" in dataType for packaged products or UPC lookup"General Mills") β setting brandOwner without dataType searches Branded, since only Branded records carry a brand owner"Poultry Products", "Vegetables and Vegetable Products")pageSize (up to 50) and pageNumberusda_get_food for the full profileusda_get_foodFull nutrient profile for one food by FDC ID.
nutrients[]) with amounts per 100gquantity + unit to scale values (e.g. quantity=200, unit="g" β per-200g values)unit="serving" scales to the food's first defined portion weightallPortions[]) alongside the serving infonutrients[] to specific IDs strongly reduces context size for common queries (use usda_list_nutrients to look up IDs)usda_get_foodsBatch nutrient fetch for 2β20 FDC IDs.
nutrients[] filter strongly recommended β full profiles for 20 foods are largefailed[] carries IDs that returned no data, so one missing food doesn't abort the batchusda_get_food calls when you already have FDC IDsusda_compare_foodsSide-by-side nutrient comparison for 2β5 foods.
nutrients[] for specific comparisons (e.g. just iron and vitamin C)quantity + unit)usda_list_nutrientsFDC nutrient reference table β all ~150 tracked nutrients.
category filter: macronutrients, vitamins, minerals, lipids, amino_acids, other"vitamin C") to FDC IDs (1162) for use in nutrients[] params| Type | Name | Description |
|---|---|---|
| Resource | usda://food/{fdcId} | Full nutrient profile for a specific food by FDC ID β same data as usda_get_food without portion scaling |
| Resource | usda://nutrients | Complete FDC nutrient reference list β all ~150 tracked nutrients with IDs, names, units, and categories |
All resource data is also reachable via tools. Use usda_search_foods to discover FDC IDs before reading food resources.
Built on @cyanheads/mcp-ts-core:
none, jwt, oauthin-memory, filesystem, Supabase, Cloudflare KV/R2/D1USDA FDC-specific:
api.nal.usda.gov/fdc/v1)/foods) with per-food partial failure reportingAgent-friendly output:
dataType) on every food result so callers know whether they're reading curated research data or label-derived branded valuesusda_get_foods, usda_compare_foods) return successes alongside structured failed[] / missingData[] entries rather than failing the whole requestA public instance is available at https://usda.caseyjhand.com/mcp β no installation required. Point any MCP client at it via Streamable HTTP:
Add the following to your MCP client configuration file. See data.gov API key signup to generate a free API key.
Or with npx (no Bun required):
Or with Docker:
For Streamable HTTP, set the transport and start the server:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/usda-mcp-server)<a href="https://allmcps.com/mcp/usda-mcp-server"><img src="https://allmcps.com/api/badge/usda-mcp-server?style=directory" alt="Usda MCP Server on AllMCPs" /></a>