食品データセントラルMCPサーバー
これは、USDA の FoodData Central APIへの API アクセスを公開するためのモデル コンテキスト プロトコル (MCP) サーバーです。
特徴
USDA FoodData Centralデータベースで食品を検索する
食品の栄養情報にアクセスする
ページ区切りの結果
複数のデータ タイプ (Foundation、SR Legacy、Survey、Branded) のサポート
Related MCP server: MCP Deep Web Research Server
設定
リポジトリをクローンする
依存関係をインストールします:
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 devClaude Desktopでの使用
この MCP サーバーを Claude Desktop で使用するには:
Claude デスクトップの設定を開きます。
macOS の場合: Claude メニューをクリックし、「設定...」を選択します
Windows の場合: Claude メニューをクリックし、「設定...」を選択します
設定パネルで、左側のバーにある「開発者」をクリックし、「設定の編集」をクリックします。
これにより、次の場所に構成ファイルが作成されるか開きます。
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
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を再起動します。
再起動後、入力ボックスの右下にハンマーアイコンが表示されます。クリックすると、利用可能なツールが表示されます。
これで、クロードはこのMCPサーバーを介してFood Data Central APIにアクセスできるようになります。クロードに食品の検索、栄養情報の取得、詳細な食品データの取得を依頼できます。
MCP リソースとツール
リソース
food://details- IDで特定の食品の詳細情報を取得しますクエリパラメータ:
fdcId: 食品データセントラル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: オプション。食品のブランド所有者に基づいて結果をフィルタリングします(ブランド食品のみ)tradeChannel: オプション。指定された取引チャネルのいずれかを含む食品をフィルタリングします。startDate: オプション。この日付以降に公開された食品をフィルタリングします(形式: YYYY-MM-DD)endDate: オプション。この日付以前に公開された食品をフィルタリングします(形式: YYYY-MM-DD)
使用例
MCP リソースを使用して食品の詳細を取得します。
food://details?fdcId=2345678&format=fullMCP リソースを使用して複数の食品を入手します。
food://foods?fdcIds=534358,373052,616350MCP リソースを使用して食品のリストを取得します。
food://list?dataType=Foundation,SR Legacy&pageSize=10&pageNumber=1MCP ツールを使用して食品を検索します。
{
"name": "search-foods",
"arguments": {
"query": "apple",
"dataType": ["Foundation", "SR Legacy"],
"pageSize": 10,
"pageNumber": 1
}
}This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to authenticate as an admin.