Food Data Central MCP Server について
Food Data Central MCP Serverは、USDA FoodData Central APIをMCPクライアントから利用するためのサーバーです。食品検索や複数のデータ種別に対応しています。
主な機能
- 01キーワードによる食品検索
- 02食品の栄養情報の取得
- 03結果のページ分割と並べ替え
- 044種類の食品データに対応
活用シーン
- 01食品レコードの検索
- 02栄養成分の取得
MCP 対応
stdio経由で、食品検索ツールと、食品詳細・複数食品の取得・ページ分割リストのリソースをMCPクライアントに提供します。USDA APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Food Data Central MCP サーバー
USDA の FoodData Central APIへの API アクセスを提供する Model Context Protocol(MCP)サーバーです。
機能
- USDA FoodData Central データベースの食品を検索します
- 食品の栄養情報にアクセスします
- ページネーションされた結果を取得します
- 複数のデータ型(Foundation、SR Legacy、Survey、Branded)に対応しています
セットアップ
- リポジトリをクローンします
- 依存関係をインストールします:
npm install - プロジェクトをビルドします:
npm run build
サーバーの実行
このサーバーは stdio トランスポートを使用しているため、MCP クライアントによってサブプロセスとして実行されるよう設計されています。直接実行するには:
# Set the USDA API key as an environment variable
export USDA_API_KEY=your-api-key-here
npm start
ホットリロードを有効にして開発するには:
# Set the USDA API key as an environment variable
export USDA_API_KEY=your-api-key-here
npm run dev
Claude Desktop での使用
この MCP サーバーを Claude Desktop で使用するには:
-
Claude Desktop の設定を開きます:
- macOS の場合:Claude メニューをクリックし、「Settings...」を選択します
- Windows の場合:Claude メニューをクリックし、「Settings...」を選択します
-
設定画面の左側のメニューで「Developer」をクリックし、「Edit Config」をクリックします
-
次の場所に設定ファイルが作成されるか、開きます:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Food Data Central MCP サーバーを設定ファイルに追加します:
{ "mcpServers": { "food-data-central": { "command": "npx", "args": ["tsx", "/path/to/food-data-central-mcp-server/src/index.ts"], "env": { "PATH": "/opt/homebrew/bin", "USDA_API_KEY": "<INSERT KEY HERE>" } } } }/path/to/food-data-central-mcp-serverをこのリポジトリの絶対パスに、<INSERT KEY HERE>を実際の USDA API キーに置き換えてください。注:Windows をお使いの場合、npm のグローバルインストールディレクトリを含めるため、PATH の値を調整する必要がある場合があります。
-
設定ファイルを保存し、Claude Desktop を再起動します
-
再起動後、入力ボックスの右下にハンマーのアイコンが表示されます。クリックすると、利用可能なツールを確認できます。
これで Claude は、この MCP サーバーを通じて Food Data Central API にアクセスできるようになります。Claude に食品の検索や栄養情報の取得、食品データの詳細な取得を依頼できます。
MCP リソースとツール
リソース
-
food://details- ID を指定して、特定の食品の詳細情報を取得します- クエリパラメーター:
fdcId:Food Data Central ID(必須)format:任意。要素を簡略化したセットの場合は 'abridged'、すべての要素を取得する場合は 'full'(デフォルト)nutrients:任意。最大 25 個の栄養素番号のリスト(カンマ区切り)
- クエリパラメーター:
-
food://foods- 入力された複数の FDC ID を使用して、複数の食品の詳細情報を取得します- クエリパラメーター:
fdcIds:複数の FDC ID のリスト(必須、カンマ区切り)format:任意。要素を簡略化したセットの場合は 'abridged'、すべての要素を取得する場合は 'full'(デフォルト)nutrients:任意。最大 25 個の栄養素番号のリスト(カンマ区切り)
- クエリパラメーター:
-
food://list- 食品のページ分割されたリストを取得します- クエリパラメーター:
dataType:任意。特定のデータ型で絞り込みます(カンマ区切りのリスト)pageSize:任意。返す結果の最大数(デフォルト:50)pageNumber:任意。取得するページ番号(デフォルト:1)sortBy:任意。並べ替えに使用するフィールドsortOrder:任意。並べ替え順("asc" または "desc")
- クエリパラメーター:
ツール
search-foods- キーワードを使って食品を検索します- パラメーター:
query:食品を検索するための検索語(必須)dataType:任意。特定のデータ型で絞り込みます(文字列の配列)pageSize:任意。返す結果の最大数(デフォルト:50)pageNumber:任意。取得するページ番号(デフォルト:1)sortBy:任意。並べ替えに使用するフィールドsortOrder:任意。並べ替え順("asc" または "desc")brandOwner:任意。食品のブランド所有者に基づいて結果を絞り込みます(Branded Foods のみ)tradeChannel:任意。指定した取引チャネルのいずれかを含む食品に絞り込みますstartDate:任意。この日付以降に公開された食品に絞り込みます(日付形式:YYYY-MM-DD)endDate:任意。この日付以前に公開された食品に絞り込みます(日付形式:YYYY-MM-DD)
- パラメーター:
使用例
MCP リソースを使用して食品の詳細を取得します:
food://details?fdcId=2345678&format=full
MCP リソースを使用して複数の食品を取得します:
food://foods?fdcIds=534358,373052,616350
MCP リソースを使用して食品の一覧を取得します:
food://list?dataType=Foundation,SR Legacy&pageSize=10&pageNumber=1
MCP ツールを使用して食品を検索します:
{
"name": "search-foods",
"arguments": {
"query": "apple",
"dataType": ["Foundation", "SR Legacy"],
"pageSize": 10,
"pageNumber": 1
}
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。