Dishmath

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Local restaurant math: food cost, menu price with VAT, recipe scaling and the EU allergen matrix.

VerifiedSTDIODesktop onlyLocation & Lifestyle

Overview

Dishmath's local MCP server; no sign-in required; STDIO; 4 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Dishmath in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

dishmath

Restaurant arithmetic that runs entirely on your own machine: what a plate costs to make, what to charge for it, how a recipe changes between portion counts, and which dishes a guest with an allergy must avoid. There is no account, no key and no network call — every answer is computed locally from the numbers you pass in.

The four calculations

  • Food cost — add up a dish ingredient by ingredient. Alongside the plate cost you can ask for the selling price that lands on a target food-cost percentage, and for the percentage you are really running at today's price.
  • Menu price — start from a plate cost and a target food-cost percentage. You get the net price, the price with VAT added, that price rounded up to a clean step (0.50, 1.00, …), the gross profit per plate net of tax, and the food-cost percentage the rounded price actually gives you.
  • Recipe scaling — give a recipe written for one number of portions and get every quantity rewritten for another. When the ingredients carry unit costs, the batch cost and the cost per portion come with it.
  • Allergen matrix — declare the allergens in each dish and get the dish-by-allergen table used under EU Regulation 1169/2011 (Annex II), plus the list of dishes to avoid for each of the 14 allergens. Names are accepted in English or Italian, and common names work too: "shrimp" counts as crustaceans, "dairy" as milk. The tool never guesses allergens from a dish's name — a dish with none declared is reported that way.

Money is rounded half-up to two decimals and percentages to one decimal. An optional ISO currency code (default EUR) changes only how amounts are printed.

Worked example, plate cost €3.20 at a 30% target with 10% VAT and a 0.50 rounding step:

Net price (before tax): €10.67Price incl. 10% tax: €11.74Menu price (rounded up to 0.5): €12.00Gross profit per plate (net of tax): €7.71Real food cost after rounding: 29.3%

CLI

bash
npx @reneturcios/dishmath menu_price_calculator '{"plate_cost":3.20,"target_food_cost_percent":30,"vat_percent":10,"rounding_step":0.50}'npx @reneturcios/dishmath food_cost_calculator '{"ingredients":[{"name":"flour","quantity":0.5,"unit":"kg","unit_cost":1.20}],"target_food_cost_percent":30}'npx @reneturcios/dishmath recipe_scaler '{"ingredients":[{"name":"flour","quantity":500,"unit":"g"}],"original_portions":4,"target_portions":6}'npx @reneturcios/dishmath allergen_matrix '{"dishes":[{"name":"Shrimp pasta","allergens":["shrimp","gluten"]}]}'npx @reneturcios/dishmath --version

Each tool subcommand takes a single JSON argument string and prints the result as plain text. Exit codes: 0 on success, 1 on a calculation or validation error, 2 on a usage error.

MCP

bash
npx -y @reneturcios/dishmath mcp

MCP client configuration:

json
{  "mcpServers": {    "dishmath": {      "command": "npx",      "args": ["-y", "@reneturcios/dishmath", "mcp"]    }  }}

Tools exposed over MCP: food_cost_calculator, menu_price_calculator, recipe_scaler, allergen_matrix.

Docker

bash
docker run -i ghcr.io/cloudcorprecords/dishmathdocker run --rm ghcr.io/cloudcorprecords/dishmath menu_price_calculator '{"plate_cost":3.20,"target_food_cost_percent":30,"vat_percent":10,"rounding_step":0.50}'

The container's default command is mcp, so the first form starts the stdio MCP server; any other arguments reach the CLI.

Development

bash
npm installnpm run buildnpm testnpm run dev

License

MIT — see LICENSE.

Source: README.md at commit f9dc5a8

Tools

4

food_cost_calculator

Cost of a dish from its ingredients, the price that hits your target food cost %, and your actual food cost % at the current price.

Parameterscurrencyingredientsrequiredcurrent_pricetarget_food_cost_percent

menu_price_calculator

From plate cost and target food cost: net price, price including VAT, menu price rounded up to a clean step, gross profit and real food cost after rounding.

Parameterscurrencyplate_costrequiredvat_percentrounding_steptarget_food_cost_percentrequired

recipe_scaler

Scale a recipe from N to M portions. Returns every scaled quantity, plus batch cost and cost per portion when unit costs are given.

Parameterscurrencyingredientsrequiredtarget_portionsrequiredoriginal_portionsrequired

allergen_matrix

The dish × allergen table required in the EU (Reg. 1169/2011, Annex II), with the dishes to avoid for each allergen. Accepts English, Italian or common names.

Parametersdishesrequired

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts