Foodzilla
開発者向け

Foodzilla の MCP サーバー

HTTPS エンドポイントが1つ。OAuth 2.1 と PKCE。型の付いた引数を持つツールが61。アシスタントはこれを呼び出して、コーチのアカウントやクライアントの記録で作業します。栄養の数値は Foodzilla の食品データベースから来ます。モデルが作ったものではありません。

エンドポイントhttps://api.foodzilla.io/mcp

仕組みより、何ができるかをお探しですか。 Autopilot の概要を見る

Model Context Protocol とは

MCP は、AI アシスタントを実データを持つシステムにつなぐためのオープン標準です。アシスタントがサーバーにツールを問い合わせ、サーバーが名前と型つきの引数で答え、アシスタントがそれを呼びます。ウェブページや文書化されていないエンドポイントを手探りする従来のやり方を置き換えます。

栄養指導では、これがほとんどのソフトウェアより重要です。クライアントが説明した食事は、本物の食品データベースの栄養価とともに記録に入る必要があります。数値を作るのはモデルの仕事ではありません。そして本人の記録にだけ入る必要があります。型つきのツールとアカウントごとのスコープが、それを守っています。

接続 リファレンス

MCP クライアントを Foodzilla に向けるために必要なものすべて。

エンドポイント
https://api.foodzilla.io/mcp
トランスポート
Streamable HTTP、POST による JSON-RPC 2.0
認可
OAuth 2.1 認可コード + PKCE、動的クライアント登録
ディスカバリ
/.well-known/oauth-protected-resource/mcp
スコープ
autopilot, coach, openid, offline_access
プラン
コーチは Professional 以上、No-PHI プランを除く
autopilot

指導を受けているクライアント。本人のプランと本人の記録だけです。

coach

自分のアカウントで作業するコーチ。レシピ、テンプレート、フォーム、予約、コンテンツ、ストア、設定、サブスクリプション。クライアントの記録には一切アクセスできません。

トークンが持つのはどちらか一方で、両方はありません。どちらになるかは同意画面で決まり、クライアント記録も持つコーチにはどちらで接続するかを尋ねます。

未認証のリクエストへの応答

401 と、リソースメタデータの URL を示す WWW-Authenticate ヘッダーです。MCP クライアントは、これで認可サーバーを自力で見つけます。

ツール 一覧

現時点で61個。名前は安定しています。上書きするものや課金につながるものには destructive の印がつくので、アシスタントは実行前に確認します。

クライアントスコープ

16 ツール

記録

log_food, log_planned_meal, log_water, log_exercise, log_sleep, log_weight, delete_food_log

本人のプラン

get_plan, get_todays_meals, get_recipe

振り返り

get_day, get_progress, get_recent_foods, get_profile, get_status

アカウント

sign_out_everywhere

log_food は、Foodzilla の食品データベースと照合され食材ごとの実際の栄養価がつく食品リストか、どのデータベースにもないものの数値入力か、どちらかを受け取ります。データベースにない行が1つでもあると、推測を記録せずに呼び出し全体を拒否し、その行を名指しします。

コーチスコープ

45 ツール

レシピ

generate_recipe, import_recipe_from_url, update_recipe_draft, discard_recipe_draft, save_recipe, list_my_recipes

プランのテンプレート

generate_plan_template, list_my_templates, describe_plan_settings

コレクションと食品

create_collection, add_recipes_to_collection, list_collections, add_food, add_foods, import_food_from_url, import_food_from_text

フォームと予約

create_form, update_form, list_forms, get_booking_setup, set_availability, create_appointment_type, update_appointment_type

コンテンツ

create_post, update_post, publish_post, pin_post, list_posts

ストア

get_store, update_store, create_store_plan, update_store_plan, publish_store, unpublish_store

設定

get_app_experience, set_app_experience, update_my_profile, get_invoice_settings, update_invoice_settings

アカウントと請求

get_my_account, get_subscription, preview_plan_change, change_plan, activate_subscription, extend_trial

Professional 未満のコーチが接続すると、このうち5つだけになります。アカウントとサブスクリプションのツールで、アシスタントがアップグレードを見積もって実行できるようにするためです。残りはプランが上がった時点で、同じ接続のまま現れます。

アシスタントを つなぐ

インストールも鍵の発行も不要です。あとは OAuth のフローが済ませます。

Claude

  1. 1設定、コネクタ、カスタムコネクタを追加の順に進みます。
  2. 2URL に https://api.foodzilla.io/mcp を貼り付けます。
  3. 3ページが開いたら Foodzilla のメールアドレスとパスワードでサインインします。
  4. 4同意画面に表示されたアカウントを確認し、接続を押します。

ChatGPT

  1. 1左のメニューで Plugins を開き、Foodzilla を検索します。
  2. 2結果から Foodzilla を開き、Add を押します。
  3. 3Foodzilla のメールアドレスとパスワードでサインインします。
  4. 4同意画面に表示されたアカウントを確認し、接続を押します。
  5. 5Try in chat を押すか、Foodzilla をオンにしてチャットを始めます。

MCP に対応するその他のもの

エンドポイントに向けるだけです。動的クライアント登録で自分を登録し、保護リソースのメタデータから認可サーバーを見つけ、PKCE つきの認可コードフローを実行します。アクセストークンより長く接続を保ちたい場合は offline_access を要求してください。

利用上限と 使用量

週単位で計算

どのプランにも週ごとの上限があり、月曜にリセットされます。読み取り、書き込み、モデルの時間を使う呼び出しは別々に数えるので、読み取りの多い週がレシピ生成の枠を食いつぶすことはありません。

クライアントは共有枠

クライアントは1人ずつではなく、全員で1つの枠を使います。よく話す1人が事業所の1週間分を使い切ることはありません。

プランに応じて増える

White Label は Professional の4倍、Team はチームの規模に応じて5〜7倍で、チーム全体で共有します。

パーセントで確認できる

Foodzilla の Autopilot タブに、その週の消費が表示されます。上限に達した場合、ツールは黙って失敗せず、その旨を返します。

サーバーが 拒否するもの

  • クライアントの記録を求めるコーチのトークン。クライアント ID を受け取るツールがそもそも存在しないので、狙う先がありません。
  • 自分の記録とプランの外に出ようとするクライアントのトークン。レシピはそのクライアントのプランに入っている場合だけ読めるので、ライブラリを1呼び出しずつたどることはできません。
  • コーチがすでに切断した接続のトークン。有効期限内であっても拒否します。
  • 再接続後に現れた、以前の許可のトークン。切断して再接続しても、古い鍵が気づかれないまま生き返ることはありません。
  • プランが Autopilot を含まなくなったアカウントからのすべての呼び出し。資格は同意時だけでなく毎回確認します。
  • コーチがクライアントの利用を切っているクライアント。

個人を特定できる情報はサーバーのログに残しません。クライアントやコーチの名前、メールアドレス、電話番号は書きません。

よくある質問