Recipe Nutrition Calculator について
レシピ分析や栄養成分表示の作成向けに、材料行からレシピ全体と一人分の栄養を計算する MCP サーバーです。USDA FoodData Central の値と FDA の丸め規則を使い、照合できない材料は推測せずに示します。
主な機能
- 01一般的な材料の栄養情報を照会
- 02材料行を解析してレシピ合計を計算
- 03一人分の栄養値を算出
- 04FDA の栄養成分表示の丸め規則とデイリーバリューを適用
- 05倍率または食数によるレシピの換算
活用シーン
- 01一人分のカロリーと栄養素の推定
- 02Nutrition Facts 表示の作成
- 03指定量の材料の栄養情報確認
- 04食数変更後の栄養値の再計算
MCP 対応
材料照会、レシピ計算、表示値の丸め、レシピ換算のツールを MCP クライアントに公開します。ホスト型エンドポイントとローカル stdio の利用方法が記載されています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcpclaude mcp add --transport http theluckystrike-recipe-nutrition-calculator https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp{"mcpServers":{"theluckystrike-recipe-nutrition-calculator":{"type":"http","url":"https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp"}}}Cursor で開く{"servers":{"theluckystrike-recipe-nutrition-calculator":{"type":"http","url":"https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"theluckystrike-recipe-nutrition-calculator":{"type":"http","url":"https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp"}}}{"mcpServers":{"theluckystrike-recipe-nutrition-calculator":{"serverUrl":"https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Recipe Nutrition Calculator MCP
AI アシスタント向けのレシピ栄養計算:材料の行を貼り付けると、USDA FoodData Central のデータから、レシピ全体および1食分あたりのカロリー、タンパク質、脂質、飽和脂肪酸、炭水化物、食物繊維、糖類、ナトリウムを計算し、FDA Nutrition Facts のルールに従って丸めます。
ホスト型 MCP URL(サインイン不要、トークン不要):https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp
ウェブ上の栄養計算ツールとラベル作成ツール:recipetool.net
ツール
| ツール | 機能 |
|---|---|
lookup_ingredient_nutrition | 一般的なレシピ材料406品目のうち1品目について、100 g あたりの USDA 栄養素、FDC id、USDA の家庭用計量単位の重量(1カップ、1 tbsp、1個(大)、1片)、および1.5カップや3個などの分量に応じた栄養素を返します。 |
calculate_recipe_nutrition | 「2 1/4 cups flour」「1 stick butter」「2 large eggs」「1 (15 oz) can black beans」のような行を解析し、その食品の USDA 重量を使ってグラムに換算したうえで、合計値、1食分あたりの値、1食分あたりの Nutrition Facts 値を返します。一致しない行は推測せずに一覧表示します。 |
round_nutrition_label | 21 CFR 101.9(c) の丸め手順を未丸めの1食分あたりの値に適用し、2,000カロリーの DRV に基づく1日当たりの摂取基準値に対する割合を追加します。 |
scale_recipe_nutrition | 材料の行を係数で、または元の食数から別の食数へ換算し、換算後のレシピの栄養を再計算します。 |
各結果には、構造化された JSON、1段落の概要、as_of 日付、source URL、対応する recipetool.net ページへの more リンクが含まれます。
お使いのモデルが知らない情報
- 正確な USDA 値です。406品目の材料それぞれに FoodData Central の栄養素の値と FDC id が登録されています。398品目は SR Legacy から、8品目は8種類すべての栄養素が揃っている2026年4月公開の Foundation Foods から取得しています。モデルは栄養情報をおおよそで記憶し、実行ごとに回答が変わります。
- 食品ごとのカップ重量です。小麦粉1カップは125 g、詰めた黒糖1カップは220 g、シュレッドチェダー1カップは113 g、刻んだ玉ねぎ1カップは160 g、全乳1カップは244 g です。これは食品ごとの USDA 家庭用計量単位の重量であり、すべてに同じ密度を適用していません。
- ラベルの丸めルールです。カロリーは50までは5単位、それを超えると10単位に、脂質は5 g 未満では0.5 g 単位に、ナトリウムは140 mg までは5 mg 単位、それを超えると10 mg 単位に丸めます。また、炭水化物、食物繊維、糖類、タンパク質には「1 g 未満」の場合のルールがあります。21 CFR 101.9 の eCFR 本文から引用しています。
- 最新の1日当たりの摂取基準値です。脂質78 g、飽和脂肪酸20 g、ナトリウム2,300 mg、炭水化物275 g、食物繊維28 g、添加糖50 g です。
インストール
Claude.ai のカスタムコネクタ、ChatGPT の開発者モード
この URL をカスタムコネクタとして貼り付けます。トークンもサインインも不要です。
https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp
Claude Code
claude mcp add --transport http recipe-nutrition https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp
または、stdio 経由でローカル実行します:
claude mcp add recipe-nutrition -- npx -y github:theluckystrike/recipe-nutrition-calculator-mcp
Claude Desktop
claude_desktop_config.json に追加します:
{
"mcpServers": {
"recipe-nutrition": {
"command": "npx",
"args": ["-y", "github:theluckystrike/recipe-nutrition-calculator-mcp"]
}
}
}
Cursor
~/.cursor/mcp.json に追加します:
{
"mcpServers": {
"recipe-nutrition": { "url": "https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp" }
}
}
VS Code
.vscode/mcp.json に追加します:
{
"servers": {
"recipe-nutrition": { "type": "http", "url": "https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp" }
}
}
curl でテスト
curl -s -X POST https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp \
-H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"calculate_recipe_nutrition","arguments":{"lines":["2 cups all-purpose flour","1 cup sugar","1/2 cup butter"],"servings":4}}}'
プロンプトの例
- 「このレシピでクッキー1枚あたりのカロリーはいくつですか?48枚できます。」(材料リストを貼り付けます)
- 「グラノーラの Nutrition Facts パネルを、12食分で作成してください。」
- 「調理済みレンズ豆1カップには、タンパク質がどれくらい含まれていますか?」
- 「1食分あたり137.4 kcal、脂質6.8 g、ナトリウム96 mg です。ラベルにはどう記載すればよいですか?」
- 「このチリを4食分から10食分に換算して、1杯あたりのカロリーを教えてください。」
計算方法
- 重量単位は正確に換算します(1 oz = 28.349523125 g、1 lb = 453.59237 g、バター1本 = 1/4 lb)。
- カップとスプーンは、その食品に対するUSDAの家庭用計量値を使用します。米国の1カップは236.588 mL、16 tbsp、または48 tspです。材料の行に刻む、スライスする、細切りにする、または詰めると記載されている場合は、それに対応するUSDAの計量値を使用します。
- 個数で数える材料(「大きな卵2個」「にんにく3片」「中サイズの玉ねぎ1個」など)には、そのサイズに対するUSDAの重量を使用します。卵はデフォルトで大サイズ、農産物は中サイズとして扱います。
- 材料の行に缶やパッケージのサイズ(「1 (15 oz) can」など)が記載されている場合は、正味重量を使用します。
- 栄養素の量 = グラム数 x 100 gあたりのUSDA値 / 100。各行の値を合計し、分量で割ります。
- ラベル値は21 CFR 101.9(c)に準拠します。%DVは丸める前の量から計算し、最も近い整数のパーセントに丸めます。
19個のテストフィクスチャで、表の値と算術処理を検証します。期待値はscripts/expected.pyから取得します。このスクリプトはUSDAのCSVファイルを直接読み込み、サーバーコードではなく手作業で丸め規則を適用します。
データソース
DATA_SOURCES.mdを参照してください。概要として、栄養値と家庭用計量値は、パブリックドメインであるUSDA FoodData Central SR Legacy(2018-04)およびFoundation Foods(2026-04-30)のCSVダウンロードデータ(2026-11-02取得)に基づいています。丸め規則と1日あたりの基準値は、同日に取得した21 CFR 101.9のeCFRテキストに基づいています。
制限事項
- 値は記載された生の材料に対するものです。調理による損失、水分の蒸発、揚げ物に吸収される油は考慮されません。
- 一般的な材料406品目を対象としており、ブランド製品は対象外です。一致しない材料の行は
unresolved_linesに記載されます。書き換えるか、グラム数を指定してください。 - SR Legacyでは、一部の食品(いくつかのスパイス、穀物、油)について、食物繊維または糖類が報告されていません。その場合はnullとして表示され、結果には栄養素が不足している材料が一覧表示されるため、その栄養素の合計値は下限値となります。
- SR Legacyには添加糖類がありません。
round_nutrition_labelでは、添加糖類を指定した場合に反映されます。 - 照合はあいまいです。各材料の行で、照合された名称とFDC idを確認してください。
- これは公開されている基準値に基づく算術処理です。市販ラベルの作成には、ラボでの分析または規制に適合したデータベースが必要となる場合があります。FDAのガイダンスを確認してください。
開発
npm install
npm run build
npm test
npx wrangler deploy
src/core.tsには純粋なロジックが、src/data.tsには生成されたテーブルが含まれています。src/stdio.tsとsrc/worker.tsは、同じsrc/tools.tsのツールレジストリを使用する薄いエントリーポイントです。USDAのCSVダウンロードデータから、scripts/build_data.pyでテーブルを再構築します。
ライセンス
MIT
Zovo MCPコレクションの一部:https://mcp.zovo.one
同じ作者によるその他のデータサーバー
どれも無料で、APIキーは不要です。ClaudeまたはChatGPTに貼り付けられるホストURLが用意されています。
| server | tools | hosted URL |
|---|---|---|
| cups-to-grams-mcp | convert_ingredient, search_ingredients, scale_recipe, convert_oven_temperature | https://cups-to-grams-mcp.lipmichal.workers.dev/mcp |
| dscr-loan-calculator-mcp | calculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summary | https://dscr-loan-calculator-mcp.lipmichal.workers.dev/mcp |
| gold-price-per-gram-mcp | get_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_units | https://gold-price-per-gram-mcp.lipmichal.workers.dev/mcp |
| lake-level-mcp | search_lakes, get_lake_level, get_lake_history, compare_lakes | https://lake-level-mcp.lipmichal.workers.dev/mcp |
| minimum-wage-mcp | get_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wage | https://minimum-wage-mcp.lipmichal.workers.dev/mcp |
| no-tax-on-overtime-mcp | calculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibility | https://no-tax-on-overtime-mcp.lipmichal.workers.dev/mcp |
| paycheck-calculator-mcp | calculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_brackets | https://paycheck-calculator-mcp.lipmichal.workers.dev/mcp |
| uk-income-tax-salary-mcp | calculate_uk_take_home, get_uk_tax_bands, compare_salaries, marginal_rate_at_income | https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp |
| us-federal-holidays-business-days-mcp | list_federal_holidays, is_business_day, add_business_days, count_business_days, invoice_due_date | https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp |
| ab-test-sample-size-calculator-mcp | calculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_risk | https://ab-test-sample-size-calculator-mcp.lipmichal.workers.dev/mcp |
| aca-premium-tax-credit-calculator-mcp | get_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_cap | https://aca-premium-tax-credit-calculator-mcp.lipmichal.workers.dev/mcp |
| ap-score-distributions-mcp | get_ap_score_distribution, estimate_ap_percentile, compare_ap_exams, list_ap_exams, estimate_ap_score_from_composite | https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp |
| car-loan-interest-deduction-calculator-mcp | calculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credit | https://car-loan-interest-deduction-calculator-mcp.lipmichal.workers.dev/mcp |
| estate-gift-tax-exemption-calculator-mcp | get_exemption_amounts, calculate_estate_tax, check_gift, compare_years | https://estate-gift-tax-exemption-calculator-mcp.lipmichal.workers.dev/mcp |
| retirement-contribution-limits-2027-mcp | get_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_years | https://retirement-contribution-limits-2027-mcp.lipmichal.workers.dev/mcp |
| section-179-deduction-calculator-mcp | calculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_payment | https://section-179-deduction-calculator-mcp.lipmichal.workers.dev/mcp |
| student-loan-repayment-assistance-plan-calculator-mcp | calculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dates | https://student-loan-repayment-assistance-plan-calculator-mcp.lipmichal.workers.dev/mcp |
| subdomain-finder-mcp | find_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surface | https://subdomain-finder-mcp.lipmichal.workers.dev/mcp |
| uk-statutory-sick-pay-maternity-pay-calculator-mcp | calculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibility | https://uk-statutory-sick-pay-maternity-pay-calculator-mcp.lipmichal.workers.dev/mcp |
有料のバックオフィスコレクション(請求書、VAT、PDF、スプレッドシート)は https://mcp.zovo.one にあります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。