mcpField
O
Open Food Facts MCP Server

Open Food Facts MCP Server

本地服务
npmjs.com健康医疗2238 周前更新

关于 Open Food Facts MCP Server

Open Food Facts MCP Server 将 Open Food Facts 食品数据库接入 AI 助手,提供商品搜索、条码查询、营养评分、过敏原检查和价格查询等功能。适合需要了解食品成分与营养信息的消费者和应用开发者。

主要功能

  1. 01按名称、品牌或类别搜索商品
  2. 02按条码查询商品详细信息
  3. 03查询 Nutri-Score 与 Eco-Score 评级
  4. 04检查指定过敏原与添加剂信息
  5. 05比较两款商品并提供 AI 分析
  6. 06查询 Open Prices 中的价格记录

适用场景

  1. 01查询某商品是否含有牛奶或麸质等过敏原
  2. 02比较两款饮品或零食的营养成分
  3. 03根据手头食材获取食谱建议

MCP 相关

该服务以 MCP 服务形式向 AI 助手提供食品查询、评分与价格工具,并附带营养指南等 MCP 资源和提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Open Food Facts MCP 服务

这是 Open Food Facts 的 Model Context Protocol(MCP)服务实现。它使 AI 助手能够访问食品产品信息,并依据官方 Model Context Protocol 规范提供营养分析、产品比较和食谱建议。

对关注食品的消费者的益处

此 MCP 服务可提供:

  1. 营养洞察:获取由 AI 提供支持的食品产品分析及其对健康的影响
  2. 明智选择:比较产品,从而做出更好的饮食选择
  3. 食谱创意:根据你现有的产品发现食谱
  4. 饮食支持:了解过敏原、添加剂和饮食适配性

可用工具

核心产品工具
  • searchProducts:按名称、品牌、类别或其他关键词在 Open Food Facts 数据库中搜索产品
  • getProductByBarcode:通过产品条形码(EAN、UPC 等)获取详细信息
  • analyzeProduct:获取由 AI 提供支持的食品产品营养分析
  • compareProducts:通过 AI 提供的洞察比较两种产品
  • suggestRecipes:获取使用某种产品的 AI 食谱建议
类别与搜索工具
  • searchByCategory:在特定食品类别(例如饮料、零食、乳制品、谷物)中搜索产品
  • searchByBrand:查找特定品牌的所有产品
  • advancedSearch:使用多个筛选条件进行高级产品搜索,包括类别、品牌、Nutri-Score、Eco-Score、NOVA 组、无过敏原选项、标签和国家/地区
  • autocomplete:获取类别、品牌、标签、配料、过敏原或添加剂的自动补全建议
营养与健康工具
  • getNutriScore:获取产品的 Nutri-Score 等级(A-E),快速了解其健康状况
  • getEcoScore:获取产品的 Eco-Score(环境影响评级 A-E)
  • getAdditivesInfo:列出产品中的所有添加剂及其 E 编号和 NOVA 加工程度
  • getAllergenCheck:检查产品是否含有特定过敏原(麸质、牛奶、鸡蛋、坚果、花生、大豆、鱼类、贝类等)
  • checkMultipleAllergens:一次检查产品是否含有多种过敏原中的任意一种
AI 洞察工具
  • getProductAIQuestions:获取由 AI 生成、需要人工核实的产品问题
  • getRandomAIQuestions:获取 Robotoff 中随机生成、需要人工核实的 AI 问题,非常适合社区贡献
  • getProductInsights:获取由 AI 生成的产品洞察(检测到的标签、类别、配料问题等)
  • getInsightTypes:获取 Robotoff 中可用 AI 洞察类型的摘要
价格工具
  • getProductPrices:从 Open Prices 获取产品的价格历史和当前价格
  • searchPrices:使用筛选条件(货币、国家/地区、日期范围)搜索价格
  • getRecentPrices:获取最近添加的价格,了解有哪些价格信息可用

入门

先决条件
  • Node.js(v16.x 或更高版本)
  • npm 或 yarn
安装
  1. 克隆或下载此代码库

  2. 安装依赖项:

npm install
  1. 构建服务:
npm run build
  1. 启动服务:
npm start

与 AI 助手配合使用

Claude Desktop
  1. 启动 MCP 服务:
npm start
  1. 添加到 Claude Desktop 配置文件(macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
  "mcpServers": {
    "openfoodfacts": {
      "command": "node",
      "args": ["/path/to/OpenFoodFacts-MCP/dist/index.js"],
      "env": {
        "TRANSPORT": "stdio"
      }
    }
  }
}
VS Code 与 GitHub Copilot
  1. 为 VS Code 安装“Model Context Protocol”扩展

  2. 创建 .vscode/mcp.json:

{
  "servers": {
    "openfoodfacts": {
      "command": "node",
      "args": ["${workspaceFolder}/dist/cli.js"],
      "env": {
        "TRANSPORT": "stdio"
      }
    }
  }
}
其他 AI 工具

此服务支持 HTTP/SSE 传输,可供基于浏览器的 AI 工具使用:

TRANSPORT=http PORT=3000 npm start

然后将你的 AI 工具连接到 http://localhost:3000/sse

对话示例

以下是请求 AI 助手使用 Open Food Facts 工具的自然表达方式:

搜索产品
  • “在 Open Food Facts 数据库中搜索巧克力麦片”
  • “查找含有杏仁奶的产品”
  • “查找有机酸奶产品”
获取产品详情
  • “获取条形码为 3017620422003 的产品信息”
  • “条形码为 5000159407236 的产品含有什么成分?”
  • “显示条形码为 8076809513326 的产品营养数据”
分析产品
  • “能分析一下 Nutella 的营养状况吗?”
  • “分析 Cheerios 麦片,告诉我它是否健康”
  • “分析一下 Oreo 饼干的健康状况”
  • “条形码为 3017620422003 的产品健康吗?”
比较产品
  • “比较 Nutella 和 Nocciolata”
  • “Coke 和 Pepsi 哪个更健康?”
  • “从营养角度比较杏仁奶和豆奶”
  • “比较条形码为 3017620422003 和 5000159407236 的产品”
食谱建议
  • “我能用希腊酸奶做什么?”
  • “推荐一些用鹰嘴豆制作的食谱”
  • “给我一些藜麦食谱创意”
  • “我能用产品 3017620422003 做什么食谱?”
类别和品牌搜索
  • “显示饮料类别中的所有产品”
  • “查找所有 Nestlé 产品”
  • “搜索 Nutri-Score 为 A 的有机产品”
  • “查找 Eco-Score 良好的纯素零食”
过敏原检查
  • “Nutella 含有麸质吗?”
  • “检查这款产品对牛奶和鸡蛋过敏者是否安全”
  • “条形码 3017620422003 的产品不含花生吗?”
  • “Cheerios 中有哪些过敏原?”
价格查询
  • “Nutella 当前的价格是多少?”
  • “显示法国近期的产品价格”
  • “比较条形码 3017620422003 产品的价格”

资源和提示词

MCP 服务提供实用的资源和提示词:

资源

服务提供教育资源,帮助你了解食品数据:

  • 快速帮助指南:如何使用 Open Food Facts 工具——速查指南
  • Nutri-Score 指南:了解 Nutri-Score 健康评级(A-E)
  • Eco-Score 指南:了解 Eco-Score 环境评级(A-E)
  • 过敏原参考指南:常见食品过敏原及其隐藏之处
  • 食品添加剂指南:了解 E 编号和食品添加剂
  • NOVA 加工程度指南:了解食品加工等级(1-4)
提示词

预配置的提示词可帮助你快速上手:

  • analyze-product:获取详细的营养分析
  • compare-products:并排比较两款产品
  • find-healthy-alternatives:查找某款产品的更健康替代品
  • check-allergens:检查产品对你的过敏情况是否安全
  • whats-for-dinner:获取使用某款产品的食谱创意

工作原理

MCP 服务在 AI 助手和 Open Food Facts 数据库之间充当桥梁:

  1. 你的问题:你向 AI 助手询问食品产品
  2. 工具检测:AI 识别出需要 Open Food Facts 数据
  3. MCP 请求:AI 调用相应的 MCP 工具
  4. 数据检索:服务从 Open Food Facts 获取数据
  5. AI 分析:AI 处理数据并向你作答

示例工作流

做出更健康的选择
You: "Is Nutella healthy?"

AI Assistant uses:
1. searchProducts to find Nutella
2. getProductByBarcode with the barcode
3. analyzeProduct for nutritional assessment

Response: Detailed analysis of Nutella's nutritional profile,
health scores, ingredients, and dietary considerations
比较选项
You: "Which is better for me, Nutella or almond butter?"

AI Assistant uses:
1. searchProducts for both products
2. compareProducts with both barcodes

Response: Side-by-side comparison with recommendations
based on your dietary needs
规划食谱
You: "What can I make with Greek yogurt?"

AI Assistant uses:
1. searchProducts to find Greek yogurt
2. suggestRecipes with the product

Response: Recipe suggestions that use Greek yogurt
as an ingredient

技术详情

服务架构

该服务采用模块化架构,以便于维护和扩展:

核心服务

  • src/index.ts:入口点
  • src/server.ts:核心 MCP 服务实现,包含资源和提示词注册
  • src/cli.ts:用于开发的 CLI 界面

工具(模块化设计)

  • src/tools/index.ts:工具注册协调器和核心产品工具
  • src/tools/product-search.ts:产品搜索和条形码查询实用工具
  • src/tools/category-tools.ts:类别和品牌搜索工具
  • src/tools/nutrition-tools.ts:营养评分、过敏原检查和添加剂信息
  • src/tools/insights-tools.ts:来自 Robotoff 的 AI 生成洞察
  • src/tools/price-tools.ts:来自 Open Prices 的产品定价数据
  • src/tools/types.ts:共享类型定义和接口
  • src/tools/helpers.ts:供所有工具使用的可复用辅助函数

资源和服务

  • src/resources/:指南和文档的资源处理程序
    • resource-registry.ts:资源注册系统
    • static-resources.ts:静态资源内容(指南、参考资料)
  • src/sampling/:用于分析和食谱生成的 AI 模型集成
    • sampling-service.ts:用于 AI 驱动功能的 MCP sampling 集成

基础设施

  • src/transport/:通信层(用于 CLI/编辑器的 stdio、用于浏览器的 HTTP)
  • src/config/:服务配置
数据来源

所有产品数据均来自 Open Food Facts,这是一个免费的、开放的协作式全球食品产品数据库。

故障排除

服务无法启动
  • 确保已安装 Node.js v16+
  • 运行 npm install 安装依赖项
  • 检查端口 3000 是否可用(用于 HTTP 模式)
AI 无法找到工具
  • 确认 MCP 服务正在运行
  • 检查 AI 助手的 MCP 配置
  • 确保传输类型匹配(stdio 或 HTTP)
未找到产品
  • 先尝试使用 searchProducts 搜索
  • 确认条形码正确(8-14 位数字)
  • 某些产品可能尚未收录到数据库中
响应缓慢
  • 服务会从 Open Food Facts 获取实时数据
  • 首次请求可能会较慢,因为需要检索数据
  • 网络连接速度会影响性能

贡献

欢迎贡献!你可以通过以下方式提供帮助:

  • 添加对更多食品数据库的支持
  • 改进 AI 分析提示词
  • 增强错误处理
  • 添加用于饮食追踪的新工具
  • 改进文档

关于 Open Food Facts

Open Food Facts 是一个人人参与、服务人人的食品产品数据库。这是一个协作项目,收集全球食品产品的信息,包括:

  • 配料
  • 营养成分
  • 过敏原
  • 环境影响
  • 健康评分(Nutri-Score、NOVA)

了解更多信息,请访问 https://world.openfoodfacts.org/

许可证

本项目采用 GNU Affero 通用公共许可证 v3.0,与 Open Food Facts 项目保持一致。

支持


用心为全球关注食品的消费者打造

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。