mcpField
D
dishmath

dishmath

ローカル
github.com/CloudCorpRecordsビジネス・マーケティング01 週間前に更新

dishmath について

dishmathは、飲食店向けのローカル計算サーバーです。食材原価、VAT込みのメニュー価格、レシピの分量調整、EUのアレルゲン確認を本機で行い、MCPとコマンドラインから利用できます。

主な機能

  1. 01食材ごとの料理原価計算
  2. 02VATと丸めを含む価格設定
  3. 03レシピの分量と原価の調整
  4. 0414品目のEUアレルゲン表

活用シーン

  1. 01料理の原価と目標販売価格の算出
  2. 02VAT込みメニュー価格の設定
  3. 03人数に合わせた食材量の調整
  4. 04アレルゲンを含む料理の確認

MCP 対応

MCPクライアントに `food_cost_calculator`、`menu_price_calculator`、`recipe_scaler`、`allergen_matrix` を提供します。入力値に基づく計算は本機で行われます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-dishmath": {
"command": "npx",
"args": [
"-y",
"@reneturcios/dishmath"
]
}
}
}
起動コマンドnpx -y @reneturcios/dishmath

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/dishmath0.1.0
ocighcr.io/cloudcorprecords/dishmath:0.1.0

ツール

4

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
currencystringいいえ通貨コード(例:USD)。
ingredientsarrayはいこの呼び出しの食材。
current_pricenumberいいえ現在の価格値。
target_food_cost_percentnumberいいえこの呼び出しの目標食材原価率。

詳細

dishmath

すべてお使いのマシン上で実行されるレストランの計算ツールです。料理の原価、販売価格、ポーション数に応じたレシピの変更、アレルギーのあるお客様が避けるべき料理を計算できます。アカウントもキーもネットワーク通信も不要です。すべての結果は、渡された数値をもとにローカルで計算されます。

4種類の計算

  • 食材原価 — 料理の食材原価を1つずつ合計します。皿あたりの原価に加えて、目標食材原価率に合わせた販売価格と、現在の価格で実際に適用されている食材原価率も計算できます。
  • メニュー価格 — 皿あたりの原価と目標食材原価率を指定します。税抜価格、VAT加算後の価格、指定した単位(0.50、1.00、…)で切り上げた価格、税抜きの皿あたり粗利益、丸めた価格での実際の食材原価率が得られます。
  • レシピのスケーリング — あるポーション数向けに書かれたレシピを指定すると、別のポーション数に合わせて各材料の分量を書き換えます。材料に単価が設定されている場合は、バッチ全体の原価とポーションあたりの原価も計算します。
  • アレルゲンマトリックス — 各料理に含まれるアレルゲンを指定すると、EU規則1169/2011(附属書II)に基づく料理別・アレルゲン別の表と、14種類の各アレルゲンを避けるべき料理の一覧が得られます。英語名とイタリア語名のどちらも受け付け、一般的な呼び名も使えます。「shrimp」は甲殻類、「dairy」は乳として扱われます。このツールは料理名からアレルゲンを推測しません。アレルゲンが何も指定されていない料理は、そのように報告されます。

金額は四捨五入して小数点以下2桁、割合は小数点以下1桁で表示されます。任意のISO通貨コード(既定値は EUR)を指定すると、金額の表示形式のみが変わります。

計算例:皿あたりの原価が€3.20、目標食材原価率が30%、VATが10%、丸め単位が0.50の場合:

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

CLI

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

各ツールのサブコマンドは、単一のJSON引数文字列を受け取り、結果をプレーンテキストで出力します。終了コード:成功時は0、計算エラーまたは検証エラー時は1、使用方法のエラー時は2です。

MCP

npx -y @reneturcios/dishmath mcp

MCP クライアントの設定:

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

MCP 経由で公開されるツール:food_cost_calculator、menu_price_calculator、recipe_scaler、allergen_matrix。

Docker

docker run -i ghcr.io/cloudcorprecords/dishmath
docker 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}'

コンテナの既定のコマンドは mcp です。そのため、最初の形式ではstdio MCP サーバーが起動し、それ以外の引数はCLIに渡されます。

開発

npm install
npm run build
npm test
npm run dev

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。