Dishmath

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 7, 2026

本機餐廳計算:食品成本、含增值稅的菜單價格、食譜縮放以及歐盟過敏原矩陣。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

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

已驗證STDIO僅桌面位置與生活

概覽

Dishmath 的本機 MCP 服務;無需登入;STDIO;4 個工具。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Dishmath,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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.

來源:README.md,提交 f9dc5a8

工具

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.

輸入參數currencyingredients必填current_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.

輸入參數currencyplate_cost必填vat_percentrounding_steptarget_food_cost_percent必填

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.

輸入參數currencyingredients必填target_portions必填original_portions必填

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.

輸入參數dishes必填

版本歷史

1
  1. v0.1.0最新Nov 4, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分