关于 Food Tracker MCP
Food Tracker MCP 是面向饮食记录与营养管理的 MCP 服务,连接 OpenFoodFacts 查询食品信息。它支持饮食限制管理、食品兼容性检查和摄入记录。
主要功能
- 01按条码或关键词搜索食品
- 02分析食品营养成分
- 03管理饮食限制与过敏信息
- 04检查食品与限制的兼容性
- 05记录摄入并查看营养摘要
适用场景
- 01扫描条码查询产品营养信息
- 02购买前检查食品是否符合饮食限制
- 03记录每日餐食并查看摄入情况
MCP 相关
该 MCP 服务向客户端提供食品搜索、营养分析、限制管理和饮食记录等工具,并使用 OpenFoodFacts 数据库查询产品信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Food Tracker MCP
用于跟踪食物摄入、分析营养并管理饮食限制的模型上下文协议(MCP)服务。
概述
Food Tracker MCP 与 OpenFoodFacts 数据库集成,提供全面的食物跟踪系统,功能包括:
- 按条形码或关键词搜索食品
- 分析食品的营养成分
- 根据特定营养目标和饮食限制制定餐食计划
- 通过餐食记录跟踪食物摄入
- 管理饮食限制和过敏
- 检查产品是否符合用户的限制条件
- 查看食物记录和营养摘要
安装
前提条件
- Python 3.8 或更高版本
pip(Python 包管理器)
设置
- 克隆代码库或下载
food_tracker.py文件:
# Option 1: Clone the repository (if available)
git clone https://github.com/yourusername/food-tracker-mcp.git
cd food-tracker-mcp
# Option 2: Create a new directory and save the file there
mkdir food-tracker-mcp
cd food-tracker-mcp
# Copy food_tracker.py into this directory
- 创建虚拟环境(推荐):
python -m venv venv
- 激活虚拟环境:
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate
- 安装所需依赖项:
pip install httpx fastmcp pydantic
- 确保已创建数据目录(脚本会在首次运行时自动创建):
mkdir -p data/users data/logs
运行 MCP 服务
使用以下命令运行服务:
python food_tracker.py
服务启动后即可接收命令。
与 Claude 搭配使用
要将此 MCP 与 Claude 搭配使用,需要在 Claude 平台上注册。操作步骤如下:
-
按照 Anthropic 的文档注册 MCP:
- 访问 https://console.anthropic.com/mcps 或 Anthropic 账户中的相关部分
- 提供必要的信息和端点,注册 food-tracker MCP
-
注册完成后,可以通过调用 MCP 的工具,在 Claude 中使用 Food Tracker。
可在 Claude 中使用的提示词示例:
- “扫描此条形码以查看营养信息:3270190119357”
- “在我的饮食限制中添加花生过敏”
- “记录我早餐吃了一根燕麦棒”
- “搜索含有‘燕麦片’的产品”
- “检查此产品是否符合我的饮食限制”
- “显示我今天的食物记录”
可用工具
此 MCP 提供以下工具,Claude 可以调用:
1. get_product_by_barcode
使用条形码获取食品的详细信息。
参数:
barcode:产品条形码(EAN、UPC 等)
2. search_products
按名称或描述搜索食品。
参数:
query:搜索查询page:分页页码(默认值:1)page_size:每页结果数(默认值:10)
3. manage_user_restrictions
管理用户的饮食限制。
参数:
user_id:用户的唯一标识符action:要执行的操作(get、add、remove、update)restriction_type:限制类型(allergen、diet、ingredient、medical、preference)restriction_value:具体的限制值(例如,“peanuts”“vegetarian”)severity:限制的严重程度(avoid、limit、fatal)notes:有关此限制的补充说明
4. check_product_compatibility
检查产品是否符合用户的饮食限制。
参数:
user_id:用户的唯一标识符barcode:要检查的产品条形码
5. analyze_nutrition
分析食品的营养成分。
参数:
barcode:产品条形码
6. log_food_consumption
记录用户的食物摄入。
参数:
user_id:用户的唯一标识符barcode:产品条形码quantity:摄入量(默认值:1 份)meal_type:餐食类型(breakfast、lunch、dinner、snack)
7. get_user_food_log
获取用户在指定日期的食物记录。
参数:
user_id:用户的唯一标识符date:YYYY-MM-DD 格式的日期(默认为今天)
使用场景示例
为新用户设置饮食限制
- 添加麸质过敏:
manage_user_restrictions(
user_id="user123",
action="add",
restriction_type="allergen",
restriction_value="gluten",
severity="avoid",
notes="Avoid all wheat products"
)
- 添加素食饮食:
manage_user_restrictions(
user_id="user123",
action="add",
restriction_type="diet",
restriction_value="vegetarian"
)
追踪食物摄入
- 扫描产品并记录:
# First get product info
product = get_product_by_barcode(barcode="3270190119357")
# Then log consumption
log_food_consumption(
user_id="user123",
barcode="3270190119357",
quantity=1,
meal_type="breakfast"
)
- 检查是否符合限制条件:
check_product_compatibility(
user_id="user123",
barcode="3270190119357"
)
分析营养信息
- 获取详细的营养分析:
analyze_nutrition(barcode="3270190119357")
- 查看食物日志和营养总量:
get_user_food_log(user_id="user123")
数据存储
Food Tracker MCP 将数据存储在本地 JSON 文件中:
- 用户资料:
./data/users/{user_id}.json - 食物日志:
./data/logs/{user_id}_{date}.json
扩展 MCP
你可以通过以下方式扩展 MCP:
- 添加新的营养分析功能
- 实现更详细的饮食计划和目标
- 根据现有食材添加食谱建议
- 创建营养数据报告和可视化内容
- 实现用于分享进度的社交功能
故障排除
- 如果遇到连接问题,请确保可以访问互联网,因为 MCP 会连接 OpenFoodFacts API
- 如果产品信息不完整,可能是 OpenFoodFacts 数据库的限制所致
- 如果遇到数据持久化问题,请检查数据目录的权限
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。