The abridged detail mode and the nutrient filter are what keep this usable: a full FoodData Central record is large, and most questions only need a handful of nutrients. The batch call matters for the same reason — comparing several foods is one response rather than several.
An MCP server over the USDA's FoodData Central API. It covers the three ways you normally query that database: find a food by keyword, open one record by its FDC ID, and fetch several records in a single call.
- `search_foods` — keyword search with optional filters for data type, brand owner and a date range, plus `page_size`
- `get_food_details` — the full nutritional and ingredient record for one food by `fdc_id`, with an abridged format and a specific nutrient list available when you do not want everything
- `get_multiple_foods` — details for a list of `fdc_ids` in one response, up to 20 items
A free USDA FoodData Central API key, supplied as `USDA_API_KEY`. Python 3.12 or newer, installed with `uv pip install -e .` from a clone; a Dockerfile is included. `TRANSPORT` selects stdio or SSE — the SSE mode binds `HOST` and `PORT` (8050 by default) and clients connect to `http://localhost:8050/sse`.
One command plus a key — docker run --rm -i -e TRANSPORT -e USDA_API_KEY food-data-central-mcp, then supply credentials
