Labsco
MCP SERVER

FoodData Central

by FelipeAdachi

Nutrition lookups from the USDA FoodData Central database — search foods, open one record in full, or pull up to twenty at once.

Food, Dining & Delivery
Summary
The USDA database, with the right call for each shape of question.

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.

What it is

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.

What you get
  • `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
Requirements

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`.

Setup effort

One command plus a key — docker run --rm -i -e TRANSPORT -e USDA_API_KEY food-data-central-mcp, then supply credentials