Skip to main content
Glama

Server Details

Read-only kitchen costing, recipe scaling, UK GP, starter menus, and prep lists for chefs.

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 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct task: prep list building, GP calculation, recipe costing, starter recipe prep sheets, starter menus, and starter recipe listing. The closest pair, build_prep_list vs get_recipe_prep_sheet, could momentarily confuse (both output 'prep' artifacts), but the descriptions make clear that one uses user-supplied par levels and the other scales ChefSums starter recipes to covers.

Naming Consistency5/5

All six tools use snake_case verb_noun or verb_entity patterns (build_prep_list, calculate_gp, cost_recipe, get_recipe_prep_sheet, get_starter_menu, list_starter_recipes). The convention is predictable and readable throughout.

Tool Count5/5

Six tools is well-scoped for a focused UK kitchen costing/prep server. Each tool earns its place, covering prep, GP, recipe costing, and the starter library without redundancy.

Completeness4/5

The surface covers the core lifecycle: browse starter recipes, get menus and scaled prep sheets, cost arbitrary recipes, calculate GP, and build prep lists. Minor gaps exist (no persistent recipe save/update, no way to look up a saved recipe by slug outside the starter library), but agents can work around these via link-based recipe handoff.

Available Tools

6 tools
build_prep_listBuild a prep listA
Read-onlyIdempotent
Inspect

Build a kitchen prep list from par levels: for each item give the par (the amount you want ready for service) and the amount on hand; prep quantity = par minus on hand, never below zero. Groups items by station.

NameRequiredDescriptionDefault
itemsYesItems to prep, 1 to 200. Each needs a name, a par level and the amount on hand in the same unit; unit and station are optional.
titleNoOptional title, e.g. 'Friday larder'.

Output Schema

NameRequiredDescription
itemsYes
titleYes
by_stationYes
items_totalYes
items_to_prepYes
free_template_urlYes
items_already_at_parYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the bar is low. The description adds genuine behavioral substance beyond that: the prep quantity formula, the floor at zero, and the grouping-by-station output structure — none of which are stated in the annotations.

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 outcome, with no filler. It is slightly dense with parentheticals but every clause carries real information; only minor tightening is possible.

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?

For a read-only, non-destructive tool with a full output schema and 100% parameter coverage, the description supplies the one thing structured fields cannot: the calculation rule and grouping behavior. Nothing an agent needs to call this correctly is missing.

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 baseline is 3. The description earns above baseline by explaining the semantics behind the fields — par as 'the amount you want ready for service', on_hand as the counterpart, and the derived prep quantity that no schema field defines.

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 ('Build a kitchen prep list from par levels') and the exact computation involved. It does not explicitly contrast with the closest sibling get_recipe_prep_sheet, so sibling differentiation is left implicit rather than stated.

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?

The par-level framing implies when the tool applies (you have par levels and on-hand counts to reconcile), but there is no explicit when-to-use/when-not guidance and no mention of get_recipe_prep_sheet as the alternative for a recipe-derived sheet. Usage is inferable but not directed.

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

calculate_gpCalculate GPA
Read-onlyIdempotent
Inspect

UK gross profit (GP) calculator for food and drink. mode 'gp_from_price': give cost_ex_vat and selling_price_inc_vat to get GP % and GP per sale (VAT is removed first, as UK hospitality measures it). mode 'price_from_gp': give cost_ex_vat and target_gp_pct to get the menu price needed.

NameRequiredDescriptionDefault
modeYesgp_from_price or price_from_gp.
cost_ex_vatYesCost of one item/portion, ex-VAT.
vat_rate_pctNoVAT rate. Default 20; use 0 for zero-rated items.
target_gp_pctNoTarget GP %. Required for price_from_gp.
selling_price_inc_vatNoMenu price inc VAT. Required for gp_from_price.

Output Schema

NameRequiredDescription
modeYes
gp_pctYes
verdictYes
more_infoYes
cost_ex_vatYes
gross_profitYes
vat_rate_pctYes
food_cost_pctYes
net_price_ex_vatYes
selling_price_inc_vatYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: VAT is stripped before GP is computed because 'UK hospitality measures it' this way, which explains the internal calculation order an agent could not infer from the schema.

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?

Two sentences, front-loaded with the tool's identity and domain, then the two modes in parallel structure. No filler and nothing that could be dropped without losing signal.

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?

An output schema exists, so return values need not be described, and annotations carry the safety profile. Both modes are fully specified; the only gap is that vat_rate_pct is never referenced in prose, leaving the zero-rated override discoverable only via the schema.

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% and the schema already flags mode-conditional requirements, but the description adds the mode→parameter pairing in one compact statement and clarifies that selling_price_inc_vat is VAT-inclusive while cost_ex_vat is not. It omits any mention of vat_rate_pct and its default of 20.

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 ('UK gross profit (GP) calculator for food and drink') and immediately enumerates its two operating modes. An agent can distinguish this pure calculator from the recipe/costing siblings (cost_recipe, build_prep_list) 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 Guidelines4/5

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

Gives clear per-mode usage conditions: 'gp_from_price' with cost_ex_vat + selling_price_inc_vat, 'price_from_gp' with cost_ex_vat + target_gp_pct. It does not state when to prefer this over sibling tools like cost_recipe, nor any exclusions, so it stops short of full routing guidance.

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

cost_recipeCost a recipeA
Read-onlyIdempotent
Inspect

Cost any recipe from its ingredients. For each ingredient give the pack price, the pack size and the quantity used (same unit as the pack size, e.g. grams). Returns each line cost, batch cost, cost per portion and a suggested menu price from a target food cost % (default 30%), ex-VAT and inc-VAT. open_in_prepsheet_url opens this exact recipe in the free ChefSums tool (no sign-in), where the user can edit, scale, print and save it; the recipe travels in the link itself and is not stored by ChefSums.

NameRequiredDescriptionDefault
portionsYesHow many portions the batch makes.
ingredientsYesThe recipe's ingredients, 1 to 100 lines. Each line needs a name, the ex-VAT pack price, the pack size and the quantity used in the same unit as the pack size.
recipe_nameNoOptional dish name.
vat_rate_pctNoVAT rate for the inc-VAT price. Default 20 (UK standard).
target_food_cost_pctNoTarget food cost as % of the ex-VAT price. Default 30.

Output Schema

NameRequiredDescription
portionsYes
batch_costYes
ingredientsYes
recipe_nameYes
vat_rate_pctYes
target_gp_pctYes
cost_per_portionYes
target_food_cost_pctYes
open_in_prepsheet_urlYes
suggested_price_ex_vatYes
suggested_price_inc_vatYes
premium_price_ex_vat_at_75_gpYes
premium_price_inc_vat_at_75_gpYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely non-derivable detail: the recipe 'travels in the link itself and is not stored by ChefSums', which tells the agent about persistence and privacy. The ex-VAT/inc-VAT and default 30% food cost statements are also useful framing, though return-field detail partly duplicates the output schema.

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 purpose before the output/environment details. The second sentence is long and semicolon-packed, but every clause carries distinct information (outputs, link behaviour, non-persistence).

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?

Five parameters, a nested ingredient array and a rich annotation set are all covered, and the description explains the one output field (open_in_prepsheet_url) an agent would otherwise have to discover. With an output schema present, return values needn't be spelled out further; only explicit sibling routing is missing.

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 the schema already documents portions, pack_price, pack_size, quantity_used and the two percentage defaults. The description reinforces the key constraint ('same unit as the pack size, e.g. grams') but adds no semantics the schema doesn't already carry — baseline 3 is correct.

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?

Opens with a specific verb + resource ('Cost any recipe from its ingredients') and immediately enumerates the outputs (line cost, batch cost, cost per portion, suggested menu price). This is clearly separable from siblings like calculate_gp and build_prep_list without opening any schema.

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?

The when-to-use is implied by the purpose ('cost a recipe') but no sibling is named and no when/when-not condition is stated — e.g. nothing tells the agent whether to use this or calculate_gp for margin work. The sentence about open_in_prepsheet_url describes a downstream action, not tool selection.

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

get_recipe_prep_sheetGet a recipe prep sheetA
Read-onlyIdempotent
Inspect

Get a printable-style prep sheet for one ChefSums starter recipe, scaled to a number of covers (portions): every ingredient quantity scaled, the method, and the costing (batch cost, cost per portion, suggested menu price ex and inc 20% VAT). Example: slug 'cottage-pie', covers 80.

NameRequiredDescriptionDefault
slugYesRecipe slug from list_starter_recipes, e.g. 'cottage-pie'.
coversNoNumber of portions to scale to. Defaults to the recipe's base portions.

Output Schema

NameRequiredDescription
nameYes
noteYes
slugYes
coversYes
costingYes
recipe_urlYes
ingredientsYes
method_stepsYes
scale_factorYes
base_portionsYes
open_in_prepsheet_urlYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds value beyond that by disclosing the shape of the output (scaled quantities + method + costing with 'ex and inc 20% VAT') and its printable framing, though it says nothing about pagination or failure behavior for an unknown slug.

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?

One front-loaded sentence that names the resource, the scope, and the payload, followed by a compact example. Efficient, though the example overlaps with the example already present in the schema's slug description.

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 an output schema, rich annotations, and fully described parameters, the description needs only to frame what the tool produces, which it does. The remaining gap is sibling routing against build_prep_list and cost_recipe, which would help an agent choose 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 coverage is 100%, so both parameters are already documented, including the slug source and the default-to-base-portions behavior for covers. The description largely restates that ('scaled to a number of covers (portions)', 'slug cottage-pie, covers 80') rather than adding new semantics, so the baseline of 3 applies.

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 ('Get a printable-style prep sheet for one ChefSums starter recipe') and enumerates exactly what the sheet contains: scaled ingredient quantities, method, and costing with VAT. This clearly separates it from cost_recipe and calculate_gp, which cover only the costing slice.

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 ('one recipe', 'scaled to a number of covers') and by the worked example, but the description never states when to prefer this over build_prep_list or cost_recipe. There are no explicit exclusions or alternative routing.

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

get_starter_menuGet a starter menuA
Read-onlyIdempotent
Inspect

Get ChefSums's ready-costed starter menu for a UK venue type. With no venue, lists the venue types (pub, cafe, restaurant, takeaway) and their dishes. With a venue, returns every dish with its menu price, ingredient cost per portion, food cost % and GP % (prices ex-VAT, plus inc 20% VAT).

NameRequiredDescriptionDefault
venueNoOne of pub, cafe, restaurant, takeaway. Omit to list the venue types.

Output Schema

NameRequiredDescription
menuYes
venuesYes
more_infoYes

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 safety, and the description adds genuine domain context beyond them: prices are ex-VAT with an inc-20%-VAT figure, and each dish carries menu price, ingredient cost per portion, food cost % and GP %. It doesn't mention data freshness or whether the starter menu is static, but the economic framing is substantive.

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 the no-venue case, then the with-venue case, then the pricing caveat — a logical order. Slightly dense and re-enumerates the venue types already listed in the schema, which is minor redundancy.

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?

Despite an output schema existing, the description still conveys the shape and units of the return payload and the VAT convention, which is exactly what an agent needs to interpret results. With one optional enum param and full annotations, nothing material is missing.

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% and the enum already documents the four venue values, so the baseline would be 3. The description earns above baseline by explaining what each parameter mode actually yields (list of venue types vs per-dish cost breakdown), which the schema does not convey.

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 ('Get ChefSums's ready-costed starter menu for a UK venue type') and clearly distinguishes its two operating modes. It does not name or differentiate itself from siblings like calculate_gp or cost_recipe, so an agent can't tell from the description alone why it should pick this over those.

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?

Explicitly explains the two invocation modes: omit the venue to list venue types, supply a venue to get full dish economics. This is clear usage context, but there is no guidance on when this tool is preferable to the costing siblings (calculate_gp, cost_recipe), nor any exclusions.

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

list_starter_recipesList starter recipesA
Read-onlyIdempotent
Inspect

List ChefSums's library of pre-costed UK starter recipes (pub, cafe, restaurant and takeaway dishes) with their base portions and ingredient cost per portion in GBP. Use the slug with get_recipe_prep_sheet. Optional 'search' filters by name (case-insensitive).

NameRequiredDescriptionDefault
searchNoOptional text to filter recipe names, e.g. 'chicken'.

Output Schema

NameRequiredDescription
countYes
recipesYes
more_infoYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds that prices are pre-computed in GBP and that the search filter is case-insensitive, which is modest but real behavioral context; the return payload is already described by the output schema, so that detail is largely duplicative.

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 with the resource and its contents front-loaded, then the workflow hint. The parenthetical enumerating venue types adds color but is the only slightly expendable phrase.

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 one optional parameter, full schema coverage, rich annotations and an output schema, the description covers everything an agent needs: what is returned, currency, filtering behavior, and the follow-up call. No meaningful gap remains.

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% for the single parameter, so the baseline is 3. The description confirms 'search' filters by name and adds the case-insensitive behavior and examples of intended use, but adds no syntax or matching rules beyond that.

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 (list pre-costed UK starter recipes) and enriches it with scope details: pub/cafe/restaurant/takeaway coverage and GBP cost per portion. It does not, however, distinguish itself from the close sibling get_starter_menu, so the boundary between the two is left implicit.

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?

Gives a concrete downstream workflow ("Use the slug with get_recipe_prep_sheet"), which tells the agent where this tool fits in a chain, and notes the filter is optional. There is no explicit when-not guidance or contrast against get_starter_menu or build_prep_list.

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. 2 tool updates
    • Changedbuild_prep_list1 field changed
      • addedInput schema / properties / items / description
        Added value: +"Items to prep, 1 to 200. Each needs a name, a par level and the amount on hand in the same unit; unit and station are optional."
    • Changedcost_recipe1 field changed
      • addedInput schema / properties / ingredients / description
        Added value: +"The recipe's ingredients, 1 to 100 lines. Each line needs a name, the ex-VAT pack price, the pack size and the quantity used in the same unit as the pack size."
  2. 6 tool updates
    • First observedbuild_prep_list
    • First observedcalculate_gp
    • First observedcost_recipe
    • First observedget_recipe_prep_sheet
    • First observedget_starter_menu
    • First observedlist_starter_recipes

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides read-only access to daily trading figures for multi-site restaurant groups, detecting anomalies in control blocks such as void rates and labor percentages to uncover subtle financial leaks.
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables interactive recipe costing and menu-item pricing with deterministic math, including waste and margin calculations, and distinguishes whether figures came from the calculator or the model.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides hospitality intelligence tools for restaurant optimization, including menu profitability analysis, food cost calculation, reservation management, review sentiment analysis, and allergen checking.
    0
    37 PyPI
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources