j

jlfwong

@jlfwong/food-data-central-mcp-server
0 Stars 23 次浏览 jlfwong 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Food Data Central MCP 服务器

这是一个用于访问 USDA 的 FoodData Central API 的 Model Context Protocol (MCP) 服务器。

功能

  • 在 USDA FoodData Central 数据库中搜索食物
  • 访问食物营养信息
  • 分页结果
  • 支持多种数据类型(Foundation、SR Legacy、Survey、Branded)

设置

  1. 克隆仓库

  2. 安装依赖项:
    bash
    npm install

  3. 构建项目:
    bash
    npm run build

运行服务器

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

bash

将 USDA API 密钥设置为环境变量

export USDA_API_KEY=your-api-key-here
npm start

开发时启用热重载:

bash

将 USDA API 密钥设置为环境变量

export USDA_API_KEY=your-api-key-here
npm run dev

与 Claude Desktop 一起使用

要将此 MCP 服务器与 Claude Desktop 一起使用:

  1. 打开 Claude Desktop 设置:

    • 在 macOS 上:点击 Claude 菜单并选择 "Settings..."
    • 在 Windows 上:点击 Claude 菜单并选择 "Settings..."
  2. 在设置面板中,点击左侧栏中的 "Developer",然后点击 "Edit Config"

  3. 这将在以下位置创建或打开一个配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%Claudeclaude_desktop_config.json
  4. 将 Food Data Central MCP 服务器添加到配置文件中:

    json
    {
    "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 替换为此仓库的绝对路径,并将 <INSERT KEY HERE> 替换为您的实际 USDA API 密钥。

    注意:如果您在 Windows 上,可能需要调整 PATH 值以包含您的 npm 全局安装目录。

  5. 保存配置文件并重启 Claude Desktop

  6. 重启后,您应该会在输入框右下角看到一个锤子图标。点击它以查看可用工具。

现在 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: 可选。根据食品的品牌所有者进行过滤(仅适用于品牌食品)
  • 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%20Legacy&pageSize=10&pageNumber=1

使用 MCP 工具搜索食品:

json
{
"name": "search-foods",
"arguments": {
"query": "apple",
"dataType": ["Foundation", "SR Legacy"],
"pageSize": 10,
"pageNumber": 1
}
}

相关 MCP 服务