Food Data Central Mcp Server

Food Data Central Mcp Server

🚀 美国农业部食品数据中央 MCP 服务器

本项目是一个模型上下文协议(MCP)服务器,借助 API 实现对 美国农业部的食品数据中央 API 的访问,可帮助用户便捷地获取食品相关数据。

✨ 主要特性

  • 可在 USDA 食品数据中央数据库中搜索食物。
  • 能够访问食物的营养信息。
  • 支持分页结果展示。
  • 支持多种数据类型,包括基础、SR Legacy、调查、品牌类型。

📦 安装指南

  1. 克隆仓库。
  2. 安装依赖:
    npm install
    
  3. 构建项目:
    npm run build
    

💻 使用示例

基础用法

运行服务器

该服务器使用 stdio 传输,设计为由 MCP 客户端作为子进程运行。若要直接运行:

# 设置 USDA API 密钥为环境变量
export USDA_API_KEY=your-api-key-here
npm start

开发时带有热重载:

# 设置 USDA API 密钥为环境变量
export USDA_API_KEY=your-api-key-here
npm run dev

与 Claude Desktop 使用

要将此 MCP 服务器与 Claude Desktop 一起使用,可按以下步骤操作:

  1. 打开 Claude Desktop 设置:
    • 在 macOS 上:点击 Claude 菜单,选择“设置...”
    • 在 Windows 上:点击 Claude 菜单,选择“设置...”
  2. 在设置窗格中,点击左侧栏的“开发者”,然后点击“编辑配置”。
  3. 这将创建或打开配置文件:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  4. 将食品数据中央 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": ""
    }
    }
    }
    }
    
    替换 /path/to/food-data-central-mcp-server 为您仓库的实际绝对路径,并将 换为您的实际 USDA API 密钥。 注意:如果您使用的是 Windows,可能需要调整 PATH 值以包含 npm 全局安装目录。
  5. 保存配置文件并重新启动 Claude Desktop。
  6. 重新启动后,您应该会在输入框的右下角看到一个锤子图标。点击它即可查看可用工具。

高级用法

使用 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,
"brandOwner": "Some Brand Owner",
"tradeChannel": "Some Trade Channel",
"startDate": "2023-01-01",
"endDate": "2023-12-31"
}
}

📚 详细文档

MCP 资源和工具

资源

  • food://details - 获取特定食品的详细信息(ID)
    • 查询参数:
      • fdcId: 食品数据中央 ID(必需)
      • format: 可选。'abridged' 表示缩略版本,'full' 表示所有元素(默认)
      • nutrients: 可选。最多 25 个营养素编号列表(逗号分隔)
  • food://foods - 使用输入的 FDC ID 获取多个食品的详细信息
    • 查询参数:
      • fdcIds: 以逗号分隔的字符串,包含一个或多个 FDC IDs
  • food://list - 获取食品列表
    • 查询参数:
      • dataType: 数据类型(例如 Foundation, SR Legacy)
      • pageSize: 每页显示的条目数
      • pageNumber: 当前页码

工具

  • search-foods: 搜索食物
    • 参数:
      • query: 要搜索的食物名称
      • dataType: 受支持的数据类型列表(例如 Foundation, SR Legacy)
      • pageSize: 每页显示的条目数
      • pageNumber: 当前页码
      • brandOwner: 特定品牌所有者(仅限品牌食品)
      • tradeChannel: 包含指定贸易渠道的食物
      • startDate: 发布日期起始(格式:YYYY-MM-DD)
      • endDate: 发布日期结束(格式:YYYY-MM-DD)
  • 0 关注
  • 0 收藏,20 浏览
  • system 提出于 2025-09-22 06:03

相似服务问题

相关AI产品