返回市场
食品数据中央MCP服务器

食品数据中央MCP服务器

作者:jlfwong9 星标更新:2025-04-07

项目介绍

USDA食品数据中央MCP服务器

这是一个模型上下文协议(MCP)服务器,用于提供对USDA食品数据中央API的API访问。

功能

  • 在USDA食品数据中央数据库中搜索食品
  • 访问食品营养信息
  • 分页结果
  • 支持多种数据类型(基础型、SR遗产型、调查型、品牌型)

配置

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

运行服务器

该服务器使用标准I/O传输,这意味着它被设计为由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

要在Claude Desktop中使用此MCP服务器:

  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": "<INSERT KEY HERE>"
          }
        }
      }
    }
    

    /path/to/food-data-central-mcp-server替换为此仓库的绝对路径,并将<INSERT KEY HERE>替换为您的实际USDA API密钥。

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

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

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

现在Claude可以通过这个MCP服务器访问食品数据中央API。您可以要求Claude搜索食品、获取营养信息或检索详细的食品数据。

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: 可选。过滤在此日期或之前发布的食品(格式:YMD)

示例用法

使用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
  }
}