FOOD SEARCH FOR AI

食品データを、AIとの会話へ

AIの答えは、根拠データの品質で変わります。フードサーチMCPは、精度と根拠を追求した食品データをAIとの会話に組み込み、検索・比較・分析を支えます。

公開版は認証不要HTTPSのみ商品・外食・一般料理を横断
NEW 特集製造・流通様向け特集社内プレゼンや取引先への提案に。10の活用事例を図解で
料理や商品、栄養データをAIの空間へ案内する女性キャラクターのイラスト
MCP / SEARCH_FOODS_ADVANCED
「コンビニのパスタで食物繊維が多い順に10品教えて」
AIclientMCPtool call食品search名前・OID・メーカー・栄養値structuredContent / request_id
検索栄養素材

MCPとは、AIと食品データをつなぐ共通規格。

あなたは普段どおり日本語で依頼します。AIが目的に合うツール(tool)と引数を選び、フードサーチMCPがIMD食品データベースを検索します。構造化された結果をAIが表や説明としてまとめます。

01 / ASKあなたが質問「高たんぱくな候補を比べて」
02 / SELECTAIがツールを選択目的に合う検索・比較・分析
03 / SEARCHMCPが検索商品・外食・一般料理を照会
04 / ANSWERAIが読みやすく回答名称・OID・栄養値を表に整理
WHY FOOD SEARCH MCP

「正しいAI」は、
正しい根拠から。

AIは、根拠となるデータが誤っていれば、一見もっともらしくても、誤った答えを返すことがあります。フードサーチMCPは、正確性を追求して作成・監査されたIMD食品データをAIへ直接渡し、AIの弱点の一つである「根拠データの不確かさ」を補います。

01 / QUESTION普段のことばで質問

目的、比較軸、条件をAIへ伝える。

02 / GROUNDINGIMDデータを取得

商品・外食・一般料理を、OIDと栄養値、素材等で照会。

03 / ANSWER根拠を残して分析

AIが値を比較し、表・図・説明にまとめます。再確認できる識別子も残します。

01

AIの根拠を強くする

一般知識や断片的なWeb情報だけに頼らず、同じ構造で管理された食品データに接続し、回答の出発点を明確にします。

02

表示にない栄養素まで

商品等に表示された栄養値に加え、独自レシピと日本食品標準成分表をもとに算出した、根拠のある理論値を活用できます。

03

専門技術を会話で活用する

API操作、データ整形、栄養項目の対応付けをMCPとAIが仲立ちします。IT×栄養のW領域を熟知していなくても調査を始められます。

HOW THE DATA IS MADE

パッケージに
ない栄養素が
なぜ分かる?

市販商品や外食では、主要な栄養成分だけが表示され、詳細項目は公開されないことが多くあります。IMDは、表示値と商品・画像等の情報を手がかりに、専属管理栄養士らが監修する独自レシピを構築します。日本食品標準成分表に準拠した食材と量で調理をデジタルに再現し、表示値との差が極力小さくなるよう調整したうえで、日本食品標準成分表に基づく栄養計算により、未表示項目を理論値として算出します。

クリップボードを持ち、食品データの作成工程を案内する女性管理栄養士のイラスト
01 / SOURCE公式表示と商品情報表示栄養値、商品、画像等を確認
02 / RECIPE独自レシピを設計IMD専属管理栄養士らが監修
03 / STANDARD標準成分表の食材準拠食材と使用量を推定
04 / EMULATE調理をデジタル再現表示値に近づけるよう調整
05 / CALCULATE栄養値を成分表から算出未表示項目を理論値として生成
06 / DELIVER確認・監査して提供有人確認と内部監査、MCPで構造化
PUBLISHED VALUESメーカー・外食等が表示した栄養値

表示されている項目は、その公式表示値を収録します。

THEORETICAL VALUES表示されていない栄養項目

独自レシピと標準成分表を根拠にした理論値(推論値)です。直接の実測値とは区別します。

MCPで実際に取得できる項目は、tool、公開版/トライアル/APIキー版、契約scopeにより異なります。商品改定後の最新表示や、医療上の最終判断は別途確認してください。 IMDの算出方法を見る ↗

専門家しか扱えなかったデータを、思いついた瞬間に。

BEFORE

専用API/フードブラウザの出力から分析

  • API仕様、項目名、出力形式を理解
  • 必要なデータを抽出・整形して再計算
  • ITと栄養、両方の知識が必要
WITH FOOD SEARCH MCP

普段のことばから検索・比較・評価

  • AIが目的に合うツール(tool)と引数を選択
  • 商品・料理・新商品を同じ会話で横断
  • 24時間365日、対応クライアントならスマホからも相談
ニッチ市場を探る

「高たんぱく×小容量」など独自の切り口で候補群を調査。

新商品を比較する

発売日、メーカー、登録量、栄養値を同じ軸でそろえる。

商品企画を検証する

競合の分布や市場の空白を、検索結果から仮説化。

伝わる形に変える

表だけでなく図、イラスト、Webページ、動画等の素材として展開。

MCPの役割は、根拠となる構造化データを届けること。 グラフ、イラスト、Webページ、動画等への変換可否と品質は、接続するAIクライアントの機能・利用条件に依存します。サービス稼働条件やSLAも利用契約に従います。

膨大な料理・商品と栄養データに囲まれ、驚きと期待を表す女性管理栄養士のイラスト
すごい!
POWERED BY IMD FOOD DATABASE

40万件超の料理や商品情報を
ひとつの会話でシームレスに

基盤はIMD食品データベース。市販商品だけでなく、外食メニューや家庭で食べる一般料理まで、同じOIDと構造で検索できます。

OIDは食品の種類をまたぐ共通IDFOから始まる全26桁で、食材・一般料理・郷土料理・商品・外食・アルコール飲料を重複なく一意に識別します。
400,000+IMD食品データベースが案内する食品・料理データ
3 domains市販商品・外食メニュー・一般料理を横断
320+基盤データベースが扱う栄養・味覚等の情報項目
12 tools検索・類似・詳細・比較・利用状況を目的別に使い分け
掲載件数・項目数はIMD公式案内に基づく基盤全体の規模です。現在のMCPで取得できる項目・件数は、ツール(tool)、公開版/APIキー版、契約scope、検索条件により異なります。IMD公式を見る ↗
FIND YOUR USE CASE

知りたい目的から、使い方を選ぶ。

まず公開版でお試しください。栄養値による絞り込み、詳細素材、複数比較が必要になったら、APIキー版をご利用ください。できる範囲と注意点を目的ごとに分けました。

FOR DAILY MEALS

食事・ダイエット

商品名や料理名から候補を探し、重量あたりのエネルギー、たんぱく質、脂質、炭水化物、食物繊維、食塩相当量を並べます。

「牛丼」を200 kcal以下に限定。エネルギーの少ない順に、名前・OID・kcalを表にして。
  • 公開版で候補検索と主要栄養値を確認
  • APIキー版は栄養条件をデータベース検索時に適用
高度条件はAPIキー版
FOR WELLNESS

健康管理

食塩相当量や食物繊維など、目的に関係する項目を候補間で比較。商品と一般料理を同じ会話で調べられます。

「カレーライス」を検索し、登録量と食塩相当量を併記。少量の候補があれば違いを説明して。
  • 重量と比較条件をそろえて確認
  • 診断・治療・摂取可否の判定には使わない
PUBLICで試せる
FOR DEVELOPERS

食品・健康アプリ開発

標準MCP SDKまたはJSON-RPCで組み込み。OIDを安定した識別子として扱い、structuredContentをUIや分析処理へ渡せます。

公開版でプロトタイプ → scopeつきAPIキー版で詳細・比較・バッチへ拡張。
  • Node.js/Python接続例を掲載
  • 429とrequest_idを設計に含める
APIキー版で拡張
FOR PRODUCTS & SERVICES

既存サービス・食品ビジネス

食事記録、健康支援、商品情報サービスなどの検索基盤として、更新される食品データをAPI経由で利用できます。利用量、必要項目、商用条件に合わせて設計します。

導入相談では「利用者数・月間検索数・必要項目・保持方法・応答要件・利用期間」を整理するとスムーズです。
  • 料金は料金プランをご覧ください。SLA、再配布、保存可否は個別条件
  • IMD直接APIと本MCPの契約は別に確認
要件・契約を相談
FOR MAKERS & RESEARCH

食品メーカー・マーケティング・研究

商品企画のアイデアを普段のことばで調査へ。プロテインバーや大豆ミート等のテーマ、新商品、メーカー、栄養条件を横断し、ニッチ市場の候補や競合の位置づけを同じ形式で検討できます。

「高たんぱく・小容量」の新商品候補を検索し、メーカー・発売日・登録量・主要栄養値を比較。企画の空白になりそうな範囲を図にして。
  • 検索順位や件数だけを市場シェアとは解釈しない
  • query、条件、OID、fetched_atを残して仮説を検証
APIキー版が便利
FOR COST RESEARCH

卸売原価指数を参考軸に並べる

APIキー版では、料理・商品の卸売原価指数(食材構成を公的市場の卸売価格で按分合算した相対指数)を実行日基準で取得し、低い順・高い順の候補検索、複数OIDの比較、直近約4週間の変動確認に利用できます。

最近発売されたコンビニのパスタで卸売原価指数が低い順に10商品を教えて。
  • 公的市場の卸売価格だけを参照し、市場取引のない時期は最終取引値を継続参照
  • 絶対額ではなく時間軸の変動を見る参考指数。製造原価・売上原価・販売価格・利益を示す値ではない
APIキー版・food:advanced

数値での絞り込みについて: 公開版のsearch_foodsは従来どおり名称・キーワード検索です。APIキー版のsearch_foods_advancedなら、stuff_e(エネルギー)の上限を200にするなど、任意の契約栄養項目を上流データベース検索時に絞り込めます。名称を指定しない栄養母集団検索など一部機能は追加契約が必要です。

WHAT YOU CAN DO

「知りたい」を、5つの方向から。

AIは日本語のdescriptionと型付きschemaを読み、目的に合うツール(tool)を選びます。公開版は基本4ツール、即時発行トライアルは最大12ツール、通常のAPIキー版はscopeに応じて最大12ツール(token利用状況のget_token_usageを含む)です。

5つの食品検索方法を可愛く考える女性キャラクターのイラスト
何を知りたいか考えると、使うツールが見えてきます

名前から探す

キーワード、AND/OR、最近の商品、ページングで候補を発見。

01

条件で絞る

栄養上限・下限、メーカー、カテゴリ、食材、新商品を検索時に適用。

02

中身を読み解く

OIDから概要、追加栄養項目、分量の多い順に上位3件までの主要食材へ。必要なときは上位3食材の目安分量(丸めた値)も取得できます。

03

食材から遡る

食材を含む商品・料理を、さらに栄養・メーカー条件で逆引き。

04

比べて分析する

複数食品の栄養と、全食材の有無から得た食材差分を比較。

05
ALL AVAILABLE TOOLS

全12 toolsを、目的と利用条件で一覧に。

公開版の4 toolsはトライアルとAPIキー版にも含まれます。自動発行トライアルでは最大12 tools、通常のAPIキー版ではscopeに応じて最大12 tools(食品11 tools+token利用状況のget_token_usage)が表示されます。追加契約が必要なtoolは、一覧に見えても現在は実行できません。

PUBLIC4認証なしで使える基本tool
TRIAL最大12当日限定・1日10回・1応答5食品まで
API KEY最大12契約scopeに応じた継続利用

4+12=16種類ではありません。 公開版の4 toolsはAPIキー版の12 toolsに含まれるため、重複なしの全種類は12です。トライアルはAPIキー版と同じ最大12 toolsを当日中だけ表示し、1応答は最大5食品です。get_token_usageはscopeにかかわらずトライアル・APIキー版に常に表示され、tokenも日次回数も消費しません。

日本語で目的を伝える

AIが各ツール(tool)の日本語descriptionと入力schemaを読み、目的に合うツールを自動で選びます。通常はツール名を覚える必要はありません。

「木綿豆腐を探して、候補を比べて」
ツール名を依頼文に書く

再現性を高めたい場合は、使いたいツールをそのまま指定できます。利用中の接続先とscopeで表示されるツールだけを呼び出せます。

「compare_foodsを使って3件を比較して」
JSON-RPCでnameを指定

tools/listで利用可能な一覧を取得し、tools/callのparams.nameに正確なツール名を設定します。

{ "name": "search_foods", "arguments": {…} }

「フードサーチ」とsearch_foodsの違い

「フードサーチMCP」はサービス全体の名称、search_foodsはその入口となる食品名・キーワード検索toolです。名前の接頭辞は、search_が検索、get_が1件の取得、compare_が比較を表します。

少し申し訳なさそうに苦笑しながら、検索toolの名前を案内する女性管理栄養士のイラスト
少し混乱しますよね、ごめんなさい
#tool何ができるか利用条件必要scope詳細
01名称・キーワード、AND/OR、最新商品を含む条件で食品候補を検索公開/無償トライアルAPIキーfood:search
02OIDから名称、よみ、メーカー、カテゴリ、発売日、重量、主要7栄養項目を取得公開/無償トライアルAPIキーfood:search
03食材名から食品成分表に対応する食材候補を検索公開/無償トライアルAPIキーfood:search
04入力途中の語から食品検索語の候補を取得公開/無償トライアルAPIキーfood:search
05OIDから詳細情報、指定した栄養項目、分量の多い順に上位3件までの主要食材を取得。指定時は上位3食材(水を除く)の丸めた目安分量と、公式表示値の項目名も返す。正確な分量・配合比は非開示トライアルAPIキーfood:detail
06複数OIDの栄養値・卸売原価指数と全食材を比較。食材差分は各食品で重量順上位3件のみ、重量・割合は比較対象外。指定時は各食品の上位3食材の目安分量と公式表示値の項目名も付加トライアルAPIキーfood:recipe
07複数の検索語を一括検索し、同じ形式でまとめて取得トライアルAPIキーfood:batch
08栄養名、卸売原価指数、味覚、色、発売期間、メーカー、カテゴリ、食材等を組み合わせて検索・並べ替え。公式表示値だけでの並べ替えにも対応トライアルAPIキーfood:advanced
09食品名・OID・構成マッチ抽象名の候補から、似た料理・類似品・類似商品を人気順で検索。人気度の数値は非開示トライアルAPIキーfood:advanced
10食材を含む食品を、栄養・卸売原価指数・味覚・色等の追加条件とともに逆引き。公式表示値だけでの並べ替えにも対応トライアルAPIキーfood:advanced
11名称なしで栄養範囲から検索するtool。別途契約が必要で利用不可トライアルAPIキーfood:advancedDB-API追加契約必須
12このキーの契約プラン、キーの状態、課金状態、いま使える残りtoken、今週・今月のtoken上限・補充分・消費・残量・リセット日時、本日の呼び出し回数と残りを取得。tokenも日次回数も消費せず、停止中でも実行可トライアルAPIキーscope不要token従量制限の確認用

tool名または「詳細」を選択: 基本的な呼び出し例、全MCP引数と内部APIパラメータの対応、MCPの最終レスポンス、内部APIへのリクエスト、取得結果、高度な複合条件例を、折りたたみや途中省略なしで表示します。

追加契約対象: search_foods_by_nutrient_rangeは別契約が必要で、現在は実行できません。呼び出すと内部APIへ送信せず、ADDITIONAL_CONTRACT_REQUIREDを返します。

OID(Object ID)とはFOから始まる全26桁で、食材・食品・商品を同じ空間で識別します。一般料理・郷土料理、コンビニ商品・加工品、外食、アルコール飲料まで重複や使い回しなく一意に扱える、日本で唯一のIMD識別子です。検索で得たOIDを詳細・比較toolへ引き継げます。
TOOL DETAIL

CHOOSE YOUR ACCESS

まずは公開版 高度な検索はトライアル 継続利用はAPIキー版

3つの利用条件に対してMCP URLは2つです。トライアルと通常APIキーは同じ認証付きURLを使い、キーの種別・scope・上限によって機能が変わります。

公開版

NO AUTH
https://mcp.fdb.software/mcp/food/public
  • 名称検索・食品概要・食材候補・検索語候補
  • 4 tools、名称・食材検索は1回最大10件
  • 名称・食材検索は先頭50件の範囲のみ参照
  • フェアなご利用環境を維持するため「適応型fair-use制御」を実装
  • MCPの呼び出し回数、検索語・OID、ページ走査、要求候補数等を総合的に検知し、一時的に遮断することがあります
  • 制限時はHTTP 429とRetry-After、X-Foodsearch-Fair-Useを返します
  • IPアドレスだけでは遮断しません。対話的な試用向けで、自動収集・網羅取得には利用できません

トライアル/APIキー版

OAUTH / BEARER
https://mcp.fdb.software/mcp/food
  • ChatGPTはOAuth 2.1、対応クライアントは固定Bearerでも接続
  • 即時発行トライアルは当日10 tool呼び出し、1応答最大5食品、最大12 tools
  • 通常APIキーは付与scopeに応じて最大12 tools、検索最大500件
  • キー単位でRPMとJST日次上限を適用
  • 全食材構成と正確な分量・重さ・配合比は、どちらのキーでも公開しません(指定時だけ、上位3食材の丸めた目安分量を返します)
公開版とAPIキー版の通信経路AIクライアントがHTTPSでMCPへ接続し食品検索結果を受け取るAIクライアント自然文・MCP SDKHTTPS / MCP公開 / OAuth / Bearer検索ツールschema・scope食品APIIMDデータベースstructuredContent: 食品・栄養・素材・request_idJSON-RPCtools/callIMD API
QUICK START · PUBLIC ACCESS

3ステップで、AIに食品検索を追加。

公開版をChatGPT WorkとGeminiから使う手順です。Claudeやその他のMCPクライアントは手順02の補足を参照してください。フードサーチMCPのAPIキーやユーザー登録は必要ありません。

01

サーバーを追加

ChatGPTはDeveloper mode、GeminiはConnected AppsまたはCLIを開きます。

02

URLを登録

公開版のHTTPS URLを設定。Authorizationや資格情報は空欄です。

03

検索して確認

search_foodsを呼び、食品結果とrequest_idを確認します。

前提:「APIキー不要」はフードサーチMCP公開版についての説明です。ChatGPT/Gemini自体のアカウント、利用資格、契約、組織ポリシーは別途必要です。
Display nameフードサーチ(公開版)
TransportStreamable HTTP
MCP server URLhttps://mcp.fdb.software/mcp/food/public
Authenticationなし / No credentials
01

サーバー追加画面を開く

まず、カスタムMCPを登録できる画面へ移動します。

GPTChatGPT Work
Developer mode
ChatGPT · Settings
Settings › Security and login
Developer mode
ChatGPT Plugins を開く +
  1. Settingsを開く
  2. Security and loginを選択
  3. Developer modeをオン
  4. ChatGPT Pluginsでプラスボタン

Developer modeはアカウントやワークスペースのポリシーにより表示されない場合があります。

GGemini Spark
Connected Apps
Gemini · Settings & help
Settings & help › Personal Intelligence › Connected Apps
Custom apps for SparkAdd a custom app
  1. PCでgemini.google.comを開く
  2. Settings & help → Connected Apps
  3. 必要ならPersonal Intelligenceを経由
  4. Custom apps for Spark → Add a custom app

現在は米国・18歳以上・個人Googleアカウント・英語・Keep Activityオン・Spark利用資格が必要です。仕事/学校アカウントは対象外です。

02

公開版URLを登録する

末尾の/mcp/food/publicまで入力し、認証情報は追加しません。

GPTChatGPT 接続設定
Public endpoint
Add MCP server
フードサーチ(公開版)
食品・商品名、食品概要、食品成分表食材、検索語候補を検索するMCP
https://mcp.fdb.software/mcp/food/public
Authenticationなし
Create
search_foodsget_food_summarysearch_ingredientssuggest_food_terms
  1. 表示名と説明を入力
  2. Connectionに公開版URLを入力
  3. Createを選択
  4. 検出された4 toolsを確認
GGemini 接続設定
No credentials
Add a custom app
https://mcp.fdb.software/mcp/food/public
Advanced features / Credentials入力なし
Next
search_foodsget_food_summarysearch_ingredientssuggest_food_terms
  1. MCP server URLを貼り付け
  2. Advanced featuresへ資格情報を入れない
  3. Nextを選び画面案内に従う
  4. 接続アプリと4 toolsを確認

公開版は認証なしです。OAuth Client ID、APIキー、Authorization headerは不要です。

Gemini Sparkが表示されない場合 — Gemini CLIで登録

Gemini CLIはStreamable HTTPのリモートMCPに対応します。次のコマンドはユーザー設定へ公開版を追加します。フードサーチMCPのAPIキーは不要です。

scope: usertransport: httptrust: false
Terminal
gemini mcp add --scope user --transport http \
  food-search-public \
  https://mcp.fdb.software/mcp/food/public

gemini mcp list
# ✓ food-search-public: ... (http) - Connected
Claude・その他のMCPクライアントで登録

Claude(claude.ai・Claudeデスクトップ)は、設定の「コネクタ」から「カスタムコネクタを追加」を選び、名前にフードサーチ(公開版)、URLにhttps://mcp.fdb.software/mcp/food/publicを入力します。認証情報は入力しません(カスタムコネクタを追加できるかはClaudeのプランや組織の設定によります)。Claude Codeは次のコマンドで追加できます。その他のクライアントは、Streamable HTTPのリモートMCPとして同じURLを登録してください。

transport: httpauth: none
Terminal · Claude Code
claude mcp add --transport http food-search-public \
  https://mcp.fdb.software/mcp/food/public

claude mcp list
03

「パン」を検索して確認する

@で接続先を明示し、tool、引数、戻り値を順に確認します。

GPTChatGPT Work
New Work chat
ChatGPT · Work
@ フードサーチ(公開版)
「パン」をAND検索し、最近の商品も含めて上位2件を、名前・OID・メーカー・発売日・主要栄養値の表にして。
search_foods を使用limit: 2
2件の食品候補を取得しました。つぶあんぱん · セブンイレブン · 249 kcal …
  1. Personal Pluginsで作成したプラグインをインストール
  2. ホーム上部をChat → Workへ切替
  3. 新規Workチャットで@から選択
  4. 食品結果とrequest_idを確認
GGemini Spark
Connected app
Gemini · Spark
@ フードサーチ
「パン」をAND検索し、最近の商品も含めて上位2件を、名前・OID・メーカー・発売日・主要栄養値の表にして。
search_foods を使用limit: 2
2件の食品候補を取得しました。つぶあんぱん · ローソン · 119 kcal …
  1. 新しいSparkチャットを開く
  2. @で接続したアプリを選択
  3. 検索条件と表示項目を具体的に依頼
  4. 食品結果とrequest_idを確認

秘密値や不要な個人情報を依頼文へ含めないでください。Geminiから接続アプリへ情報が共有される可能性があります。

画面の裏側で送られるJSONと、戻り値

通常のChatGPT/Gemini画面では隠されていますが、両クライアントはtool名と引数をJSON-RPCへ変換し、サーバーの構造化結果を会話や表へ整形します。

AI client → MCP server
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "search_foods",
    "arguments": {
      "query": "パン",
      "match": "and",
      "start": 0,
      "limit": 2,
      "include_new": true
    }
  }
}
MCP server → AI client / SSE抜粋
event: message
data: {
  "result": {
    "content": [{
      "type": "text",
      "text": "2件の食品候補を取得しました。\\n\\nMCP結果(JSON):\\n{...食品データ...}"
    }],
    "structuredContent": {
      "query": "パン",
      "returned_count": 2,
      "foods": [{
        "objectid": "FOa5e8edd24951f5074dc2c750",
        "name": "つぶあんぱん(セブンイレブン)",
        "manufacturer": "セブンイレブン",
        "release_date": "2026-08-11",
        "specified_nutrition": {
          "energy_kcal": 249,
          "protein_g": 6.6,
          "fat_g": 3.9,
          "salt_equivalent_g": 0.4
        }
      }],
      "cache": "miss",
      "request_id":
        "86e1b6ca-a25a-4b47-a1b6-20f53857375c"
    }
  },
  "jsonrpc": "2.0",
  "id": 3
}
食品名つぶあんぱんメーカーセブンイレブンエネルギー249 kcal塩分0.4 g
CONTINUE · API KEY ACCESS

APIキーを入手できたら高度な食品検索へ

公開版の3ステップに続き、発行済みAPIキーを安全に設定する方法です。ChatGPT WorkはOAuth 2.1の接続画面、固定ヘッダー対応クライアントはAuthorizationヘッダーを使います。利用できるtoolはscopeに応じて最大12(token利用状況のget_token_usageを含む)です。

CHATGPT WORKOAuth 2.1で接続できます

ChatGPTへ固定キーを渡さず、フードサーチの認可画面でAPIキーを確認して、1時間有効なOAuthアクセストークンへ交換します。更新用トークンは最大30日間有効で、更新のたびにローテーションされるため、通常は自動更新されます。元のAPIキーが先に期限切れになる場合は、その時点までです。

現在利用可能
GEMINI SPARK · WEBOAuth 2.1/DCRで接続

通常はMCP URLを登録すると、GeminiがDynamic Client Registration(DCR)で自身を自動登録します。クライアントID/シークレットの手入力を求められた場合は、フードサーチ管理者が別途発行したOAuthクライアント資格情報を使います。APIキーを代用しません。

現在利用可能
GEMINI CLIBearerヘッダーで利用できます

--headerを使い、APIキー版URLへ接続できます。以下に秘密値を履歴へ残しにくい登録例を示します。

現在利用可能
CLAUDE · その他のクライアントOAuth 2.1またはBearerで接続

Claude(claude.ai・デスクトップ・Claude Code)はhttps://mcp.fdb.software/mcp/foodを登録すると、フードサーチの認可画面が開きます(Client ID Metadata Document/動的クライアント登録)。APIキーはその画面だけへ入力します。Claude Codeはclaude mcp add --transport http food-search https://mcp.fdb.software/mcp/foodで追加し、/mcpから認証します。固定ヘッダーに対応するクライアントはAuthorization: Bearerでも接続できます。

現在利用可能
Display nameフードサーチ(APIキー版)
TransportStreamable HTTP
MCP server URLhttps://mcp.fdb.software/mcp/food
AuthenticationChatGPT: OAuth 2.1 / 直接接続: Bearer
APIキーはフードサーチ認可画面、秘密欄、またはAuthorizationヘッダーだけへ
ChatGPTの会話欄、URL、名前、説明、スクリーンショット、Git、問い合わせ本文には貼りません。完全なキーは発行時だけ表示されます。漏えいが疑われる場合は、管理者へ停止・再発行を依頼してください。
01

発行内容を確認する

キーを入力する前に、利用者情報と利用条件を確認します。

KEY完全なAPIキー

発行時に一度だけ表示。安全な保管先へ保存。

SCOPES利用できるtool

food:advancedなど、用途に必要なscopeを確認。

EXPIRY有効期間

開始日・終了日と、期限切れ前の更新方法を確認。

BILLING課金状態

課金中・課金期間切れ・未課金のどれかを確認。

LIMITS日次上限

契約状態別の上限と、必要ならRPM設定を確認。

接続後のtools/listには、そのキーのscopeで許可されたtoolだけが表示されます。最大12 toolが常に出るという意味ではありません。追加契約対象のsearch_foods_by_nutrient_rangeは表示されても現在は実行できません。

02

クライアントに認証を設定する

APIキーを会話に貼り付けず、対応する認証経路に設定します。

GPTChatGPT Work
OAuth 2.1 required
Add authenticated MCP server
https://mcp.fdb.software/mcp/food
AuthenticationOAuth 2.1
Connect
フードサーチ認可画面→ChatGPTへ1時間token
  1. 認証付きMCPとして上記URLを登録し、Connectを選ぶ
  2. 開いたフードサーチ認可画面だけに、発行済みAPIキーを入力する
  3. 表示されたscopeと接続先名を確認し、接続を許可するを選ぶ(接続元が要求した範囲のうち、入力したキーに付与されている範囲だけが許可されます)
  4. ChatGPTへ戻ったら、tools/list相当の検出結果で利用可能なtoolを確認する

OAuth 2.1連携を提供中: 認可コード+PKCE(S256)、Client ID Metadata Document(CIMD。ChatGPT等が優先利用)と動的クライアント登録、1時間のアクセストークン、ローテーション式の更新トークンに対応します。APIキー本体はChatGPTへ送信されません。

OpenAI公式の認証仕様を確認 ↗
GGemini Spark / Gemini CLI
OAuth 2.1 / Bearer
MCP server URLhttps://mcp.fdb.software/mcp/food
Header nameAuthorization
Secret valueBearer ••••••••••••••••

Spark Webでは、まずMCP URLだけでDCRによる自動登録を試します。OAuth Client ID/Client Secretの手入力を求められた場合は、フードサーチ管理者から発行されたOAuthクライアント資格情報を入力します。フードサーチAPIキーは、接続後に表示されるフードサーチ認可画面だけへ入力してください。固定Authorizationヘッダー方式が明示される場合やGemini CLIではBearer接続も利用できます。

Gemini CLI · Bash
read -rsp "Food Search API key: " FOODSEARCH_MCP_API_KEY
printf '\n'
gemini mcp add --scope user --transport http \
  --header "Authorization: Bearer $FOODSEARCH_MCP_API_KEY" \
  food-search-key \
  https://mcp.fdb.software/mcp/food
unset FOODSEARCH_MCP_API_KEY
gemini mcp list

コマンド履歴にキー本体を直接書かない例です。登録後は展開されたヘッダーが~/.gemini/settings.jsonへ保存されるため、このファイルを共有せず、所有者だけが読める状態を維持してください。

03

高度検索を呼び、権限と結果を確認する

ChatGPT Work、Gemini CLI、または対応クライアントから、scopeが必要なtoolを1件試します。

APIキー版のsearch_foods_advancedで、最近のコンビニ商品のうちカルシウムが多いものを上位10品。名称・OID・メーカー・発売日・重量・カルシウムを表にして。

確認するポイント

tools/listで目的のtoolが見え、実行結果に食品候補とrequest_idが含まれれば接続成功です。

search_foodsget_food_detailcompare_foodssearch_foods_advanced…scopeに応じ最大12
401キー不正・期限切れ
429流量・日次上限
isError追加契約・token枯渇・引数(HTTP 200)

scope外のtoolはtools/listに表示されず、呼ぶとJSON-RPCエラー「Tool … not found」になります。HTTP 403は返りません。

Authorization header + tools/call
Authorization: Bearer <YOUR_FOOD_SEARCH_API_KEY>

{
  "jsonrpc": "2.0",
  "id": 8,
  "method": "tools/call",
  "params": {
    "name": "search_foods_advanced",
    "arguments": {
      "query": "コンビニ",
      "limit": 10,
      "rank_by_nutrient": {
        "nutrient": "カルシウム",
        "direction": "desc"
      },
      "recent_days": 365
    }
  }
}

同じキーでも、管理者がscope、期限、課金状態、有効スイッチ、上限を変更すると利用可能なtoolや応答が変わります。問い合わせ時はキー本体ではなく、キー名・key ID・発生時刻・request_idを伝えてください。

ASK IN NATURAL LANGUAGE

ツール名を知らなくても、目的を話せばいい。

曖昧なときはAND/OR、最近の商品を含むか、件数を添えると安定します。英語で依頼した場合も、AIは日本語の食品検索語と英語名を組み合わせて確認できます(英語名i18n_name_enの取得はトライアル・APIキー版)。

「冷製 パスタ」をAND検索し、最近の商品も含めて上位10件を表にして。

search_foods

このOIDの概要を取得し、主要栄養値を読みやすくまとめて。

get_food_summary

「有塩バター」の食材候補を探し、食品成分表に対応するか示して。

search_ingredients

最近発売されたコンビニのパスタで、卸売原価指数が低い順に10商品を教えて。

search_foods_advanced / APIキー
FROM DATA TO DECISIONS

検索結果を、比較・整理・説明に生かす

MCPがデータベースから構造化データを取得し、AIが目的に沿って表、差分、要約にまとめます。単に食品名を見つけるだけでなく、同じ条件にそろえて考えるところまでを一つの会話で進められます。

タブレットを持ち、食品の比較・整理・分析を案内する女性管理栄養士のイラスト
質問から分析結果までの流れ01 / PURPOSE目的を話す「牛丼を200kcal以下で、重量とkcalを比較して」02 / SEARCHMCPが検索FO…FO…FO…OID・栄養値・主要食材を構造化データで返す03 / COMBINEAIがtoolをつなぐ検索 → 詳細 → 比較04 / EXPLAIN表・図・文章へ根拠の値を残したまま目的に合う形に展開
1つの会話で、質問 → MCPの構造化データ → toolの連携 → 表・図・文章まで進む流れ。
同名候補3件の重量・栄養値を1つの表で比較するイメージABCABCgkcalP
CASE 01 / 候補比較

同じ食品名の候補を比べる

名称検索で候補のOIDを取得し、比較toolで差がある栄養値・重量・素材を揃えます。

「木綿豆腐を3件探し、重量とエネルギー、たんぱく質の差を比較して」
  1. 名称検索
  2. OIDで比較
  3. 差の表
search_foods → compare_foods
200 kcal以下の候補を少ない順に並べ、超過分を除外するイメージkcal120138156174192200 kcal12345
CASE 02 / 条件付き候補

200 kcal以下から選ぶ

栄養上限をデータベース検索時に適用し、取得した候補をAIが少ない順の表と短い所見へ整えます。

「牛丼を200 kcal以下に限定し、重量とkcalを少ない順で5件」
  1. kcal上限で検索
  2. 少ない順
  3. 表+所見
search_foods_advanced → AIによる表・要約
食材OIDから料理を逆引きし、条件で絞り込むイメージOID
CASE 03 / 食材逆引き

材料を起点に料理を探す

食材OIDを確定してから、その食材を含む料理を栄養やメーカー等の条件と組み合わせて逆引きします。

「玉ねぎを含む料理から、食塩相当量の条件に合う候補を探して」
  1. 食材OID確定
  2. 条件つき逆引き
  3. 候補一覧
search_ingredients → find_foods_by_ingredient_advanced
2食品の食材有無を比べ、差分食材だけを最大3件示すイメージAB+3+1diff ≤3sameno g / %
CASE 04 / 食材差分比較

似た食品の中身の違いを読む

全食材の有無を内部で比較し、違いがあった場合は各食品の差分食材を内部重量順で上位3件だけ提示します。差分の判定に食材の重量・割合は使いません。

「この3食品を栄養値と食材差分で比較し、違いを説明して」
  1. 全食材の有無
  2. 差分3件まで
  3. 違いの説明
compare_foods
複数テーマの検索結果を共通の列を持つ1つの表へ正規化するイメージABCgkcalPABC
CASE 05 / 一括調査

複数テーマを同じ形式へ

複数の独立した検索を一括実行し、AIがメーカー・発売日・栄養値を共通の列へ正規化します。

「豆腐、納豆、豆乳を各5件検索し、比較できる一つの表にして」
  1. 一括検索
  2. 列をそろえる
  3. 横断表
batch_search_foods → AIによる横断表
栄養・カロリー条件で狭い候補群を抽出し、メーカー別に分布を見るイメージPkcal≤200maker7531
CASE 06 / ニッチ市場

独自の掛け合わせで市場を探る

名称、栄養範囲、メーカー、カテゴリを組み合わせ、狭いテーマの候補群と分布を調べます。

「高たんぱく×200 kcal以下の商品を探し、容量帯とメーカー別に整理して」
  1. 複合条件
  2. 分布を見る
  3. 仮説メモ
search_foods_advanced → AIによる分布・仮説
時間軸上の新商品を既存候補と同じ軸で比較するイメージNEWtime →newavgsame axis
CASE 07 / 新商品企画

新商品と既存商品を並べる

本日登録された候補を含め、発売日・登録量・栄養値を既存候補と同じ軸でそろえます。

「最近の大豆系商品を含め、既存候補との差が分かる企画メモにして」
  1. 新商品を含む
  2. 同じ軸で比較
  3. 企画メモ
search_foods_advanced / include_new → compare_foods
構造化データからWebページ・図・動画構成へ展開するイメージJSON
CASE 08 / 表現の展開

分析を伝わる形に変える

MCPの根拠データをもとに、対応AIクライアントが図、イラスト、Webページ、動画用の構成として展開します。

「比較結果を経営会議向けの図解Webページと、30秒動画の構成案にして」
  1. 根拠データ
  2. Web/図
  3. 動画構成
MCP structuredContent → AI client output
卸売原価指数の約4週間の推移と低い順ランキングのイメージindex28d396rank17629931104114
CASE 09 / 卸売原価指数の参考比較

最近の商品を卸売原価指数で並べる

名称・発売期間で候補を絞り、卸売原価指数が算出できる食品を低い順または高い順に並べます。複数OIDならcompare_foodsでも指数差を、get_food_detailなら直近約4週間の日次推移を確認できます。指数は絶対額ではありません。

「最近発売されたコンビニのパスタで卸売原価指数が低い順に10商品」
  1. 候補を絞る
  2. 指数で並べる
  3. 推移・順位
search_foods_advanced / rank_by_cost
公式表示値の食品だけで順位を付け、推定値の候補を別枠で示すイメージpoolofficialest.P g · officialdesc124.1221.0318.2est.22.6
CASE 10 / 公式表示値で比較

公式表示値だけで並べ、推定値と分けて示す

official_values_only=trueを指定すると、並べ替えに使う栄養項目が商品の公式栄養成分表示の値である食品だけで順位を付けます。推定値の候補は、include_value_sources=trueで返るofficial_value_fieldsに含まれない値(IMDの推定値)として、別枠で示せます。

「コンビニのサラダチキンを、たんぱく質の公式表示値だけで多い順に。推定値は別に示して」
  1. 公式値で限定
  2. 多い順に並べる
  3. 公式/推定を分けた表
search_foods_advanced / official_values_only + include_value_sources
主な食材上位3件の丸めた目安分量を示し、水と正確な分量は返さないイメージper unittop 3 · ≈ g20 tok ×31≈120 g2≈80 g3≈45 gwaterexact · 4th+
CASE 11 / 主要食材の目安分量

主な食材の目安分量で中身をつかむ

include_ingredient_amounts=trueを指定すると、分量の多い順に上位3食材(水を除く)へ、食品1単位あたりの目安分量approx_amount_gが付きます。値は知的財産保護のため丸めた目安(1 g未満はそのまま・10 g未満は2 g刻み・100 g未満は10 g刻み・それ以上は50 g刻み)で、実際の分量とは刻み幅程度前後します。1食材につき標準20 token(1食品最大60 token)を追加で消費するため、必要なときだけ使います。

「このビーフシチューの主な食材を、目安の分量つきで上位3つ」
  1. 食品を特定
  2. 上位3食材+目安量
  3. 中身の説明
get_food_detail / include_ingredient_amounts

明示的に比較toolを呼ぶJSON

開発者は検索で得たOIDをcompare_foodsへ渡します。AIクライアントからは同じ内容を自然文でも指定できます。

tools/call · APIキー版
{
  "name": "compare_foods",
  "arguments": {
    "objectids": [
      "FOd5c4d1bb498bc09e0c0be3ce",
      "FO96d3ab925e781b3718f92cb7",
      "FOe6ad21704a442a3c1a6498ea"
    ]
  }
}

AIへ任せる場合の具体的な会話

次のように目的と比較条件を一度に伝えると、AIは利用可能なtoolから検索と比較を組み立てます。

自然言語プロンプト
木綿豆腐を3件検索してください。
候補のOIDを使って比較し、
・重量
・エネルギー
・たんぱく質
・脂質
の差が分かる表にしてください。
最後に、比較単位が異なる場合の注意も添えてください。

想定するtool連携:search_foodsで候補を確定 → compare_foodsで構造化差分を取得 → AIが根拠値を保った表と説明を作成。

分析結果の扱い: compare_foodsは全食材のOID有無を内部で比較し、違いがある場合は各食品について内部重量順の上位3食材だけを提示します。差分の判定に食材の重量・割合は使いません。分量の目安が必要なときだけinclude_ingredient_amounts=trueを指定すると、各食品の上位3食材(水を除く)に丸めた目安分量が付きます。卸売原価指数は食材構成を公的市場の卸売価格で按分合算した相対指数で、絶対額ではなく、調理、人件費、企画・製造、物流、販売、広報・広告、返品、廃棄等を含む現実のコストではありません。

FOR MAKERS & DISTRIBUTORS

製造・流通様向け特集

食品メーカーの商品企画、流通・食材の商品企画・営業の皆さまへ。いつものAIに聞くだけで、表・グラフ・資料の下書きまでできる様子を、10の活用事例と図解でご紹介します。

  1. 1こう聞く
  2. 2AIが調べる
  3. 3できあがり
製造・流通様向け特集を見る →画面・数値は説明用のイメージです。多くの事例はトライアルですぐに試せます。
REAL MCP RESULTS

実際に、公開版MCPへ聞いてみた。

説明用の架空データではありません。公開endpointへsearch_foodsを送信して取得した上位3件の一部です。

LIVE MCP EXCERPT
QUERY / AND / LIMIT 3「木綿豆腐」

木綿豆腐(1個150g)

重量 150 g · 一般食品

109.5kcal10.5 gたんぱく質0 g食塩相当量

ほかに150 gと200 gの候補も同じ応答で取得。重量をそろえた比較へつなげられます。

OID: FOd5c4d1bb498bc09e0c0be3ce · request_id: eea00975-f8d3-49f0-a51d-728f9bd1b6ab
QUERY / AND / LIMIT 3「カレーライス」

カレーライス(牛肉とジャガイモと人参、ご飯付)

重量 577 g · 一般料理

849.8kcal25.0 gたんぱく質3.4 g食塩相当量

少量235 gの候補も取得。市販商品だけでなく一般料理の比較にも使えます。

request_id: 110e78b8-420d-451f-8a77-3d912cb6e17e
QUERY / AND / LIMIT 3「プロテインバー」

マイプロテインバー バニラ味(1本)(ドルチェ)

重量 42 g · 発売日 2026-08-11

184kcal15.2 gたんぱく質5.5 g食物繊維

チョコレート味、トップバリュ商品を含む3候補を同一形式で取得。

request_id: c4348aa0-906a-4366-8311-98c917a8b01f
この例が示すこと商品、メーカー、一般料理、重量、主要栄養値を、AIが扱える同じJSON構造で取得できます。OIDを使えば同じ食品を次のtoolへ引き継げます。
この例が保証しないこと結果はデータ更新、検索語、時刻、limitにより変わります。栄養値は必ずunit_gと一緒に読み、検索順位を人気や市場シェアと解釈しないでください。
DATA QUALITY & LIMITS

信頼の工程と使う前に理解する注意

公式表示値、独自レシピから算出する理論値、有人確認と内部監査を区別して見える化。AIが根拠を扱いやすい構造へ整えて届けます。

データがAIへ届くまで

01 / SOURCE公式表示・商品情報表示栄養値、商品、料理、画像等を確認
02 / RECIPE専門家の監修IMD専属管理栄養士らが独自レシピを監修
03 / CALCULATE理論値の算出と監査標準成分表を根拠に計算し、有人確認と内部監査でW確認
04 / DELIVERMCPで構造化schema検証・OID・request_idを付与
NUTRIENT & RESPONSE IDENTIFIERS

栄養項目と識別子の一覧

MCPのnutrient_code、field_code、response_fieldsには、食品検索APIと共通のidentifierを使います。名称、その項目が意味する内容、単位、カテゴリと一緒に検索できます。

読み込み中
名称説明(description)identifier単位カテゴリ名カテゴリ識別子

公開中の識別子マスターを読み込んでいます。

UNDER THE HOOD

自然文から、JSONへ。JSONから、会話へ。

AIクライアントはツールのschemaを読み、自然文をJSON-RPCのtools/callに変換します。サーバーは短い説明と構造化データを返します。

AIクライアントとMCPサーバーのJSONフロー初期化、ツール一覧、ツール呼び出し、構造化応答の4段階01 / INITIALIZEprotocolVersion・clientInfoを交換02 / TOOLS.LIST利用可能なtool・説明・inputSchema03 / TOOLS.CALLname + arguments をJSONで送信04 / STRUCTURED CONTENT食品・栄養・素材・request_idAIが結果を会話・表・要約へ変換
HTTP応答はJSONまたはSSE。MCP対応SDKは通常どちらも処理します。
client → server / JSON-RPC 2.0
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {
      "name": "example-ai-client",
      "version": "1.0.0"
    }
  }
}

SSE応答では同じJSONがevent: messageのdata:行へ入ります。独自クライアントはJSONとSSEの両方を処理してください。

BUILD WITH THE PUBLIC ENDPOINT

開発者なら標準SDKですぐ試せる

公開版には認証情報を付けません。以下は公式MCP SDKのStreamable HTTPクライアントでsearch_foodsを呼ぶ最小例です。

Node.js / TypeScript SDK

npm install @modelcontextprotocol/client 後に実行します。このコード形は同日、公開endpointへの実接続で検証済みです。

food-search.mjs
import {
  Client,
  StreamableHTTPClientTransport
} from "@modelcontextprotocol/client";

const url = new URL(
  "https://mcp.fdb.software/mcp/food/public"
);
const client = new Client({
  name: "food-search-example",
  version: "1.0.0"
});

await client.connect(
  new StreamableHTTPClientTransport(url)
);

const result = await client.callTool({
  name: "search_foods",
  arguments: {
    query: "カレーライス",
    match: "and",
    start: 0,
    limit: 3,
    include_new: true
  }
});

console.log(result.structuredContent);
await client.close();

Python SDK

pip install mcp 後に実行します。戻り値のstructuredContentをアプリ側の型へ検証してから利用してください。

food_search.py
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import (
    streamable_http_client,
)

URL = "https://mcp.fdb.software/mcp/food/public"

async def main():
    async with streamable_http_client(URL) as (
        read_stream, write_stream, _
    ):
        async with ClientSession(
            read_stream, write_stream
        ) as session:
            await session.initialize()
            result = await session.call_tool(
                "search_foods",
                arguments={
                    "query": "カレーライス",
                    "match": "and",
                    "start": 0,
                    "limit": 3,
                    "include_new": True,
                },
            )
            print(result.structuredContent)

asyncio.run(main())
公開版名称・食材検索は1回最大10件・先頭50件の範囲、食品概要はOID 1件、検索語候補は最大10語。認証なし・利用主体と取得パターンによる適応型制御。
APIキー版scopeにより最大12 tools。栄養値・味覚・色・発売期間・メーカー・カテゴリ・食材条件にも対応。
本番設計日本語description、schema検証、429、request_id、取得時刻、null、UPSTREAMエラーを扱う。

SDK APIは更新されるため、導入時はTypeScript SDK公式ガイド/Python SDK公式例も確認してください。料金・SLA・商用条件・利用項目は運用窓口へ個別に問い合わせてください。

READ THE RESULT

(参考) レスポンスコードを確認してみる

0とnull、0件と障害、食品概要と主要食材参照を区別すると、AIの説明がより正確になります。

objectid

FOから始まる全26桁のOID。食材・食品・商品を同じ空間で一意に識別。

specified_nutrition

主要栄養値(エネルギー・たんぱく質・脂質・炭水化物・食物繊維・食塩相当量・ナトリウム)。各値が公式表示値か推定値(理論値)かは、include_value_sources=trueのofficial_value_fieldsで確認。

major_ingredients

分量の多い順に上位3件までの主要食材(OIDと名称)。include_ingredient_amounts=trueのときだけ、水を除いた上位3食材に丸めた目安分量approx_amount_g(食品1単位あたりのg。1 g未満はそのまま・10 g未満は2 g刻み・100 g未満は10 g刻み・それ以上は50 g刻み)が付きます。

ingredient_amounts_disclosed

常にfalse。正確な分量・重さ・配合比を開示しないことを示します。目安分量approx_amount_gを返す場合もfalseのままです。

official_value_fields

返した値のうち、商品の公式栄養成分表示の値である項目名(energy_kcalなど)。含まれない栄養値はIMDの推定値。include_value_sources=trueのときだけ返します。

request_id

障害問い合わせでログと照合する識別子。

item_count

該当件数。MCP内で照合(卸売原価指数・色・発売日・検索補完)した場合は、上流候補(最大500件)のうち条件に合った件数。returned_countと分けて確認。

returned_count

今回の応答に含まれる件数。

filters_applied_upstream

栄養条件をすべて上流の検索で適用したときtrue。検索索引に無い項目をMCPが詳細データで補って絞り込んだときfalse(search_supplementが付く)。卸売原価指数・色・発売日のMCP内照合ではtrueのまま。

cache

hit / miss / mixed(複数の照会でcache利用が混在)。検索結果の正誤を表す値ではありません。

null

不明・値なし。数値の0とは異なります。

エラーは3種類で届きます。HTTPエラーはMCP接続そのものの失敗です。tool結果のエラーはHTTP 200のままisError: trueとstructuredContent.error.code・request_idで返ります。JSON-RPCエラーはtool名や引数の型がschemaに合わない場合です。scope不足や追加契約でHTTP 403が返ることはありません。

症状・コード意味利用者の対処
HTTP 404 / 405(GET)URL相違またはブラウザー直開き完全なURLをMCPクライアントへ登録
HTTP 401 UNAUTHENTICATEDAPIキーなし・無効・期限切れBearer形式とキー状態を確認
HTTP 413要求本文が256 KiBを超えた引数(検索語・OID・条件)の量を減らす
HTTP 429 RATE_LIMITED公開版の適応型制御、RPM、またはJST日次上限Retry-Afterまで停止し、並列数とページ走査を減らす
HTTP 503 UPSTREAM_UNAVAILABLE管理者による運用の一時停止、公開版の停止、再起動・一時障害トップページの運用状況を確認し、少し待って再試行。連打しない
HTTP 502 / 504入口・上流の一時障害少し待って再試行
tool結果 ADDITIONAL_CONTRACT_REQUIRED対象toolに別契約が必要で現在利用不可契約可否を問い合わせ、利用可能な代替toolを確認
tool結果 TOKEN_EXHAUSTED今週または今月のtoken残量が0以下get_token_usageか利用状況の確認で残量とリセット日を確認し、補充またはリセット日まで待つ
tool結果 INVALID_ARGUMENT引数の組合せ・範囲が不正(例: バッチの件数合計が上限超え、構成食材検索への発売日条件)メッセージのとおり引数を直す
tool結果 DETAIL_ONLY_FIELD上流の検索索引に無い項目をpriority_slotsへ指定get_food_detailのresponse_fieldsで取得するか、nutrient_filters・sortへ指定し直す
tool結果 NOT_FOUND類似検索の起点となる食品が見つからない起点の名称・OIDを見直す
tool結果 FORBIDDEN公開版でinclude_new=falseを指定公開版では新商品を除外できない。APIキー版を使う
tool結果 UPSTREAM_*上流通信・応答障害0件扱いせずrequest_idを添えて問い合わせ
JSON-RPC -32602「Tool … not found」キーのscope外のtool(tools/listに表示されない)必要scopeを運用窓口へ確認
tool結果「Input validation error: …」引数の型・形式がschemaに合わない。error.code・request_idは付かないメッセージの項目名と条件のとおり引数を直す
FAQ

よくある質問。

なぜ一般的なAIだけではなく、フードサーチMCPが必要ですか?

AIは、参照した根拠が誤っていたり曖昧だったりすると、一見もっともらしくても、誤った答えを返すことがあります。フードサーチMCPは、IMDが作成・確認・監査した食品データをOID、重量、取得時刻等とともに構造化して渡し、根拠データの不確かさを補います。ただし、AIの推論や最終回答が常に正しいことを無条件に保証するものではありません。

パッケージにない栄養素が、なぜ分かるのですか?

表示栄養値、商品・画像等の情報をもとに、IMD専属管理栄養士らが監修した独自レシピを作成します。日本食品標準成分表に準拠した食材と量で調理をデジタルに再現し、表示値との差が極力小さくなるよう調整したうえで、日本食品標準成分表に基づく栄養計算により、未表示の栄養項目を理論値として算出するためです。詳しくはIMDの栄養値算出方法をご覧ください。

栄養値は実測値ですか、推定値ですか?

両方を区別して収録します。メーカー・外食等が表示している栄養項目はその公式表示値、表示されていない項目は独自レシピと日本食品標準成分表を根拠に算出した理論値(推論値)です。後者を直接の実測値とは扱いません。

ITや栄養の専門知識がなくても使えますか?

はい。普段のことばで目的を伝えると、対応AIクライアントが日本語のdescriptionとschemaを読み、利用可能なツール(tool)と引数を選びます。従来必要だったAPI操作やデータ整形をMCPとAIが仲立ちします。ただし、医療判断や専門的な栄養指導の最終判断は専門家へ相談してください。

スマートフォンから使えますか? 図や動画にもできますか?

接続先を登録できる対応AIクライアントであれば、スマートフォンから利用できます。MCPは根拠となる構造化データを返し、その後の表、グラフ、図、イラスト、Webページ、動画等への変換はAIクライアントの機能と利用条件に依存します。

公開版は認証なしで使えますか?

はい。個人・法人を問わず、Streamable HTTP対応クライアントへ公開URLを登録して試せます。公開版は対話的な通常利用向けです。「適応型fair-use制御」がMCPの呼び出し回数、異なる検索語・OIDの連続取得、ページ走査、要求候補数等を総合的に評価し、IPアドレスだけでは遮断しません。自動収集、網羅取得、スクレイピング、継続的なバッチ処理には使用せず、まとまった取得にはAPIキー版を申請してください。継続提供や商用要件の保証はありません。

「適応型fair-use制御」とは何ですか?

公開版を多くの方が公平に試せるよう、MCPの呼び出し回数、異なる検索語・OIDの連続取得、startを進めるページ走査、要求候補数等を総合的に評価する仕組みです。通常の対話利用を超える集中取得と判定した場合は、一時的に遮断することがあります。制限時はHTTP 429と、再試行までの秒数を示すRetry-After、判定状態を示すX-Foodsearch-Fair-Useを返します。指定された時間まで呼び出しを止め、並列実行、ページ走査、要求件数を減らしてください。

公開版の検索件数とstart・limitの制限は?

startは結果の開始位置(0始まり)、limitはその位置から返す件数です。公開/無償版のsearch_foodsは1回最大10件で、先頭50件の範囲だけを参照します。たとえばstart=20, limit=10は10件、start=45, limit=10は50件目未満までの5件、start=50以上は0件です。search_ingredientsも1回最大10件・位置0~49の範囲で、同じstart・limit規則を適用します。get_food_summaryはOIDを指定する1件取得で、limitはありません。内部検索APIとAPIキー版の検索は1回最大500件です。

40万件すべてをMCPで検索できますか?

40万件超はIMD食品データベース基盤全体の公表規模です。実際に取得できるデータは、検索語、ツール(tool)、公開版/APIキー版、契約scope、更新状況により異なり、すべての項目・レコードの取得を保証する表現ではありません。

トライアルAPIキーはどのようなものですか?

申請フォームやメール確認なしで即時発行し、公開版では使えない高度な検索機能を当日中だけ試せるキーです。自動発行ではMCPのtools/callをJSTの1日10回、1応答の食品・商品を最大5件まで利用できます。接続初期化とtools/listは10回に含みません。

トライアルAPIキーを再発行できますか?

IPv4アドレスまたはIPv6の/64プレフィックスごとにJSTの1日1回です。同じブラウザーは完全キーと発行事実をlocalStorageへ当日中だけ保存し、別回線へ移動しても同じキーを再表示します。サイトデータを削除すると完全キーは復元できず、同じネットワークから当日中に再発行もできません。共有端末では利用後にサイトデータを削除してください。

食材構成情報の分量は取得できますか?

上位3食材のおおよその分量(目安)に限り、指定したときだけ取得できます。トライアル・APIキー版のget_food_detailまたはcompare_foodsでinclude_ingredient_amounts=trueを指定すると、分量の多い順に上位3食材(水を除く)の目安分量approx_amount_g(食品1単位あたりのg)を返します。値は知的財産保護のためにIMD食品データベース側で丸めた目安で、1 g未満はそのまま、1 g以上10 g未満は2 g刻み、10 g以上100 g未満は10 g刻み、100 g以上は50 g刻みです。たとえば「150」は「およそ150 g」、「30」は「およそ30 g」を表し、実際の分量とは刻み幅程度前後するため、合計や比を正確な配合として扱わないでください。目安分量は1件につき標準20 token(1食品最大60 token)を追加で消費するため、必要なときだけ指定してください。全食材構成、食材件数、正確な分量・重さ・配合比、4番目以降の食材や水の分量は、公開版・トライアル版・APIキー版とも提供しません。分量を公開しないのは知的財産を保護するためで、栄養値の根拠が欠けているわけではありません。栄養値は、日本食品標準成分表(八訂)に準拠した食材構成をもとにIMD専属管理栄養士らが監修したレシピから算出した推定値、または商品の公式栄養成分表示の値です。compare_foodsの食材差分は引き続きOIDの有無だけで判定し、分量や割合は比較しません。

原価で検索・比較できますか?

「原価」そのものは提供していません。代わりにAPIキー版のsearch_foods_advancedでrank_by_costを指定すると卸売原価指数(wholesale_cost_index)の順に検索でき、compare_foodsで複数OIDの指数差を、get_food_detailで基準日と直近約4週間の日次履歴を確認できます。卸売原価指数は、食品の食材構成を分解し、各食材の公的市場の卸売価格を分量で按分して合算した相対指数で、市場で取引のない時期は最終取引値を継続参照します。絶対額ではなく時間軸での変動を見る参考情報であり、調理、人件費、企画・製造、移動・物流、販売、広報・広告、返品、廃棄等のコストは含まず、現実の製造原価、売上原価、販売価格、利益を示す値ではありません。指数がない候補はランキングから除外します。旧identifier materialcostは廃止しました。

英語で食品を検索できますか?

はい。英語の依頼では、MCPの利用説明がAIへ「食品名を自然な日本語検索語へ変換し、i18n_name_enも取得して日本語名との整合性を確認する」手順を案内します。英語名の取得(response_fieldsへのi18n_name_en指定)はトライアル・APIキー版で使えます。公開版は日本語名だけです。英語名がない場合はAIが補足翻訳できますが、その場合はデータベース収録名ではなくAIによる翻訳だと区別します。

「似た料理」「類似商品」は探せますか?

はい。APIキー版のfind_similar_foodsが、名称・既知OID・構成マッチ抽象名のいずれかから構成マッチ食品OIDを解決し、同じ構成マッチ食品OIDに属する料理・食品・商品を人気順で返します。人気度は並び順だけに使用し、その数値は返しません。起点候補が複数ある場合はresolution_candidatesを確認し、source_result_indexで選択してください。

味覚や色で検索できますか?

APIキー版のsearch_foods_advancedとfind_foods_by_ingredient_advancedで利用できます。味覚はtaste2_から始まるidentifierを相対的な強さのfilter/sortに使いますが、味覚ポイント値は返しません。色は最大3つのカラーコードを持ち、1番目を主色、2・3番目を補助色、3色同一を単色として照合します。色と発売期間は上流候補最大500件の範囲でMCP内照合します。発売期間の条件はsearch_foods_advancedだけで使えます(構成食材から逆引きできる食品には発売日の情報がないため)。

「200 kcal以下」のように絞り込めますか?

はい。APIキー版でfood:advanced scopeを付け、search_foods_advancedのnutrient_filtersへstuff_eの上限200を指定します。名称と数値条件は上流データベース検索時に同時適用されます。公開版のsearch_foodsは従来どおり名称・キーワード検索です。

アレルゲン情報は?

商品についてコンタミネーションによる影響も想定されるので、IMDでは情報を収集していますが一般ご提供は致しておりません。

栄養値はそのまま判断に使えますか?

栄養値は重量、値の種別、取得時刻を併記し、商品についてはメーカーの最新表示も確認してください。医療診断、治療、服薬、摂取可否の最終判断には使用しないでください。

APIキー、料金、SLAはどこで確認できますか?

問い合わせフォームから、利用者名、所属、用途、必要scope、想定件数、利用期間、必要SLAを伝えて申請してください。本MCPの条件とIMDデータベース直接APIの契約は別です。完全キーは発行時だけ表示されます。

ブラウザーでMCP URLを開いても検索画面が出ません。

MCP endpointはWeb検索画面ではありません。この概要サイトで情報を確認し、実際の検索はMCPクライアントから行います。

0件と障害はどう見分けますか?

0件はreturned_countが0の正常応答です。UPSTREAM_TIMEOUTなどは障害で、retryableとrequest_idが付きます。

公開版に詳細・比較ツールが見えません。

正常です。APIキー版とfood:detail、food:recipeなど必要なscopeを申請してください。

JANコードで検索できますか?

できません。コンビニ商品がJANへ対応していない運用条件のため、本MCPはJAN検索とJAN関連項目を提供しません。

429が続くのはなぜですか?

「適応型fair-use制御」が、MCPの呼び出し回数、異なる検索語・OIDの連続取得、ページ走査、要求候補数等から通常の対話利用を超える取得パターンを検出したか、サービス全体の非常上限に達したためです。レスポンスにはHTTP 429、Retry-After、X-Foodsearch-Fair-Useが含まれます。Retry-Afterで示された時間まで呼び出しを止め、並列実行、ページ走査、要求件数を減らしてください。IPアドレス単独の判定ではありません。継続利用、まとまった取得、定期処理にはAPIキー版を申請してください。

画像はありますか?

商品の画像は権利元・隣接権利元様への申請と許諾が必要であり、権利上利用できないと認識しています。但し、IMD 食品データベースでは全ての OID に対して、一般カテゴリとは異なる手法で構成マッチ食品OIDと構成マッチ抽象名を付与してきましたので、構成マッチ食品の抽象画像を今後ご提供することで、レファレンスとしてはご活用頂けるかと考えております。ご希望があればお問い合わせください。

レスポンスが遅い・繋がらない

この FAQ を作成している段階ではそのようなことはありませんが、この MCP サーバーは sakura インターネットの VPS を利用しており、弊社独自でも外部から稼働状況を監視しておりますので、負荷が大きくなった場合には増強や、ヘビーユーザなどに対する制限を検討致します。ただ、その場合には無償公開を制限したりスペックダウンを視野にすることもあり得ますので、公開維持のために効率的で合理的な自制的ご利用をぜひお願い致します。法人様で SLA などをお求めの方は、弊社へお問い合わせください。有償となりますが、貴社占有 VPS をご提供することも対応は可能です。(恐れ入りますが、特に日本法人ではない場合においては、要審査とさせて頂いております)

APIキーが漏れた可能性があります。

直ちに問い合わせフォームから無効化または削除を依頼してください。問い合わせ本文へ完全なキーを貼らないでください。

SUPPORT

問い合わせは、
“再現できる情報”と。

有料プラン(APIキー)のお申し込みはお申し込みフォームから、そのほかのご相談はIMDの問い合わせフォームからお送りください。お申し込み後の受付状況やご契約内容は、お申し込み・ご契約状況の確認でご確認いただけます。

問い合わせフォームを開く →
完全なキー・Authorization・Cookieは送らない
発生日時とタイムゾーンMCPクライアント名とバージョンツール名・HTTP status・エラーコードrequest_idAPIキー版はkey IDまたはprefix
笑顔で問い合わせを案内する女性キャラクター
法人専用APIのお問い合わせもお気軽にどうぞ
INSTANT TRIAL · API KEY

トライアルAPIキーを、今すぐ発行

公開/無償版より多くの検索機能を、申請フォームなしで当日中だけ試せます。発行はIPv4アドレス、またはIPv6の/64プレフィックスごとに1日1回です。

当日限り有効(日本時間)MCP利用 1日10回1応答 最大5食品token従量制(週・月)発行無料

本日のトライアルキー

ボタンを押すと、この接続元へ直ちに発行します。メールアドレスの登録は不要です。

未発行です

01 / ISSUE

この画面で即時発行

IPv4はアドレス単位、IPv6は割り当てプレフィックス/64単位で、本日1回だけ発行します。

02 / KEEP

ブラウザが当日中保存

キーと発行事実をlocalStorageへ保存。同じブラウザでは別回線でも再発行せず、同じキーを再表示します。

03 / CONNECT

AIクライアントへ接続

MCP URLはhttps://mcp.fdb.software/mcp/food。ChatGPTはOAuth、対応クライアントはBearerで接続します。

ChatGPT Work

MCP URLにhttps://mcp.fdb.software/mcp/foodを登録し、OAuth認可画面で発行済みのトライアルAPIキーを入力します。

Gemini / Bearer対応クライアント

同じMCP URLを登録し、AuthorizationのBearer tokenとしてトライアルAPIキーを設定します。OAuthに対応する場合はOAuthも利用できます。

TOKEN USAGE

APIキーのtoken利用状況を確認

トライアルAPIキー、通常APIキーのどちらでも、今週・今月の利用可能割合、利用状況、残り割合とリセット日、APIキーの有効期限を表示します。キーはこのブラウザからこのサイトへ直接送信し、URLに含めず保存もしません。お申し込みから発行したAPIキーは、受付番号またはAPIキーと申込メールアドレスで、状況確認ページからプラン・キーの状態・課金状態・本日の呼び出し回数も確認できます。

キーを入力すると表示します

お申し込み・ご契約状況の確認 →

キーはこのサイトとブラウザの同一オリジンにだけ保存されます。共有端末では使用後にサイトデータを削除してください。発行元と利用状況は、不正利用防止と運用確認のためログへ記録します。