mcpField
F
Food Tracker MCP

Food Tracker MCP

本地服务
github.com/nagarjun226AI 与智能体682 周前更新

关于 Food Tracker MCP

Food Tracker MCP 是面向饮食记录与营养管理的 MCP 服务,连接 OpenFoodFacts 查询食品信息。它支持饮食限制管理、食品兼容性检查和摄入记录。

主要功能

  1. 01按条码或关键词搜索食品
  2. 02分析食品营养成分
  3. 03管理饮食限制与过敏信息
  4. 04检查食品与限制的兼容性
  5. 05记录摄入并查看营养摘要

适用场景

  1. 01扫描条码查询产品营养信息
  2. 02购买前检查食品是否符合饮食限制
  3. 03记录每日餐食并查看摄入情况

MCP 相关

该 MCP 服务向客户端提供食品搜索、营养分析、限制管理和饮食记录等工具,并使用 OpenFoodFacts 数据库查询产品信息。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Food Tracker MCP

用于跟踪食物摄入、分析营养并管理饮食限制的模型上下文协议(MCP)服务。

概述

Food Tracker MCP 与 OpenFoodFacts 数据库集成,提供全面的食物跟踪系统,功能包括:

  • 按条形码或关键词搜索食品
  • 分析食品的营养成分
  • 根据特定营养目标和饮食限制制定餐食计划
  • 通过餐食记录跟踪食物摄入
  • 管理饮食限制和过敏
  • 检查产品是否符合用户的限制条件
  • 查看食物记录和营养摘要

安装

前提条件
  • Python 3.8 或更高版本
  • pip(Python 包管理器)
设置
  1. 克隆代码库或下载 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
  1. 创建虚拟环境(推荐):
python -m venv venv
  1. 激活虚拟环境:
# On Windows
venv\Scripts\activate

# On macOS/Linux
source venv/bin/activate
  1. 安装所需依赖项:
pip install httpx fastmcp pydantic
  1. 确保已创建数据目录(脚本会在首次运行时自动创建):
mkdir -p data/users data/logs

运行 MCP 服务

使用以下命令运行服务:

python food_tracker.py

服务启动后即可接收命令。

与 Claude 搭配使用

要将此 MCP 与 Claude 搭配使用,需要在 Claude 平台上注册。操作步骤如下:

  1. 按照 Anthropic 的文档注册 MCP:

  2. 注册完成后,可以通过调用 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 格式的日期(默认为今天)

使用场景示例

为新用户设置饮食限制
  1. 添加麸质过敏:
manage_user_restrictions(
    user_id="user123",
    action="add",
    restriction_type="allergen", 
    restriction_value="gluten",
    severity="avoid",
    notes="Avoid all wheat products"
)
  1. 添加素食饮食:
manage_user_restrictions(
    user_id="user123",
    action="add",
    restriction_type="diet", 
    restriction_value="vegetarian"
)
追踪食物摄入
  1. 扫描产品并记录:
# 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"
)
  1. 检查是否符合限制条件:
check_product_compatibility(
    user_id="user123",
    barcode="3270190119357"
)
分析营养信息
  1. 获取详细的营养分析:
analyze_nutrition(barcode="3270190119357")
  1. 查看食物日志和营养总量:
get_user_food_log(user_id="user123")

数据存储

Food Tracker MCP 将数据存储在本地 JSON 文件中:

  • 用户资料:./data/users/{user_id}.json
  • 食物日志:./data/logs/{user_id}_{date}.json

扩展 MCP

你可以通过以下方式扩展 MCP:

  1. 添加新的营养分析功能
  2. 实现更详细的饮食计划和目标
  3. 根据现有食材添加食谱建议
  4. 创建营养数据报告和可视化内容
  5. 实现用于分享进度的社交功能

故障排除

  • 如果遇到连接问题,请确保可以访问互联网,因为 MCP 会连接 OpenFoodFacts API
  • 如果产品信息不完整,可能是 OpenFoodFacts 数据库的限制所致
  • 如果遇到数据持久化问题,请检查数据目录的权限

评论

支持 Markdown

第一次接触 MCP?

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

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