项目简介

Food Data Central MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它将美国农业部 (USDA) 的 FoodData Central API 接口暴露给大型语言模型 (LLM) 客户端。通过此服务器,LLM 可以方便地访问和利用 USDA 庞大的食品数据库。

主要功能点

  • 食品搜索: 根据关键词搜索 USDA FoodData Central 数据库中的食品。
  • 营养信息: 获取食品的详细营养成分信息。
  • 分页结果: 支持分页返回搜索结果,方便处理大量数据。
  • 多种数据类型: 支持 USDA FoodData Central API 的多种数据类型(Foundation, SR Legacy, Survey, Branded)。

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'food-data-central-mcp-server' 克隆到本地。
  2. 安装依赖: 在仓库根目录下运行 'npm install' 命令安装项目依赖。
  3. 构建项目: 运行 'npm run build' 命令构建项目。

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要配置客户端以连接到此服务器。以下是 Claude Desktop 的配置示例,您需要将其添加到 Claude Desktop 的配置文件 'claude_desktop_config.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": "<在此处填写您的 USDA API 密钥>"
      }
    }
  }
}

配置参数说明:

  • server name: 'food-data-central' (服务器名称,在客户端中用于标识和调用)
  • command: 'npx' (用于执行 npm 包的命令)
  • args: '["tsx", "/path/to/food-data-central-mcp-server/src/index.ts"]'
    • 'tsx': 用于运行 TypeScript 代码的执行器。
    • '/path/to/food-data-central-mcp-server/src/index.ts': 请替换为 'food-data-central-mcp-server' 仓库中 'src/index.ts' 文件的绝对路径。
  • env: 环境变量
    • 'PATH': '/opt/homebrew/bin' (可能需要根据您的环境进行调整,确保包含 'npx' 和 'tsx' 可执行文件的路径)
    • 'USDA_API_KEY': '<在此处填写您的 USDA API 密钥>' 请替换为您从 USDA FoodData Central API 获取的实际 API 密钥。 您需要在 USDA FoodData Central API 网站 注册并获取 API 密钥。

请务必根据您的实际环境修改 '/path/to/food-data-central-mcp-server' 和 '<在此处填写您的 USDA API 密钥>'。

基本使用方法

配置完成后,MCP 客户端(如 Claude Desktop)将能够通过以下方式与此 MCP 服务器交互:

  • 使用资源 (Resources): 通过特定的 URI 访问数据资源。例如:

    • 获取食品详情: 'food://details?fdcId=2345678&format=full'
    • 获取多个食品信息: 'food://foods?fdcIds=534358,373052,616350'
    • 获取食品列表: 'food://list?dataType=Foundation,SR Legacy&pageSize=10&pageNumber=1'
  • 调用工具 (Tools): 通过工具名称和参数执行特定功能。例如,使用 'search-foods' 工具搜索食品时,客户端需要发送如下 JSON 格式的请求:

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

具体如何发送资源请求和调用工具取决于您使用的 MCP 客户端。请参考您使用的 MCP 客户端的文档以了解详细的使用方法。

信息

分类

网页与API