Skip to main content
Glama

Server Details

Calories and nutrition for any food, chain meal or barcode, and meal ideas for a goal and diet.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 19 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
GoodTurnStudio/goodturn-mcp
GitHub Stars
0
Server Listing
goodturn-mcp

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation4/5

get_barcode_nutrition and get_food_nutrition both return nutrition and could be confused, but the barcode-vs-name/amount input distinction is clearly documented. get_meal_ideas is cleanly separate, targeting meal suggestions rather than lookup.

Naming Consistency5/5

All three tools follow the same get_<noun> snake_case pattern (get_barcode_nutrition, get_food_nutrition, get_meal_ideas). Fully predictable and consistent.

Tool Count4/5

Three tools is lean but each covers a distinct job (barcode lookup, named-food lookup, meal ideas) for a narrow nutrition domain. Slightly thin but not a mismatch for the stated scope.

Completeness4/5

Covers the core nutrition retrieval paths—packaged products, generic/chain foods/meals, and meal suggestions—with rich output. Minor gaps like no food search or comparison, but no dead ends for typical lookups.

Available Tools

3 tools
get_barcode_nutritionNutrition for a packaged product by barcode, with UK traffic lightsA
Read-onlyIdempotent
Inspect

Nutrition for a packaged product by barcode, with UK traffic lights. For requests like "is this barcode high in sugar?", "how many calories in this?" after a scan, or "what's the salt in 5000157024886?". Returns per 100 g (or 100 ml) and per serving values, traffic lights for fat, saturates, sugars and salt, Nutri-Score, allergens and a Halal or Not? link for checking the ingredients.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesBarcode digits (8 to 14).
servingsNoNumber of servings to total up (0.25 to 20).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing the return payload: per 100 g/ml and per serving values, traffic lights for fat/saturates/sugars/salt, Nutri-Score, allergens and a Halal link. It does not say what happens with an unknown barcode, but for a read-only lookup that is a minor gap.

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?

Front-loaded with the purpose, then usage examples, then return contents in three tight sentences with no filler. The opening sentence duplicates the title verbatim, a minor redundancy, but everything else earns its place.

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?

With no output schema, the description carries the burden of explaining return values and does so thoroughly (units, traffic lights, Nutri-Score, allergens, Halal link). The parameter surface is small and fully covered by the schema, so the definition is nearly complete; only failure/edge-case behaviour is unaddressed.

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 description coverage is 100%, with both the barcode format (8-14 digits) and the servings range already documented in the schema, so the baseline is 3. The description's mention of 'per serving values' loosely ties to the servings parameter but repeats what the schema description ('number of servings to total up') already conveys, adding little new meaning.

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+resource+scope: nutrition for a packaged product retrieved by barcode, with UK traffic lights. This scope implicitly separates it from the broader get_food_nutrition and get_meal_ideas siblings, but the description never names them, so the differentiation is inferential rather than explicit.

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?

Three concrete example requests ('is this barcode high in sugar?', 'how many calories in this?' after a scan, 'what's the salt in 5000157024886?') give clear situational context for when to reach for this tool. There are no stated exclusions or explicit pointers to the sibling tools, so it stops short of a full routing rule.

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

get_food_nutritionCalories and macros for a food, dish or product, for the amount the user saysA
Read-onlyIdempotent
Inspect

Calories and macros for a food, dish or product, for the amount the user says. For requests like "how many calories in a Big Mac?", "protein in 200g chicken breast", "calories in chicken biryani", "a slice of pepperoni pizza", "a large latte" or a whole meal like "2 eggs, 2 slices of toast and a coffee". Takes the whole amount and food in q, or grams or servings separately. Generic foods and dishes (thousands, including fast food and restaurant dishes) use USDA values with real portion weights (slice, cup, small, medium, large, one item); brands come from Open Food Facts. Chain items ("McDonald's large fries", "a Greggs sausage roll", "KFC Zinger burger", "grande latte from Starbucks", "6 inch Italian BMT from Subway", "20 piece McNuggets") use the chain's own published figures for that size, UK or US by country, and return a chain object (name, region, item, size, weight_published); when the chain doesn't publish a weight, amount.grams is null and per_100 values are null. For a chain item not in the table, a typical USDA version is used and the say line says so. A whole meal returns items (each food with its amount and nutrition) and total. Returns nutrition for the amount, per_100 values, portions, UK traffic lights (per 100 g, or per 100 ml for drinks) and caffeine_mg for drinks that have it.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe food or meal, optionally with amounts, for example 200g chicken breast, a large banana, or 2 eggs and a slice of toast.
gramsNoAmount in grams (1 to 5000). Overrides any amount in q.
countryNoTwo-letter country code. Picks UK or US chain figures (GB and IE get UK ones) and prefers local versions of branded products. Default from the request.
servingsNoNumber of servings or items (0.25 to 20).

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare the read-only/idempotent/open-world profile, and the description adds substantial behavior beyond that: data provenance (USDA, Open Food Facts, chain-published figures), region selection (UK vs US by country), explicit fallback to a typical USDA version for unknown chain items, and the null-return contract when a chain publishes no weight. This is exactly the kind of context structured fields 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.

Conciseness3/5

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

Purpose is front-loaded in the first sentence, which is good, but the remainder is a single dense block that enumerates many chain examples and edge cases at length. Much of the enumeration repeats the same pattern and could be trimmed without losing information.

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?

With no output schema, the description carries the return-value burden itself and does so: per-amount nutrition, per_100 values, portions, UK traffic lights, caffeine_mg for drinks, a chain object with named fields, and items+total for meals. An agent has everything needed to call and interpret the result.

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, but the description adds real meaning: q may hold a whole meal with quantities, grams/servings may be supplied separately, and country drives which chain figures (GB/IE -> UK) are used. It goes modestly beyond the schema text without fully restating it.

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+resource (calories/macros for a named food, dish or product) and scopes it to the amount the user gives, with concrete example inputs. It clearly implies a name-based lookup distinct from a barcode lookup, but it never names the siblings get_barcode_nutrition or get_meal_ideas to draw the boundary explicitly.

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?

Rich worked examples establish when the tool applies (single foods, sized portions, chain items, whole meals) and it describes how q vs grams vs servings are combined and overridden. It lacks explicit when-not guidance and any routing to the two sibling tools, so the alternative-selection condition is left implicit.

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

get_meal_ideasSimple meal ideas by goal, diet and meal, with rough macrosA
Read-onlyIdempotent
Inspect

Simple meal ideas by goal, diet and meal, with rough macros. For requests like "give me a high protein halal dinner idea", "a quick vegan lunch", "cheap vegetarian breakfast ideas". Goals: high protein, low carb, budget, quick, high fibre. Diets: vegetarian, vegan, pescatarian, halal. Meals: breakfast, lunch, dinner, snack. The user's words can go in q instead. Ideas rotate daily. It does not set calorie or weight targets; a weight-loss request gets lighter, filling ideas (goal lighter, 450 calories or less) and a pointer to a doctor or dietitian, with no shop links.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNoHow many ideas, 1 to 8. Default 3.
qNoFree text, for example high protein halal dinner.
dietNoDiet: vegetarian, vegan, pescatarian or halal.
goalNoGoal: high protein, low carb, budget, quick or high fibre.
mealNoMeal: breakfast, lunch, dinner or snack.
countryNoTwo-letter country code for the shop links (US, GB and IE get local Amazon links). Default from the request.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, non-destructive, openWorld, idempotent), but the description adds real behavioral context: ideas rotate daily, weight-loss requests yield lighter filling ideas at 450 calories or less and omit shop links. It's strong disclosure, though it never describes the shape of the response beyond 'rough macros' and shop links.

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?

Front-loaded with purpose, then examples, then boundaries, all in a compact block. It loses a little economy by re-listing the goal/diet/meal values that the schema already enumerates, but every sentence otherwise carries usable information.

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?

With no output schema, the description compensates by explaining what comes back (rough macros, shop links) and how special cases behave (rotation, weight-loss mode, no shop links). Combined with full schema coverage and safety annotations, an agent has everything needed to call it correctly.

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 description coverage is 100%, so all six parameters are already documented with their defaults and allowed values. The description mostly restates the goal/diet/meal enumerations the schema already contains and only lightly clarifies intended use of q and country. Baseline 3 is appropriate when the schema does the heavy lifting.

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 (get) and resource (simple meal ideas) plus the axes that shape the result (goal, diet, meal, rough macros). This is clearly distinct from the sibling nutrition-lookup tools (get_food_nutrition, get_barcode_nutrition), which fetch data rather than generate suggestions. An agent can route to it without opening the schema.

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

Usage Guidelines5/5

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

Gives concrete triggering phrasings ('high protein halal dinner idea', 'a quick vegan lunch'), enumerates the valid goal/diet/meal values, and explains the q escape hatch for free-form input. It also states the exclusion: no calorie/weight targets, plus the specific weight-loss fallback behavior and a doctor/dietitian pointer.

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. 1 tool update
    • Changedget_meal_ideas3 fields changed
      • changedInput schema / properties / diet / description
        Previous value: -"vegetarian, vegan, pescatarian or halal."New value: +"Diet: vegetarian, vegan, pescatarian or halal."
      • changedInput schema / properties / goal / description
        Previous value: -"high protein, low carb, budget, quick or high fibre."New value: +"Goal: high protein, low carb, budget, quick or high fibre."
      • changedInput schema / properties / meal / description
        Previous value: -"breakfast, lunch, dinner or snack."New value: +"Meal: breakfast, lunch, dinner or snack."
  2. 3 tool updates
    • First observedget_barcode_nutrition
    • First observedget_food_nutrition
    • First observedget_meal_ideas

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to a comprehensive food database with 300,000+ items, enabling nutritional data lookups, food searches, and barcode scanning with all processing happening locally for privacy and speed.
    207
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to track daily calorie consumption by logging meals through natural language and searching a comprehensive food database. It provides daily summaries, weekly reports, and persistent SQLite storage to monitor dietary trends and goals.
    13 npm
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables tracking food intake and nutrition using the USDA FoodData Central database. Supports logging meals, setting daily nutrition goals, viewing food diaries, and analyzing nutrition trends over time with local SQLite storage.
    11 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.