关于 Open Food Facts
Open Food Facts 是用于搜索和贡献 Open Food Facts 食品数据库的 MCP 服务。它支持产品查询、筛选搜索以及经身份验证的数据编辑。
主要功能
- 01按条码查询产品
- 02使用结构化筛选或 Lucene 搜索
- 03自动补全品牌和类别
- 04添加或编辑产品条目
- 05上传并调整产品图片
- 06访问 API 端点和文档
适用场景
- 01查询指定产品的营养信息
- 02通过条码查找配料
- 03按 Nutri-Score 搜索谷物
- 04添加产品详情或图片
MCP 相关
Open Food Facts 向 MCP 客户端提供产品搜索、查询、编辑、图片和 API 文档工具。写入操作需要凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y openfoodfacts-mcpOFF_USER_AGENTUser-Agent string in format 'AppName/Version (email)'. Required by the Open Food Facts API.OFF_USER_IDOpen Food Facts user ID (optional, needed for write operations).OFF_PASSWORD密钥Open Food Facts password (optional, needed for write operations).OFF_COUNTRYCountry subdomain (default: 'world').MCP_TRANSPORTTransport type.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
openfoodfacts-mcp
用于访问 Open Food Facts API 的 MCP 服务,可搜索、读取并为全球最大的开放食品数据库贡献数据。
使用场景
按名称查找产品:“Sainsbury's 的水牛鸡肉卷含有多少卡路里?” -> 按名称搜索,找到产品并返回营养数据。
按条形码查找产品:“条形码为 3017620422003 的产品里有什么?” -> 获取 Nutella 的配料、Nutri-Score 和营养数据。
寻找健康选择:“搜索 Nutri-Score 为 A 的早餐谷物” -> 使用类别和营养等级筛选条件进行搜索。
贡献数据:“为条形码 12345678 添加产品名称和品牌” -> 在 Open Food Facts 上创建或更新产品条目。
探索数据库:“数据库中有哪些有机巧克力品牌?” -> 使用自动补全和搜索进行探索。
设置
请按照 install-mcp 中的说明操作,它会为你的 MCP 客户端(Claude Code、Claude Desktop、Cursor、Cline、VS Code 等)生成正确的配置。
设置 OFF_USER_AGENT,用于标识你的应用(例如 openfoodfacts-mcp/1.2.0 ([email protected]))。对于写入操作(添加/编辑产品、上传图片),还需设置 OFF_USER_ID 和 OFF_PASSWORD。
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
OFF_USER_AGENT | 是 | User-Agent 字符串,例如 "AppName/1.0 ([email protected])" |
OFF_USER_ID | 否 | Open Food Facts 用户名(用于写入操作) |
OFF_PASSWORD | 否 | Open Food Facts 密码(用于写入操作) |
OFF_COUNTRY | 否 | 国家子域名(默认值:world) |
工具
| 工具 | 描述 | 身份验证 |
|---|---|---|
get_product | 根据条形码获取产品信息 | 否 |
search_products_standard | 使用结构化筛选条件(品牌、类别、Nutri-Score)进行搜索 | 否 |
search_products_lucene | 使用 Lucene 语法、取反和布尔逻辑进行搜索 | 否 |
autocomplete | 自动补全品牌、类别、标签等 | 否 |
add_or_edit_product | 添加或更新产品 | 是 |
upload_image | 上传产品图片 | 是 |
select_image | 选择、裁剪和旋转图片 | 是 |
call_api | 直接调用任意 OFF API 端点 | 视情况而定 |
get_api_docs | 获取 OFF API 文档 | 否 |
参与贡献
欢迎在 GitHub 上提交拉取请求!开始之前:
- 安装 Git 和 Node.js
- 克隆代码库
- 使用
npm install安装依赖 - 运行
npm run test执行测试 - 使用
npm run build构建
发布
版本遵循语义化版本规范。
发布步骤:
- 使用
npm version <major | minor | patch>更新版本 - 运行
git push --follow-tags推送代码和标签 - 等待 GitHub Actions 发布到 NPM 注册表。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。