健康追踪服务器

一个全面的健康追踪服务器,提供AI驱动的营养、睡眠、体重管理和运动建议。

  • by anandxdj
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 DJ-no1/health-mcp

使用说明

健康MCP服务器 🏥

全面的 模型上下文协议(MCP) 提供全面健康追踪服务的服务器,配备AI驱动的个性化建议。基于FastMCP构建。


🚀 快速入门

安装

# Clone or download this repository
cd health-mcp

# Install dependencies
pip install fastmcp
# OR using uv (recommended)
uv pip install fastmcp

运行服务器

python main.py

连接到Claude桌面版

  1. 找到你的Claude配置文件:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加此配置:

{
  "mcpServers": {
    "health-tracker": {
      "command": "python",
      "args": ["C:/ABSOLUTE/PATH/TO/health-mcp/main.py"]
    }
  }
}
  1. 重启Claude桌面版

  2. 测试它: 说“我吃了两个印度薄饼和豆类”——克劳德会自动记录你的餐食! 🎉

📖 书籍或阅读的象征 详细的设置指南: MCP_SETUP.md 翻译成中文是:“MCP设置文件(或MCP配置指南).md”。其中,“.md”通常表示这是一个Markdown格式的文件


📊 营养追踪:

  • 记录餐食 - 记录你的饮食并自动计算营养成分
  • 食物列表 - 浏览23种以上的食物(国际+印度美食)
  • 获取每日营养信息 - 完成每日营养总结
  • 将食物添加到数据库 - 添加自定义食物
  • 获取营养统计数据 - 多日营养统计

😴 睡眠追踪:

  • 日志睡眠 - 记录你睡觉和醒来的时间
  • 获取睡眠总结 - 分析睡眠模式和质量

⚖️ 体重管理:

  • 对数权重 - 跟踪随时间变化的重量
  • 获取体重趋势 - 可视化体重变化

👤 用户资料与目标:

  • 设置用户配置文件 - 设置身高、目标体重、热量摄入目标、地区、饮食偏好
  • 获取用户资料 - 查看你个人资料

🤖 智能推荐:

  • 推荐食物 - 根据以下条件获取餐点建议:
    • 你每日的热量摄入目标
    • 你今天已经吃过的食物
    • 您的地区(地区特色美食!)
    • 剩余卡路里
  • 推荐锻炼 - 根据以下方面获取锻炼建议:
    • 你的睡眠质量和时长
    • 目标体重目标
    • 活动水平
    • 能级

💪 运动追踪:

  • 记录锻炼(或:锻炼日志) - 记录锻炼轨迹并估算卡路里消耗
  • 获取每日摘要 - 完成每日健康仪表盘

🏃 基本健康工具:

  • 计算BMI - 身高体重指数(BMI)计算器
  • 每日饮水量 - 水分摄入建议
  • 步数换热量 - 将步数转换为卡路里
  • 心率区间 - 训练心率区间

🎯 工作原理

这正是您所要求的!大型语言模型(LLM)现在可以:

  1. 追踪您告诉它的所有内容:

    • “我吃了两个印度薄饼、豆类汤和奶酪”→ 记录包含营养成分的餐食
    • “我晚上11点睡觉,早上7点起床”→ 记录睡眠时长
    • “我今天体重75公斤”→ 记录体重
  2. 智能食品推荐:

    • 计算当天剩余卡路里
    • 建议提供适合当地特色的餐食(印度菜/国际菜)
    • 建议根据您的目标调整食物分量
  3. 个性化锻炼建议:

    • 分析你的睡眠质量
    • 考虑你的体重目标
    • 建议进行适当强度的锻炼
  4. 全面健康仪表盘:

    • 在一个地方查看所有内容
    • 随时间跟踪进度
    • 保持或达到你的目标体重

文档


🎯 什么让它变得特别?

🤖 人工智能原生设计

专为大型语言模型(LLM)交互而构建。Claude/GPT能够:

  • 解析自然语言 “I ate 2 rotis” 翻译成中文是:“我吃了两个印度薄饼” log_meal("roti:120")
  • 串联多个工具 “显示我的进度”调用营养+睡眠+体重工具
  • 提供情境感知的推荐 → 基于时间、地区、储藏室(或食物储备)、目标

🌍 区域感知

  • 印度: 罗蒂(一种印度薄饼)、达尔(一种豆类或豆粉炖菜)、帕尼尔(印度干酪)、伊迪利(一种南印度发酵米糕)、多萨(一种南印度煎饼)、酸奶、萨莫萨(一种三角形炸饺)等。
  • 国际: 鸡肉、意大利面、燕麦片、三文鱼、藜麦等。
  • 建议根据您的区域设置进行调整

🧠 智能推荐

  • 食物建议 基于:剩余卡路里、餐食类型、地区、食品储藏室可用情况
  • 运动建议 基于:睡眠质量、体重目标、能量水平
  • 基于时间的常规程序/例行程序 → 早餐与晚餐的食物不同

隐私优先

  • 100%本地 - 所有数据都留在您的机器上
  • 无云端同步 - 你文件夹中的SQLite数据库
  • 无追踪 - 无遥测,无API调用

# Install dependencies
pip install fastmcp

# Run the server
python main.py

📖 示例用法

第一天:设置

LLM: "Let me set up your profile"
→ set_user_profile(height_m=1.75, target_weight_kg=70, daily_calorie_goal=2000,
                    activity_level="moderate", region="India", dietary_preferences="vegetarian")

早上好

You: "I slept at 11 PM and woke up at 7 AM"
LLM: → log_sleep("23:00", "07:00")
Response: "✓ Sleep logged: 8 hours (good quality)"

You: "I had 2 idlis and sambar for breakfast"
LLM: → log_meal("idli:150, dal:100")
Response: "✓ Logged 203 calories, Protein: 11g..."

午餐时间

You: "What should I eat for lunch?"
LLM: → recommend_foods("lunch")
Response: "
🍽️ Food Recommendations:
📊 Consumed: 203 kcal, Remaining: 1797 kcal
🎯 Target for lunch: ~700 kcal

Suggested meals:
1. High protein balanced meal:
   Foods: brown rice:150, dal:100, paneer:80
   💡 Use: log_meal('brown rice:150, dal:100, paneer:80')
..."

You: "I'll have that"
LLM: → log_meal("brown rice:150, dal:100, paneer:80")

傍晚

You: "Should I exercise today?"
LLM: → recommend_exercise()
Response: "
💪 Exercise Recommendations:
😴 Sleep: 8 hours (Good energy - You can do intense workouts!)
🎯 Goal: Maintain weight

1. Brisk Walking/Jogging (30 mins) - Burns ~250 cal
2. Bodyweight Exercises (20 mins) - Burns ~180 cal
..."

You: "I did 30 minutes of jogging"
LLM: → log_exercise("jogging", 30, "moderate")

夜晚

You: "Show me today's summary"
LLM: → get_daily_summary()
Response: "
📅 Health Summary for 2025-10-17
==================================================
🍽️ NUTRITION: 1450 kcal
😴 SLEEP: 23:00 → 07:00 (8 hours)
💪 EXERCISE: Jogging 30 min (~180 kcal)
⚖️ WEIGHT: 72 kg
📊 NET CALORIES: 1270 kcal
"

🌍 地区支持

该服务器提供地区特色食品:

印度: 印度烤饼,达拉(一种印度面食),印度奶酪(帕尼尔),印度薄饼,印度蒸糕,印度南印度薄饼(多萨),印度酸奶,印度炸三角饺(萨莫萨) 国际: 鸡肉、米饭、燕麦、三文鱼、意大利面、鸡蛋等。

在个人资料中设置您的地区,以获取定制化的餐食推荐!

🎯 体重管理

该系统可帮助您:

  • 保持体重均衡的建议
  • 减肥低热量餐食,更多有氧运动
  • 增加体重高热量餐食,力量训练

📱 集成

添加到您的MCP客户端(如Claude Desktop等):

{
  "mcpServers": {
    "health": {
      "command": "python",
      "args": ["path/to/health-mcp/main.py"]
    }
  }
}

🔧 工具概述

总计:20种工具 分为7个类别:

  1. 基础健康(4种工具)
  2. 营养追踪(5种工具)
  3. 睡眠追踪(2种工具)
  4. 体重追踪(2种工具)
  5. 用户配置文件(2种工具)
  6. 智能推荐(2种工具)
  7. 练习与总结(3种工具)

这正是您想要的: 告诉大型语言模型(LLM)你吃了什么以及何时睡觉,它会为你追踪所有信息,推荐适合你所在地区的食物以保持体重,并建议锻炼方案以保持你的健康和活力! 🎉