リファレンス · 全36ツール · 7分野

お使いのAIにできること、すべて

ツールを直接呼び出す必要はありません。Claude、ChatGPTなどのMCPクライアントに話しかけるだけで、AIが適切なツールを選びます。ここでは、Nutrition MCPサーバーが提供する食事・カロリーとPFC・水分・体重のツールをすべて取り上げ、それぞれの機能と、そのツールが使われるきっかけになるフレーズを紹介します。

このページはAIによって英語から翻訳されており、人による確認は行われていません。 英語の原文を読む

食事の記録

基本となる機能。食べたものを、どんな言い方で伝えても記録できます。

記録インタラクティブUI

log_meal

食べたものをカロリーとマクロ栄養素つきで記録します。数値がわかれば、食物繊維・総糖類・アルコール・カフェインも記録できます。ふだんの言葉で伝えるだけで、AIが数値を推定し、量がはっきりしないときは確認します。先にバーコードやWebからラベル情報を取得することもできます。

パラメーター
  • description必須何を食べたか
  • meal_type必須朝食・昼食・夕食・間食のいずれか
  • calories任意総カロリー
  • protein_g任意タンパク質(グラム)
  • carbs_g任意炭水化物(グラム)
  • fat_g任意脂質(グラム)
  • fiber_g任意食物繊維(グラム)。ラベルに数値がなければ材料から推定してでも、すべての食事で入力するようAIに指示されています。空欄はゼロ扱いにはならず、その日全体が食物繊維の平均から外れてしまうためです
  • sugar_g任意総糖類(グラム)。ラベルの「糖類」欄に表示される数値で、添加糖だけでなく果物や牛乳に自然に含まれる糖も含みます。食物繊維と同じく、すべての食事で入力されます
  • alcohol_g任意純アルコールのグラム数。飲み物の量でもアルコール度数でもありません。AIが注いだ量と度数から計算します(5%のビール330 mlなら13 g)
  • caffeine_mg任意カフェインはミリグラム単位で、グラムではありません。ここでグラム単位でないのはこの項目だけで、どの表示ラベルやガイドラインもミリグラムで表記しているためです(ドリップコーヒーは約95 mg、エスプレッソは63 mg、コーラ1缶は34 mg)。カフェインにカロリーはありません。食物繊維や糖類と違い、実際にカフェインを含むものにだけ送信されます。0を記録すると、まったく摂っていないカフェインの行がダッシュボードに表示されてしまうためです
  • logged_at任意食べた時刻(今ではない場合)。後から記録するときに使います
  • notes任意追加のメモ

こう話しかけてみましょう 「お昼にチキンブリトーボウル、ワカモレ多めで記録して」

…または、お皿の写真を撮るだけでもOK。AIが料理を一つずつ特定し、グラス1杯、ひとつかみといった身近な単位で量を見積もり、過去にどう記録したかも参照したうえで、記録する前に確認します。

検索

lookup_barcode

バーコード(8〜14桁のEAN/UPC)から、パッケージ商品の栄養成分表示をOpen Food Factsで取得します。Open Food FactsにNutri-ScoreやNOVA分類(加工度のグループ)があれば、それも取得します。数字は入力しても、パッケージの写真から読み取ってもかまいません。結果は、実際に食べた量に換算して記録できます。

こう話しかけてみましょう 「このバーコードをスキャンして:3017620422003」

…または、パッケージの写真を送るだけでもOK。AIが写真からバーコードの数字を読み取ります。

インポートインタラクティブUI

start_meal_import

チャット内でインポーターを開き、他のアプリの履歴を取り込みます。MyFitnessPal、Cronometer、Lose It!、MacroFactorなどからエクスポートしたCSVを選び、列をカロリー、マクロ栄養素、食物繊維、糖類、カフェイン(アルコール記録をオンにしている場合はアルコールも)に対応付けて、確定する前に追加される内容を確認できます。ファイルはブラウザ内で読み込まれ、プレビューを承認するまで何も保存されません。同じファイルをもう一度インポートしても、重複は作られません。

こう話しかけてみましょう 「MyFitnessPalから食事の履歴をインポートして」

インポート

bulk_import_meals

過去の食事を1件ずつ記録する代わりに、まとめて追加します(1回につき最大50件)。上のインポーターもこのツールを通して書き込んでおり、チャットに貼り付けた食事データならAIが直接使うこともできます。すべての行を事前にチェックし、合わない行は1行ずつ報告します。そのため、間にタイムゾーンを変更していなければ、同じ行を再送しても安全で、記録済みの内容が重複することはありません。

パラメーター
  • meals必須インポートする行。元ファイルの順序で指定します(1回につき1〜50件)。各行には時刻、食事の種類、説明、メモと、記録済みの食事と同じ数値を含められます:calories、protein_g、carbs_g、fat_g、fiber_g、sugar_g(総糖類)、alcohol_g(純アルコールのグラム数)、caffeine_mg(グラムではなくミリグラム)
  • expected_row_count必須この呼び出しに含まれる行数(元ファイルで数えたもの)。行の抜け落ちを検出するために使います
  • expected_total_kcal任意元ファイルのカロリー合計。受け取った内容と照合します
  • dry_run任意何も書き込まずに、実行した場合の結果を報告します
  • on_error任意有効な行だけをインポートして残りを報告するか、1行でも失敗したら何も書き込まないか
  • source_app任意ファイルのエクスポート元のアプリ

こう話しかけてみましょう 「前のアプリから先週の食事を貼り付けたよ。全部追加して」

編集インタラクティブUI

update_meal

記録済みの食事の内容(説明、各マクロ栄養素、食物繊維、糖類、アルコール、カフェイン、時刻、メモ)を変更します。抜けている値を後から補うときにも使います。食物繊維や糖類が入らないまま記録された場合はサーバーがそのことを伝え、同意すればAIがここで入力します。

パラメーター
  • id必須更新する食事のUUID
  • description任意
  • calories任意
  • protein_g任意
  • carbs_g任意
  • fat_g任意
  • fiber_g任意
  • sugar_g任意総糖類(添加糖ではありません)
  • alcohol_g任意純アルコールのグラム数(飲み物の量ではありません)
  • caffeine_mg任意グラムではなくミリグラム
  • logged_at任意
  • notes任意

こう話しかけてみましょう 「やっぱりあのお昼、500カロリーじゃなくて600カロリーだった。直して」

削除

delete_meal

間違えて記録した食事を削除します。

パラメーター
  • id必須削除する食事のUUID

こう話しかけてみましょう 「今日の午後に記録した間食を消して」

食事の振り返り

記録した内容を、1日単位でも期間単位でも振り返れます。

表示

search_meals

キーワードで過去の食事を検索し、よく記録する食事をバリエーションごとにまとめて表示します。それぞれの記録回数、最後に記録した日、いつものカロリーがわかります。お皿の写真を実際の過去の記録と照らし合わせたり、「いつもの朝食を記録して」に応えたりするときに、AIがこのツールを使います。

パラメーター
  • queries必須食品を表すキーワードの候補(これまで記録に使ったどの言語でも可)
  • days任意どこまでさかのぼるか(デフォルトは1年)
  • limit任意分析する最大件数

こう話しかけてみましょう 「いつもの朝食を記録して」

表示

get_meals_today

今日記録した食事をすべて表示します。

パラメーター
  • detail任意compact(デフォルト)は1食につきIDつきの1行、fullはメモと正確な時刻も表示します

こう話しかけてみましょう 「今日、何食べたっけ?」

表示

get_meals_by_date

特定の日に記録した食事をすべて表示します。

パラメーター
  • date必須YYYY-MM-DD形式の日付
  • detail任意compact(デフォルト)は1食につきIDつきの1行、fullはメモと正確な時刻も表示します

こう話しかけてみましょう 「7月4日に食べたものを全部見せて」

表示

get_meals_by_date_range

2つの日付の間の食事をまとめて取得します。1週間や1か月を振り返るのに便利です。1回で取得できるのは最大31日分で、それより長い期間はトレンドやサマリーで日ごとの合計を確認できます。

パラメーター
  • start_date必須開始日(YYYY-MM-DD)
  • end_date必須終了日(YYYY-MM-DD)。開始日を含めて最大31日
  • detail任意compact(デフォルト)は1食につきIDつきの1行、fullはメモと正確な時刻も表示します

こう話しかけてみましょう 「月曜から金曜までの食事を一覧にして」

エクスポート

export_all_data

本サービスが保存しているあなたのデータを、すべて1つのZIPにまとめてエクスポートし、60分間有効な非公開のダウンロードリンクを返します。中身はmeals.csv、water.csv、weight.csv、goals.csv、profile.csv、account.csv(サインイン用アカウント)、telemetry.csv(ツールの利用記録)、connections.csv(接続中のAIアプリ。トークンは含みません)と、列・単位・含まれないものを説明したREADME.txtです。現時点で再インポートできるのは食事データだけです。

こう話しかけてみましょう 「食事・水分・体重・目標、データを全部エクスポートして」

水分記録

食事と合わせて水分摂取量を記録します。

記録

log_water

水分摂取を記録します。カップ、オンス、リットルなど、どの単位で伝えてもミリリットルに換算されます。

パラメーター
  • amount_ml必須ミリリットル単位の量(整数、> 0)。

こう話しかけてみましょう 「いま500mlのペットボトルの水を飲んだ」

表示

get_water_today

今日の水分摂取量の合計と、各記録を表示します。

こう話しかけてみましょう 「今日は水をどれくらい飲んだ?」

表示

get_water_by_date

特定の日の水分摂取量の合計と、各記録を表示します。

パラメーター
  • date必須YYYY-MM-DD形式の日付

こう話しかけてみましょう 「昨日はどれくらい飲んだ?」

削除

delete_water

間違えて追加した水分の記録を削除します。

パラメーター
  • id必須削除する水分記録のUUID

こう話しかけてみましょう 「さっきの水分の記録を消して」

体重管理

体重を記録して見返し、目標体重までの推移を確認できます。

記録

log_weight

体重をkgまたはlbで記録します。1日に何回記録してもかまいません。サーバーが統一した形式で保存するため、単位の設定で数値がずれることはありません。

パラメーター
  • weight必須unitで指定した単位の体重(> 0)。

こう話しかけてみましょう 「体重を記録して。今朝は74.2kg」

編集

update_weight

記録済みの体重(数値、日時、メモ)を修正します。

パラメーター
  • id必須更新する体重記録のUUID
  • weight任意unitで指定した単位の新しい体重。
  • logged_at任意ISO 8601形式のタイムスタンプ
  • notes任意

こう話しかけてみましょう 「今朝の体重、73.8kgに直して」

削除

delete_weight

体重記録を削除します。

パラメーター
  • id必須削除する体重記録のUUID

こう話しかけてみましょう 「今日の体重記録を消して」

表示

get_weight_today

今日の体重記録を、設定した単位で表示します。

こう話しかけてみましょう 「今日の体重、いくつだった?」

表示

get_weight_by_date

特定の日の体重記録を表示します。

パラメーター
  • date必須YYYY-MM-DD形式の日付

こう話しかけてみましょう 「今月1日の体重っていくつだった?」

表示

get_weight_by_date_range

2つの日付の間の体重記録をすべて取得し、日ごとの平均つきで日別にまとめます。

パラメーター
  • start_date必須開始日(YYYY-MM-DD)
  • end_date必須終了日(YYYY-MM-DD)

こう話しかけてみましょう 「この2週間の体重記録を見せて」

設定

set_weight_unit

体重の表示と入力の単位を、kgとlbから選びます。保存済みの値は変わらず、変わるのは表示と、単位なしで入力したときの解釈だけです。

こう話しかけてみましょう 「これからは体重をポンドにして」

目標と進捗

目標を設定し、毎日の達成度を確認します。

設定

set_nutrition_goals

1日のカロリー、マクロ栄養素、食物繊維、糖類、アルコール、カフェイン、水分の目標と、必要に応じて目標体重を設定します。カロリー・タンパク質・炭水化物・脂質・食物繊維・水分は達成を目指す目標、糖類・アルコール・カフェインは超えないようにする上限で、進捗の伝え方もそれに合わせて変わります。更新されるのは指定した項目だけで、ほかはそのまま残ります。

パラメーター
  • daily_calories任意1日のカロリー目標(kcal)。nullでクリア。
  • daily_protein_g任意1日のタンパク質目標(グラム)。nullでクリア。
  • daily_carbs_g任意1日の炭水化物目標(グラム)。nullでクリア。
  • daily_fat_g任意1日の脂質目標(グラム)。nullでクリア。
  • daily_fiber_g任意1日の食物繊維目標(グラム)。達成を目指す最低量です。nullでクリア。
  • daily_sugar_g任意1日の総糖類の上限(グラム)。超えないようにする最大量です。総糖類には果物や牛乳に自然に含まれる糖も含まれるため、公的機関が示す添加糖の目安はこれよりずっと低い数値です。nullでクリア。
  • daily_alcohol_g任意1日のアルコール上限(純アルコールのグラム数)。超えないようにする最大量です。US標準ドリンクは1杯14 g、UKユニットは1ユニット7.9 gです。nullでクリア。
  • daily_caffeine_mg任意1日のカフェイン上限(ミリグラム)。超えないようにする最大量です。EFSAとFDAは健康な成人の上限を1日400 mg(ドリップコーヒー約4杯分)としており、妊娠中についてはEFSAが200 mgとしています。0は「まったく摂らない」という実際の上限として扱われます。nullでクリア。
  • daily_water_ml任意
  • target_weight任意

こう話しかけてみましょう 「目標をカロリー2,200、タンパク質160g、目標体重75kgに設定して」

表示

get_nutrition_goals

現在の1日のカロリー・マクロ栄養素の目標と、食物繊維の目標、糖類やカフェインの上限、さらに(アルコールを記録している場合は)アルコールの上限を表示します。

こう話しかけてみましょう 「1日の目標って何だっけ?」

表示インタラクティブUI

get_goal_progress

今日の摂取量が目標に対してどのくらいかを確認します。摂取量と目標を比べるリングと、体重の進捗を表示します。PFCのリングをタップすると、どの食事によるものかがわかります。

こう話しかけてみましょう 「今日の目標に対して、いまどんな感じ?」

表示インタラクティブUI

get_nutrition_summary

期間内の1日ごとの栄養の合計を、インタラクティブなダッシュボードで表示します。目標と比べたPFCのタイルと、日ごとの内訳を確認できます。1回で取得できるのは最大92日分で、それより長い期間はトレンドで移動平均を確認できます。

パラメーター
  • start_date必須開始日(YYYY-MM-DD)
  • end_date必須終了日(YYYY-MM-DD)。開始日を含めて最大92日

こう話しかけてみましょう 「この1週間のサマリーを見せて」

設定とアカウント

記録を正確に保つための設定と、データを自分で管理するための機能。

表示

get_profile

現在の設定をまとめて確認できます。対象は、タイムゾーン(現地の日付と時刻も)、ウィジェットの言語、体重の単位、チャット内ウィジェットの表示の有無、アルコール記録のオン/オフです。

こう話しかけてみましょう 「今の設定を教えて」

設定

set_timezone

IANAタイムゾーンを設定し、現地時間の午前0時で日付が切り替わるようにします。午後11時に記録した食事は、UTCの翌日ではなく、その日の分として数えられます。

こう話しかけてみましょう 「今ベルリンにいるから、タイムゾーンを設定して」

設定

set_language

チャット内ウィジェット(ダッシュボードやグラフ)の表示言語を設定します。AIが返答する言語は変わりません。

パラメーター
  • locale必須ISO 639-1コード(例:de、ja)。対応言語:英語、ドイツ語、スペイン語、フランス語、オランダ語、ポーランド語、イタリア語、ウクライナ語、日本語。

こう話しかけてみましょう 「ウィジェットをドイツ語で表示して」

表示

get_current_time

設定したタイムゾーンでの現在の日付と時刻、そしてUTCでの時刻を確認します。アシスタントに現在時刻を伝えないアプリもあるため、AIはこのツールで「今朝」や「今日」がいつを指すのかを、聞き返さずに判断します(タイムゾーンが未設定ならUTCになります)。

こう話しかけてみましょう 「こっちの時間で今何時?」

設定

set_widget_display

チャット内のビジュアルウィジェット(ダッシュボード、目標リング、トレンドグラフ)のオン/オフを切り替えます。オフにすると、同じツールがテキストとデータだけで応答します。デフォルトはオンで、変更は新しい会話から反映されます。

パラメーター
  • enabled必須trueでウィジェットを表示、falseでテキストのみで応答

こう話しかけてみましょう 「ウィジェットをオフにして」

設定

set_alcohol_tracking

アルコール記録のオン/オフを切り替え、飲み物をUS標準ドリンクとUKユニットのどちらで数えるかを選びます。デフォルトはオフなので、使うにはオンにするよう頼む必要があります。再びオフにすると、食事・目標・進捗にアルコールが表示されなくなり、ファイルインポーターもファイルのアルコール列を読み込まなくなります。記録済みのデータは削除されず、CSVエクスポートにも引き続き含まれ、オンに戻せば再び表示されます。変更は次のメッセージから反映され、再起動などは必要ありません。

パラメーター
  • enabled必須trueで食事・目標・進捗にアルコールを表示、falseで非表示
  • drink_unit任意グラム数と並べて表示する標準ドリンクの単位:us(1杯14 g)またはuk(1ユニット7.9 g)。デフォルトはus。実際に保存されるのは純アルコールのグラム数です。

こう話しかけてみましょう 「お酒の記録を始めて。UKユニットで」

削除

delete_account

Nutrition MCPのアカウントと、そこに保存されているあなたのデータをすべて完全に削除します。元に戻せないため、明示的な確認がない限りツールは何も実行しません。また、実行する前にユーザーに確認するよう、AIにも求めています。

こう話しかけてみましょう 「アカウントとデータを全部削除して」

トラブルシューティング

うまく動かないときは? ほとんどの問題はすぐに解決できます。

それでも解決しないときは? your@email.com

01コネクタが接続できない、または何度もサインインを求められる

コネクタを削除し、https://your-domain.com/mcpを正確に入力して追加し直してください。/mcpの部分も必要です。Claudeでは「カスタマイズ」→「コネクタ」を開き、Nutritionを切断してから接続し直します。ChatGPTでは「設定」→「アプリ」から操作します。以前と同じメールアドレスとパスワード、または同じGoogleアカウントでサインインしてください。データは接続ではなくアカウントに紐づいているため、再接続しても何も失われません。一度接続すれば、少なくとも90日に1回使っている限り接続は維持されます。動かなくなったときも、同じ手順で再接続すれば直ります。

02サインインページに{"error":"session_expired"}と表示される

サインインページの有効期限は10分で、アップデートでサーバーが再起動したときにもリセットされます。サインインページに戻って再読み込みするか、AIアプリから接続をやり直し、時間を空けずにサインインしてください。代わりにsession_mismatchと表示される場合は、サインインを始めたのとは別のブラウザで完了しようとしています。AIアプリからやり直し、同じブラウザで最後まで進めてください。

03サインインできない、またはパスワードを忘れた

すでにアカウントがある場合は「サインイン」を使ってください。メールアドレスかパスワードが違うときは「メールアドレスまたはパスワードが正しくありません」と表示され、新しいアカウントが作られることはありません。「アカウントを作成」を使うのは初回だけです。メールアドレスに入力ミスがないかも確認してください。「Googleで続行」でアカウントを作成した場合は、もう一度そのボタンを使ってください。パスワードを自分でリセットする機能はまだありません。アカウントのメールアドレスからyour@email.comにメールをいただければ、こちらでリセットします。

04再接続したら履歴が消えた

メールアドレスごとに別のアカウントになるため、別のメールアドレスでサインインすると、空のアカウントが新しく作られます。何も削除されてはいません。一度切断して、最初に使ったメールアドレスでサインインし直してください。どのアドレスだったかわからない場合は、your@email.comまでメールしてください。

05AIは返答するのに、何も記録されない

この会話でコネクタがオンになっているか確認してください(Claudeではメッセージ入力欄のツールメニューで確認できます)。そのうえで、「Nutritionに朝食を記録して」のように直接頼んでみてください。アプリからツールの使用許可を求められたら、許可してください。

06食事が違う日に表示される

日付はタイムゾーンを基準に区切られ、一度も設定していない場合はUTCが使われます。「タイムゾーンは何に設定されてる?」と聞き(get_profile)、間違っていれば「タイムゾーンをEurope/Berlinに設定して」と頼んでください(set_timezone)。これで、過去の分も含め、記録したものはすべて現地の日付でまとめられます。唯一の例外は、タイムゾーンが間違っていた間に時刻を指定して記録したものです。保存された時点の日時がそのまま残るため、1時間や1日ずれたままになることがあります。AIに正しい日付と時刻へ移すよう頼んでください(update_meal)。履歴をインポートする前にも、タイムゾーンを設定しておきましょう。インポートした食事は割り当てられた日時がそのまま残るため、タイムゾーンを変えた後で他のアプリのファイルをもう一度インポートすると、同じ食事が二重に追加されます。Nutrition MCPのエクスポートファイルは認識されるため、重複しません。

07テキストだけで、グラフやカードが表示されない

ビジュアルカードを表示するには、ClaudeやChatGPTのように、インタラクティブなMCP Appsパネルに対応したアプリが必要です。それ以外のクライアントでは、同じ情報がテキストで届きます。ウィジェットをオフにしていた場合は、オンに戻すよう頼んで(set_widget_display)、新しい会話を始めてください。開いているチャットは、再接続するまで以前の設定のままです。食事を記録した後の小さなカードは、1日の目標を設定するまで表示されません(set_nutrition_goals)。

08インポーターが開かない、または保存できないと表示される

インポーターパネルを使うには、インタラクティブなパネルを表示でき、ウィジェットがオンになっているアプリが必要です。「このホストでは、この画面から記録に書き込めません」と表示される場合や、パネルがまったく表示されない場合は、AIにファイルを直接インポートするよう頼んでください。CSVを添付するか貼り付ければ、AIがbulk_import_mealsを使います。このツールはすべての行をチェックして重複をスキップするため、間にタイムゾーンを変更していなければ再送しても安全です。最初のインポートの前に、タイムゾーンを設定しておきましょう。変更後に他のアプリのファイルを再インポートすると、同じ行がもう一度追加されます。インポーターパネルでアルコール列も取り込みたい場合は、先にアルコール記録をオンにしてください。オフの間、パネルはその列をスキップし、後から再インポートしてもその列は埋まりません。

09「Rate limit exceeded」または「Too many failed authentication attempts」と表示される

1つのアカウントにつき1分あたり60リクエストまで送信でき、ツール呼び出しは1回ごとに少なくとも1リクエストとして数えられます。メッセージに表示された秒数だけ待ってから続けてください。たくさんの食事をさかのぼって記録するときは、1件ずつ記録せずにインポーターを使ってください。サインインページは、ネットワークごとに1分あたり30リクエストまでです。同じネットワークから接続が20回連続で拒否されると(たいていは、切断済みの古いコネクタが再試行を続けているのが原因です)、そのネットワークからの接続は5分間停止され、繰り返すたびに停止時間は最長1時間まで延びます。古いコネクタを削除して追加し直せば、再試行は止まります。

10バーコードが見つからない、または数値がおかしい

バーコードのデータは、コミュニティが運営するデータベースOpen Food Factsから取得しているため、登録されていない商品や、情報が古い商品もあります。バーコードの下の8〜14桁の数字がすべて正しく読み取られているか確認してください。商品が見つからなくても、AIが商品名や栄養成分表示の写真から推定でき、どの数値も後から修正できます。openfoodfacts.orgに商品を登録すると、ほかの人の役にも立ちます。Open Food Factsにはカフェインのデータがないため、カフェインは表示ラベルや一般的な含有量をもとにします。

12アカウントを削除するには?

AIにNutrition MCPのアカウントを削除するよう頼んでください(delete_account)。AIが確認を求め、確認すると食事、水分、体重、目標、設定、AIアプリがどのツールを使ったかの記録、エクスポートファイル(ある場合)、サインイン情報、そしてアカウント自体が完全に削除されます。元に戻せないため、コピーを残したい場合は先にデータをエクスポートしてください。そのあと、アプリからコネクタを削除してください。後で同じメールアドレスでサインインし直すと、新しい空のアカウントが作成されます。

13バグやセキュリティの問題を報告するには?

バグはGitHub Issuesで報告してください。使っているアプリ(Claude、ChatGPTなど)、何を頼んだか、何が起きたか、おおよその日時を書いてください。パスワードは絶対に書かないでください。セキュリティの問題は公開の場では報告せず、セキュリティポリシーに記載のとおり、GitHubの非公開脆弱性報告またはメールで非公開で報告してください。その他のお問い合わせは、your@email.comまでメールでどうぞ。