Skip to main content
Glama
Recipe Nutrition Calculator MCP

Recipe Nutrition Calculator MCP

Recipe Nutrition Calculator MCP

Recipe nutrition for AI assistants: paste ingredient lines, get calories, protein, fat, saturated fat, carbohydrate, fiber, sugars and sodium per recipe and per serving from USDA FoodData Central, rounded by the FDA Nutrition Facts rules.

Hosted MCP URL (no sign-in, no token): https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp

Nutrition calculators and label tools on the web: recipetool.net

Tools

Tool

What it does

lookup_ingredient_nutrition

USDA nutrients per 100 g for one of 406 common recipe ingredients, with its FDC id, the USDA household measures in grams (1 cup, 1 tbsp, 1 large, 1 clove), and the nutrients for an amount such as 1.5 cup or 3 each.

calculate_recipe_nutrition

Parses lines like "2 1/4 cups flour", "1 stick butter", "2 large eggs", "1 (15 oz) can black beans", converts them to grams with the USDA weights for that food, and returns totals, per-serving values and the per-serving Nutrition Facts values. Lines it cannot match are listed, not guessed.

round_nutrition_label

Applies the 21 CFR 101.9(c) rounding steps to unrounded per-serving values and adds percent Daily Value from the 2,000-calorie DRVs.

scale_recipe_nutrition

Scales ingredient lines by a factor or from one servings count to another, and recomputes the nutrition of the scaled recipe.

Every result has structured JSON, a one-paragraph summary, an as_of date, a source URL and a more link to the matching recipetool.net page.

Related MCP server: spoonacular-mcp

What it knows that your model does not

  • Exact USDA values. Each of the 406 ingredients carries the FoodData Central nutrient values and FDC id: 398 from SR Legacy and 8 from the April 2026 Foundation Foods release where that release has all eight nutrients. A model recalls nutrition roughly and changes its answer between runs.

  • Food-specific cup weights. A cup of flour is 125 g, packed brown sugar 220 g, shredded cheddar 113 g, chopped onion 160 g, whole milk 244 g. These are the USDA household measures for that food, not one density for everything.

  • The label rounding rules. Calories round to 5 up to 50 and to 10 above, fat to 0.5 g under 5 g, sodium to 5 mg up to 140 mg and to 10 mg above, with the "less than 1g" cases for carbohydrate, fiber, sugars and protein. Copied from the eCFR text of 21 CFR 101.9.

  • The current Daily Values. Fat 78 g, saturated fat 20 g, sodium 2,300 mg, carbohydrate 275 g, fiber 28 g, added sugars 50 g.

Install

Claude.ai custom connector, ChatGPT developer mode

Paste this URL as a custom connector. No token or sign-in.

https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp

Claude Code

claude mcp add --transport http recipe-nutrition https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp

Or run it locally over stdio:

claude mcp add recipe-nutrition -- npx -y github:theluckystrike/recipe-nutrition-calculator-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "recipe-nutrition": {
      "command": "npx",
      "args": ["-y", "github:theluckystrike/recipe-nutrition-calculator-mcp"]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "recipe-nutrition": { "url": "https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp" }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "recipe-nutrition": { "type": "http", "url": "https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp" }
  }
}

Test with curl

curl -s -X POST https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp \
  -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"calculate_recipe_nutrition","arguments":{"lines":["2 cups all-purpose flour","1 cup sugar","1/2 cup butter"],"servings":4}}}'

Example prompts

  • "How many calories per cookie in this recipe? It makes 48." (paste the ingredient list)

  • "Make a Nutrition Facts panel for my granola, 12 servings."

  • "How much protein is in 1 cup of cooked lentils?"

  • "I have 137.4 kcal, 6.8 g fat and 96 mg sodium per serving. What goes on the label?"

  • "Scale this chili from 4 to 10 servings and tell me the calories per bowl."

How it calculates

  • Weight units convert exactly (1 oz = 28.349523125 g, 1 lb = 453.59237 g, 1 stick of butter = 1/4 lb).

  • Cups and spoons use the USDA household measure for that food. A US cup is 236.588 mL, 16 tbsp or 48 tsp. When the line says chopped, sliced, shredded or packed, the matching USDA measure is used.

  • Counted items ("2 large eggs", "3 cloves garlic", "1 medium onion") use the USDA weight for that size. Eggs default to large, produce to medium.

  • Can and package sizes in the line ("1 (15 oz) can") use the net weight.

  • Nutrients = grams x USDA value per 100 g / 100, summed over lines, divided by servings.

  • Label values follow 21 CFR 101.9(c). Percent DV is computed from the unrounded amount and rounded to the nearest whole percent.

19 test fixtures check table values and arithmetic. The expected values come from scripts/expected.py, which reads the USDA CSV files directly and applies the rounding rules by hand, not from the server code.

Data sources

See DATA_SOURCES.md. In short, nutrient values and household measures come from the USDA FoodData Central SR Legacy (2018-04) and Foundation Foods (2026-04-30) CSV downloads, fetched on 2026-11-02, which are public domain. Rounding rules and Daily Values come from the eCFR text of 21 CFR 101.9, fetched the same day.

Limitations

  • Values are for the raw ingredients as listed. Cooking losses, water evaporation and oil absorbed in frying are not modeled.

  • 406 common ingredients, not branded products. Lines that do not match are listed under unresolved_lines. Rewrite them or give grams.

  • SR Legacy does not report fiber or sugars for a few foods (some spices, grains and oils). Those show as null and the result lists which ingredients lacked a nutrient, so totals are a lower bound for that nutrient.

  • Added sugars are not in SR Legacy. round_nutrition_label takes added sugars if you supply them.

  • Matching is fuzzy. Check the matched name and FDC id in each line.

  • This is arithmetic on published reference values. A commercial label may need lab analysis or a compliant database; check FDA guidance.

Development

npm install
npm run build
npm test
npx wrangler deploy

src/core.ts holds the pure logic and src/data.ts the generated table. src/stdio.ts and src/worker.ts are thin entries over the same tool registry in src/tools.ts. Rebuild the table with scripts/build_data.py from the USDA CSV downloads.

License

MIT

Part of the Zovo MCP collection: https://mcp.zovo.one

More data servers from the same author

Each one is free, needs no API key and has a hosted URL you can paste into Claude or ChatGPT.

server

tools

hosted URL

cups-to-grams-mcp

convert_ingredient, search_ingredients, scale_recipe, convert_oven_temperature

https://cups-to-grams-mcp.lipmichal.workers.dev/mcp

dscr-loan-calculator-mcp

calculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summary

https://dscr-loan-calculator-mcp.lipmichal.workers.dev/mcp

gold-price-per-gram-mcp

get_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_units

https://gold-price-per-gram-mcp.lipmichal.workers.dev/mcp

lake-level-mcp

search_lakes, get_lake_level, get_lake_history, compare_lakes

https://lake-level-mcp.lipmichal.workers.dev/mcp

minimum-wage-mcp

get_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wage

https://minimum-wage-mcp.lipmichal.workers.dev/mcp

no-tax-on-overtime-mcp

calculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibility

https://no-tax-on-overtime-mcp.lipmichal.workers.dev/mcp

paycheck-calculator-mcp

calculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_brackets

https://paycheck-calculator-mcp.lipmichal.workers.dev/mcp

uk-income-tax-salary-mcp

calculate_uk_take_home, get_uk_tax_bands, compare_salaries, marginal_rate_at_income

https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp

us-federal-holidays-business-days-mcp

list_federal_holidays, is_business_day, add_business_days, count_business_days, invoice_due_date

https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp

ab-test-sample-size-calculator-mcp

calculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_risk

https://ab-test-sample-size-calculator-mcp.lipmichal.workers.dev/mcp

aca-premium-tax-credit-calculator-mcp

get_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_cap

https://aca-premium-tax-credit-calculator-mcp.lipmichal.workers.dev/mcp

ap-score-distributions-mcp

get_ap_score_distribution, estimate_ap_percentile, compare_ap_exams, list_ap_exams, estimate_ap_score_from_composite

https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp

car-loan-interest-deduction-calculator-mcp

calculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credit

https://car-loan-interest-deduction-calculator-mcp.lipmichal.workers.dev/mcp

estate-gift-tax-exemption-calculator-mcp

get_exemption_amounts, calculate_estate_tax, check_gift, compare_years

https://estate-gift-tax-exemption-calculator-mcp.lipmichal.workers.dev/mcp

retirement-contribution-limits-2027-mcp

get_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_years

https://retirement-contribution-limits-2027-mcp.lipmichal.workers.dev/mcp

section-179-deduction-calculator-mcp

calculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_payment

https://section-179-deduction-calculator-mcp.lipmichal.workers.dev/mcp

student-loan-repayment-assistance-plan-calculator-mcp

calculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dates

https://student-loan-repayment-assistance-plan-calculator-mcp.lipmichal.workers.dev/mcp

subdomain-finder-mcp

find_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surface

https://subdomain-finder-mcp.lipmichal.workers.dev/mcp

uk-statutory-sick-pay-maternity-pay-calculator-mcp

calculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibility

https://uk-statutory-sick-pay-maternity-pay-calculator-mcp.lipmichal.workers.dev/mcp

The paid back-office collection (invoices, VAT, PDFs, spreadsheets) is at https://mcp.zovo.one

Available Tools

4 tools
calculate_recipe_nutritionCalculate nutrition for a whole recipe and per servingA
Read-onlyIdempotent
Inspect

Parses ingredient lines ("2 cups flour", "1 stick butter" as 8 tbsp, "3 large eggs", "1 lb ground beef"), converts cups, spoons and counted items to grams with USDA household measure weights for that specific food, and sums USDA FoodData Central nutrients. Returns per-line grams and matches, recipe totals, per-serving values, and the per-serving values rounded by the FDA Nutrition Facts rules (21 CFR 101.9) with percent Daily Value. Lines it cannot match are listed, never guessed.

NameRequiredDescriptionDefault
linesYesIngredient lines, one per item, amount first: "2 cups all-purpose flour", "1/2 cup butter", "2 large eggs", "200 g chicken breast", "1 tsp salt".
servingsNoNumber of servings the recipe makes. Default 1.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description goes well beyond them: it discloses the conversion methodology (USDA household measure weights per food), the full return payload (per-line grams and matches, totals, per-serving, FDA-rounded with %DV), and crucially the failure behavior — unmatched lines are listed, never guessed. That failure-mode disclosure is exactly the kind of context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The capability statement is front-loaded and the return-value inventory follows; no filler sentences. The first sentence is very long and packs parsing, conversion, and summation into one clause chain, which costs a little readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates fully by enumerating the return fields and the FDA rounding basis. Combined with 100% schema coverage on inputs, an agent has everything needed to call this correctly and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds real meaning by explaining how 'lines' are interpreted (amount first, household units converted to grams via USDA weights) and that 'servings' drives the per-serving outputs. It stops short of stating unit/edge-case rules for the lines array beyond the examples the schema already gives.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb chain (parses, converts, sums) with a concrete resource (recipe nutrition) and worked examples of the input format, so the agent knows exactly what it does. It never names the sibling tools it overlaps with (lookup_ingredient_nutrition for single items, round_nutrition_label for FDA rounding, scale_recipe_nutrition for rescaling), so differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scope statement (whole recipe, totals plus per-serving), but there is no explicit 'use this when' or 'use X instead' guidance. The mention of FDA rounding hints at overlap with round_nutrition_label without resolving it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_ingredient_nutritionLook up USDA nutrients for an ingredientA
Read-onlyIdempotent
Inspect

Returns USDA FoodData Central nutrient values per 100 g (calories, protein, total fat, saturated fat, carbohydrate, fiber, total sugars, sodium) for a common recipe ingredient, with its FDC id, the USDA household measures (1 cup, 1 tbsp, 1 large, 1 clove) in grams, and optionally the nutrients for an amount such as 1.5 cup or 3 large. 406 ingredients from SR Legacy and Foundation Foods, embedded, no API key. Use it instead of estimating nutrition from memory.

NameRequiredDescriptionDefault
unitNoUnit for amount: g, oz, lb, kg, cup, tbsp, tsp, fl oz, ml, or "each" for a counted item (uses the USDA medium or large size). Default g.
amountNoOptional amount to compute nutrients for, e.g. 1.5.
ingredientYesIngredient name, e.g. "cheddar cheese", "brown rice", "olive oil", "large egg".

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/closed-world, and the description adds real operational context: 406 ingredients, SR Legacy and Foundation Foods source, embedded data with no API key. What is missing is failure behavior — whether lookups are fuzzy, and what happens for an ingredient outside the 406.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the return payload before the usage directive. The nutrient enumeration in the first sentence is somewhat long but earns its place by removing guessing about which fields come back.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description fully compensates by enumerating returned fields (per-100 g macros, FDC id, household measure weights, optional amount-scaled nutrients) as well as data provenance and coverage size. An agent has enough to call it and interpret the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented, making 3 the baseline. The description adds only modest value by showing amount and unit used together ('1.5 cup or 3 large') and noting that household measures are returned in grams, but no new syntax or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: returns USDA FoodData Central nutrient values per 100 g for a single recipe ingredient, plus FDC id and household measures. The per-ingredient/per-100 g scoping implicitly separates it from recipe-level siblings, but no sibling is named, so an agent must infer the boundary from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one useful directive — 'Use it instead of estimating nutrition from memory' — which sets a positive trigger. There is no explicit when-not (e.g., whole-recipe calculations vs. single ingredient, what to do for ingredients outside the 406) and no named alternative such as calculate_recipe_nutrition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

round_nutrition_labelRound values for an FDA Nutrition Facts labelA
Read-onlyIdempotent
Inspect

Applies the FDA Nutrition Facts rounding rules from 21 CFR 101.9(c) to unrounded per-serving values: calories (under 5 = 0, nearest 5 up to 50, nearest 10 above), fat and saturated fat (nearest 0.5 g under 5 g), sodium (nearest 5 mg up to 140 mg, nearest 10 above), carbohydrate, fiber, sugars, added sugars and protein (nearest gram, "less than 1g" rules). Adds percent Daily Value from the 2,000-calorie DRVs (fat 78 g, saturated fat 20 g, sodium 2,300 mg, carbohydrate 275 g, fiber 28 g, added sugars 50 g). Rules copied from the eCFR text.

NameRequiredDescriptionDefault
kcalYesCalories per serving, unrounded.
fat_gNoTotal fat, g per serving.
carbs_gNoTotal carbohydrate, g per serving.
fiber_gNoDietary fiber, g per serving.
sugars_gNoTotal sugars, g per serving.
protein_gNoProtein, g per serving.
sat_fat_gNoSaturated fat, g per serving.
sodium_mgNoSodium, mg per serving.
added_sugars_gNoAdded sugars, g per serving.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior, so the bar is lower. The description still adds real substance: the exact rounding tiers per nutrient, the added-sugars/fiber 'less than 1g' handling, and the specific DRV values used for percent Daily Value — all beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph that front-loads the governing regulation and then enumerates rule groups efficiently; nothing is filler. The nested parentheticals make it slightly harder to scan, keeping it just below a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a pure computation tool with no output schema, the description should hint at the return shape; it names what is produced (rounded values plus percent Daily Value) and implies some outputs may be strings via the 'less than 1g' rule, but never enumerates output fields. That is a minor gap, not a blocking one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and every parameter already carries a description with units and bounds, so the baseline is 3. The description adds meaning by mapping nutrients to their specific rounding treatment (e.g., sodium rounds to 5 mg up to 140 mg, then 10), which is useful but partially redundant with the schema's unit labels.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — applies FDA Nutrition Facts rounding rules from 21 CFR 101.9(c) — to explicitly scoped inputs (unrounded per-serving values). This is clearly distinct from the sibling tools that calculate, look up, or scale nutrition; nothing overlaps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'to unrounded per-serving values' tells the agent the required input state, which implicitly positions this tool as the step after calculate_recipe_nutrition. It does not, however, explicitly name a sibling or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scale_recipe_nutritionScale a recipe and recompute its nutritionA
Read-onlyIdempotent
Inspect

Scales ingredient lines by a factor or from original to target servings (parses mixed numbers and fraction characters), then recomputes total and per-serving nutrition with USDA FoodData Central values and FDA label rounding for the scaled recipe.

NameRequiredDescriptionDefault
linesYesIngredient lines, one per item, amount first: "2 cups all-purpose flour", "1/2 cup butter", "2 large eggs", "200 g chicken breast", "1 tsp salt".
factorNoMultiply every quantity by this, e.g. 2 or 0.5. Or give servings instead.
target_servingsNoServings you want.
original_servingsNoServings the recipe makes now.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful behavioral detail beyond those annotations: parsing mixed numbers and fraction characters, using USDA FoodData Central values, and applying FDA label rounding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the core action front-loaded. The parenthetical parsing detail and nutrition sourcing/rounding are relevant and no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description appropriately states that total and per-serving nutrition are recomputed. It does not specify the exact response fields or error behavior, but it is complete enough for an agent to understand and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameter meanings are already well documented. The description still adds value by clarifying that factor and original-to-target-servings are alternative scaling modes and by noting mixed-number and fraction-character parsing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: scales ingredient lines and recomputes nutrition. It clearly conveys the scaling-plus-nutrition purpose, though it does not explicitly differentiate itself from sibling tools such as calculate_recipe_nutrition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two supported scaling modes: by a factor, or from original to target servings. This gives clear usage context, but it does not state when to prefer this tool over the related nutrition-calculation or rounding siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedcalculate_recipe_nutrition
    • First observedlookup_ingredient_nutrition
    • First observedround_nutrition_label
    • First observedscale_recipe_nutrition

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a recognizable role: single-ingredient lookup, full-recipe calculation, label rounding, and scaling. There is mild overlap between calculate_recipe_nutrition (which already returns FDA-rounded per-serving values) and round_nutrition_label, and scaling is arguably a parameter of calculation rather than a separate tool, but the descriptions draw workable boundaries.

Naming Consistency5/5

All four names follow a strict verb_noun_nutrition pattern (lookup/calculate/round/scale + object) in snake_case. The verb clearly signals the operation and the noun signals the domain object, so the pattern is fully predictable.

Tool Count5/5

Four tools is well within the well-scoped range and each maps to a distinct step in the nutrition workflow (lookup -> calculate -> round -> scale). None appears redundant padding or superfluous.

Completeness4/5

The lifecycle from ingredient data to scaled, FDA-rounded label output is covered, with unmatched lines surfaced rather than guessed. The main gap is the absence of any ingredient search/list tool, which makes it hard to discover the exact names among the 406 embedded items, plus no unit-conversion helper beyond built-in household measures.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to search for recipes, get nutritional information, find ingredients, and more through the Spoonacular Food API using natural language.
    6
    13 npm
    6
    ISC
  • F
    license
    A
    quality
    B
    maintenance
    Enables LLMs to retrieve verified macronutrient data (calories, protein, carbs, fat) for real ingredients and quantities from USDA FoodData Central, with structured caveats for uncertain matches.
    8
    -