Nutrition MCP
io.github.AndrewVG23/nutrition-mcpVersion 0.2.2USDA FoodData Central nutrition data: search foods, compare macros, and analyze meals.
Status
Responds269 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:35 UTC
- Latency
- 269 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://docuslide-mcp-production.up.railway.app/mcpResponds269 msNo sign-in
Claude Code
claude mcp add --transport http nutrition-mcp https://docuslide-mcp-production.up.railway.app/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: nutrition-mcp
Remote MCP server URL: https://docuslide-mcp-production.up.railway.app/mcpCursor
{
"mcpServers": {
"nutrition-mcp": {
"url": "https://docuslide-mcp-production.up.railway.app/mcp"
}
}
}VS Code
code --add-mcp '{"name":"nutrition-mcp","type":"http","url":"https://docuslide-mcp-production.up.railway.app/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
14 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
analyze_mealTotals nutrients across several foods and assesses the meal.
assessment.shortfalls lists missed targets, worst first, and
assessment.over_limit lists exceeded limits. not_reported lists nutrients
with no data in the food records; those are unknown, not zero. failed
lists items left out of the total, and partial is true when there are any. | No | Yes | Yes | No |
analyze_planAnalyzes a multi-day meal plan and assesses its daily average.
Every ingredient is resolved and converted, then totaled by dish, meal,
and day, up to 400 ingredients. The assessment is of the daily average, not
the multi-day sum. per_day has each day's totals, shopping_list totals
ingredients at full recipe quantities, and failed lists ingredients missing
from the totals. The detail breakdown is large for a full week. | No | Yes | Yes | No |
analyze_recipeTotals one dish from its ingredient list and reports it per serving.
Ingredient quantities are for the whole dish, as a recipe states them.
per_serving divides by servings, whole_recipe holds the undivided totals,
and the assessment covers one serving. | No | Yes | Yes | No |
clear_profileDeletes this conversation's profile so assessments use the FDA food-label values.
cleared is false when no profile was set. | Yes | No | Yes | No |
compare_foodsPuts several foods side by side at the same serving weight.
highest_per_nutrient names the food with the most of each nutrient.
failed lists ids that could not be loaded, and partial is true when the
comparison is missing some of them. | No | Yes | Yes | No |
database_statusReports whether the local USDA database is built and what it holds.
The result counts foods by dataset and records with an ingredient statement. | No | Yes | Yes | No |
find_foods_by_nutrientRanks foods by how much of one nutrient they carry per 100 g.
The default list is lab-measured foods. Branded products are included only
when data_type is Branded. Amounts that cannot fit in 100 g, and potassium
above the potassium-chloride ceiling, are left out. Per-100 g ranking
favors foods eaten in small amounts, such as spices and dried herbs; the
category filter narrows the list to one food group. Results are paged,
and pagination.next_offset is null on the last page. | No | Yes | Yes | No |
get_food_nutritionReturns the nutrient breakdown for one food at a serving weight.
The result has macros, micronutrients, an assessment against daily
targets, USDA's verbatim ingredient statement when available, and common
portion sizes with their gram weights. ingredients_available is false when
USDA supplied no ingredient statement, which does not mean the food has no
ingredients. assessment.basis is personal_dri when a profile is set and
fda_label_dv otherwise. | No | Yes | Yes | No |
get_profileReturns this conversation's profile and the daily targets it resolves to.
profile is null when none is set, and assessments then use the FDA
food-label daily values. | No | Yes | Yes | No |
list_retailersLists configured retailers and the commerce capabilities each supports.
A retailer with integration_mode link_handoff supports product links only;
no account, cart, checkout, or order is created for it. | No | Yes | Yes | No |
prepare_retailer_handoffPackages exact retailer products into links for the user to open.
The handoff repeats the products, links, and quantities with the original
request. It does not contact the retailer, change a cart, or check out. | No | Yes | Yes | No |
resolve_ingredientsMatches ingredient names to FoodData Central foods and converts portions to grams.
Portions such as 2 tbsp, 1/2 cup, or 1 medium are converted with each
food's own measured portions, so 1 cup differs for spinach and olive oil.
Repeated ingredients are looked up once. method says how each portion was
converted. Ingredients that could not be converted are listed under
unresolved with the portions that food supports, and alternatives lists
runner-up matches with their fdc_id. Bare names such as rice or beans
match many records; names with the cooked state, such as cooked white rice,
match more precisely. About a fifth of USDA foods have a portion table. | No | Yes | Yes | No |
search_foodsSearches USDA FoodData Central by food name.
Each match has an fdc_id, its dataset, key macros per 100 g, and, for
branded products, USDA's verbatim ingredient statement.
ingredients_available is false when USDA supplied no ingredient statement
for that record. Results are paged, and pagination.next_offset is null on
the last page. | No | Yes | Yes | No |
set_profileStores a profile for this conversation so assessments use Dietary Reference Intakes.
Age- and sex-specific U.S. Dietary Reference Intakes replace the generic
food-label values. The result lists the resolved daily targets and limits.
The profile is held in memory for the conversation, replaces any earlier
profile, and is not written to disk. | Yes | No | Yes | No |
Details
- Registry status
- Active
- Published
- Nov 11, 2026
- Updated
- Nov 11, 2026
- Categories (suggested)
- DatabasesSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared