关于 Food Data Central MCP Server
Food Data Central MCP Server 将 USDA FoodData Central API 接入 MCP 客户端,供营养数据查询使用。支持搜索、营养信息读取及多种数据类型。
主要功能
- 01按关键词搜索食品
- 02读取食品营养信息
- 03分页与排序结果
- 04支持四类食品数据
适用场景
- 01查找食品条目
- 02获取食品营养成分
MCP 相关
通过 stdio 向 MCP 客户端提供食品搜索工具,以及食品详情、批量查询和分页列表资源。需要 USDA API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Food Data Central MCP 服务
这是一个模型上下文协议(MCP)服务,用于提供对美国农业部 FoodData Central API的 API 访问。
功能
- 在美国农业部 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...”
-
在 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,可能需要调整 PATH 值,以包含 npm 全局安装目录。
-
保存配置文件并重启 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。