这是一个用于跟踪食物摄入、分析营养成分并管理饮食限制的模型上下文协议(MCP)服务器。
食物追踪器 MCP 与 OpenFoodFacts 数据库集成,提供一个全面的食物追踪系统,具有以下功能:
pip(Python 包管理器)food_tracker.py 文件:# 选项 1:克隆仓库(如果可用)
git clone https://github.com/yourusername/food-tracker-mcp.git
cd food-tracker-mcp
# 选项 2:创建新目录并将文件保存在那里
mkdir food-tracker-mcp
cd food-tracker-mcp
# 将 food_tracker.py 复制到此目录中
python -m venv venv
# 在 Windows 上
venv\Scripts\activate
# 在 macOS/Linux 上
source venv/bin/activate
pip install httpx fastmcp pydantic
mkdir -p data/users data/logs
使用以下命令运行服务器:
python food_tracker.py
服务器启动后即可接收命令。
要将此 MCP 与 Claude 结合使用,您需要将其注册到 Claude 平台上。以下是操作步骤:
按照 Anthropic 的文档注册您的 MCP:
注册完成后,您可以通过调用 MCP 的工具与食物追踪器进行交互。
与 Claude 一起使用的示例提示:
此 MCP 提供以下工具,Claude 可以访问:
get_product_by_barcode使用条形码获取食品产品的详细信息。
参数:
barcode:产品条形码(EAN、UPC 等)search_products按名称或描述搜索食品产品。
参数:
query:搜索查询page:分页的页数(默认:1)page_size:每页的结果数量(默认:10)manage_user_restrictions管理用户的饮食限制。
参数:
user_id:用户的唯一标识符action:执行的操作(get、add、remove、update)restriction_type:限制类型(过敏原、饮食、成分、医疗、偏好)restriction_value:具体的限制值(例如,“花生”、“素食”)severity:限制的严重程度(避免、限制、致命)notes:关于限制的附加说明check_product_compatibility检查产品是否符合用户的饮食限制。
参数:
user_id:用户的唯一标识符barcode:要检查的产品条形码analyze_nutrition分析食品产品的营养成分。
参数:
barcode:产品条形码log_food_consumption记录用户的食品摄入。
参数:
user_id:用户的唯一标识符barcode:产品条形码quantity:摄入量(默认:1份)meal_type:餐食类型(早餐、午餐、晚餐、小吃)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="避免所有小麦制品"
)
manage_user_restrictions(
user_id="user123",
action="add",
restriction_type="diet",
restriction_value="vegetarian"
)
# 首先获取产品信息
product = get_product_by_barcode(barcode="3270190119357")
# 然后记录摄入
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")
食物追踪器 MCP 将数据本地存储在 JSON 文件中:
./data/users/{user_id}.json./data/logs/{user_id}_{date}.json您可以扩展 MCP 通过: