Fitness Coach MCP
概述
安装
工具列表
内容详情
替代品
什么是Health & Fitness Coach MCP?
这是一个智能健身助手系统,通过Model Context Protocol(MCP)将您的健身数据与AI工具连接起来。它包含网页应用和智能服务器两部分,让您可以通过自然语言与AI交流健身计划、记录训练数据并获得个性化建议。如何使用Health & Fitness Coach MCP?
您可以通过网页界面直观查看健身数据,或者直接通过支持的AI工具(如Cursor、Claude等)用自然语言交互。系统会自动同步所有数据。适用场景
适合希望获得AI个性化健身指导的用户,特别是那些喜欢通过自然语言交互来记录训练、制定计划并跟踪进步的人群。主要功能
训练记录智能识别并记录各种类型的训练,包括力量训练、有氧运动等,自动计算持续时间和强度
营养记录记录每日饮食,自动估算卡路里和营养成分,帮助您保持均衡饮食
AI训练计划根据您的训练历史和目标,自动生成个性化的每周训练计划
进步分析可视化展示您的训练数据和进步趋势,帮助您了解自己的表现
优势与局限性
优势
自然语言交互 - 用日常语言记录训练和获取建议
全平台同步 - 网页端和AI工具数据实时同步
个性化建议 - AI根据您的实际数据提供定制化指导
智能识别 - 自动分类训练类型和营养信息
局限性
需要联网使用核心AI功能
初始设置需要技术基础
部分高级功能需要OpenAI API密钥
如何使用
安装部署
通过Vercel一键部署或本地运行服务
连接AI工具
在Cursor或Claude等支持MCP的工具中添加服务器配置
开始使用
通过网页界面或直接与AI对话来记录训练和获取建议
使用案例
记录日常训练告诉AI您完成的训练,系统会自动记录并分类
获取营养建议询问AI根据您的目标和历史数据应该吃什么
常见问题
需要编程知识才能使用吗?
基本使用不需要编程,但初始部署需要一些技术知识。使用阶段完全可以通过自然语言交互。
我的数据存储在哪里?
默认使用本地存储,也可以配置云数据库。所有数据都保留在您控制的服务器上。
支持哪些AI工具?
目前支持Cursor、Claude Desktop等支持MCP协议的工具,未来会支持更多。
相关资源
MCP协议文档
Model Context Protocol官方文档
GitHub仓库
项目源代码和问题追踪
演示视频
系统功能演示视频
安装
复制以下命令到你的Client进行配置
{
"mcpServers": {
"health-fitness-coach": {
"url": "http://localhost:3000/sse"
}
}
}
{
"mcpServers": {
"health-fitness-coach": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:3000/mcp"]
}
}
}
注意:您的密钥属于敏感信息,请勿与任何人分享。
🚀 健康与健身教练MCP 💪
健康与健身教练MCP是一款由人工智能驱动的综合健身跟踪应用程序,它通过模型上下文协议(MCP) ,弥合了传统健身应用与智能AI辅助之间的差距。
🚀 快速开始
1. 设置MCP服务器
git clone https://github.com/your-username/health-fitness-coach-mcp.git
cd health-fitness-coach-mcp
npm install
cp env.example .env.local
# 添加用于AI生成计划的OPENAI_API_KEY
npm run dev
2. 连接到AI工具
Cursor配置
{
"mcpServers": {
"health-fitness-coach": {
"url": "http://localhost:3000/sse"
}
}
}
Claude Desktop配置
{
"mcpServers": {
"health-fitness-coach": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:3000/mcp"]
}
}
}
3. 测试集成
# 直接测试MCP工具
npm run test:fitness
# 测试特定端点
curl http://localhost:3000/api/context?userId=default-user
4. 开始使用
- Web应用:访问
http://localhost:3000
进行可视化健身跟踪 - AI集成:向你的AI助手询问与健身相关的问题
- 自然语言交互:例如 “记录我的锻炼”、“创建一个计划”、“我目前的情况如何?”
✨ 主要特性
系统架构与MCP集成
┌─────────────────────────────────────────────────────────────────────────────┐
│ 健康与健身教练生态系统 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────┐ │
│ │ 🌐 Web应用 │ │ 🤖 MCP服务器 │ │ 🧠 AI客户端 │ │
│ │ (Next.js) │ │ (协议层) │ │ (Cursor/Claude) │ │
│ │ │ │ │ │ │ │
│ │ • 健身仪表盘 │◄──►│ • 7个智能工具 │◄──►│ • 自然语言交互 │ │
│ │ • 活动记录 │ │ • 数据处理 │ │ • 上下文感知 │ │
│ │ • 进度跟踪 │ │ • 上下文分析 │ │ • 计划生成 │ │
│ │ • 计划可视化 │ │ • API集成 │ │ • 智能查询 │ │
│ │ • 实时更新 │ │ • 协议合规性 │ │ • 工具调用 │ │
│ └─────────────────────┘ └─────────────────────┘ └─────────────────┘ │
│ │ │ │ │
│ └───────────────────────────┼───────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────────────▼─────────────────────────────────────┐ │
│ │ 📊 统一数据层 │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ 🏋️ 锻炼记录 │ │ 🍎 营养记录 │ │ 📋 计划记录 │ │ 💭 反馈记录 │ │ │
│ │ │ • 锻炼会话 │ │ • 饮食记录 │ │ • AI生成计划 │ │ • 进度记录 │ │ │
│ │ │ • 持续时间 │ │ • 卡路里摄入│ │ • 每周计划 │ │ • 笔记记录 │ │ │
│ │ │ • 锻炼类型 │ │ • 食物项目 │ │ • 每日计划 │ │ • 洞察记录 │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
MCP服务器的作用
模型上下文协议(MCP)解释
模型上下文协议(MCP) 是AI应用程序连接到外部数据源和工具的标准化方式。可以将其视为一个通用翻译器,使Claude Desktop或Cursor等AI助手能够理解和与你的健身数据进行交互。
MCP服务器在本应用中的角色
我们的MCP服务器充当一个智能健身数据网关,具有以下功能:
- 🔗 连接AI与健身数据
- 将自然语言的健身查询转换为结构化的数据操作。
- 使AI工具能够读取、写入和分析你的健身信息。
- 根据你的实际健身历史提供上下文感知的响应。
- 🧠 实现智能教练功能
- AI可以询问:“我本周做了哪些锻炼?” → MCP获取并分析你的数据。
- AI可以建议:“创建一个锻炼计划” → MCP生成个性化的锻炼例程。
- AI可以跟踪:“记录我30分钟的跑步” → MCP存储并更新你的进度。
- 📊 提供丰富的上下文信息
- 当你向AI寻求健身建议时,它可以访问你的完整历史记录。
- AI可以识别模式、提出改进建议并跟踪长期进展。
- 根据你的实际表现数据提供个性化的教练服务。
MCP服务器工具与功能
MCP服务器提供了7个智能工具,改变了AI与健身数据的交互方式:
核心记录工具
log-workout
- 锻炼会话跟踪
// 功能:使用智能分类记录锻炼会话
{
tool: "log-workout",
parameters: {
userId: "user123",
date: "2025-01-07",
type: "strength training", // 自动分类:有氧运动、力量训练、柔韧性训练
duration: 45, // 活动持续时间(分钟)
distance: 0 // 有氧运动可选参数
}
}
// AI上下文:“我今天进行了45分钟的力量训练”
log-nutrition
- 饮食与卡路里跟踪
// 功能:使用智能营养分析记录饮食
{
tool: "log-nutrition",
parameters: {
userId: "user123",
date: "2025-01-07",
meal: "breakfast", // 自动检测:早餐/午餐/晚餐/零食
items: ["oatmeal", "banana", "almonds"], // 自然语言描述的食物项目
calories: 350 // 计算或估算的卡路里
}
}
// AI上下文:“我早餐吃了燕麦片、香蕉和杏仁”
log-feedback
- 进度与动力跟踪
// 功能:捕获主观的健身体验和进度笔记
{
tool: "log-feedback",
parameters: {
userId: "user123",
date: "2025-01-07",
notes: "经过持续锻炼,感觉更强壮了。准备挑战更重的重量!"
}
}
// AI上下文:跟踪动力、能量水平和主观进度
智能与规划工具
generate-plan
- AI驱动的健身规划
// 功能:创建个性化的锻炼和营养计划
{
tool: "generate-plan",
parameters: {
userId: "user123"
}
}
// AI魔法:分析你的历史记录、偏好和目标,创建:
// - 明天的锻炼例程
// - 每周锻炼计划
// - 饮食建议
// - 逐步增加难度的调整
view-context
- 全面的健身分析
// 功能:为AI决策提供完整的健身资料
{
tool: "view-context",
parameters: {
userId: "user123"
}
}
// 返回:完整的健身历史记录、模式、目标和洞察信息
// 使AI能够做出明智的教练决策
set-weekly-target
- 目标设定与跟踪
// 功能:设定和跟踪健身目标
{
tool: "set-weekly-target",
parameters: {
userId: "user123",
weekStart: "2025-01-06",
targetRuns: 3, // 每周有氧运动目标
calorieBudget: 2000 // 每日卡路里目标
}
}
// AI上下文:实现以目标为导向的教练服务和进度跟踪
实用工具
echo
- 系统健康与测试
// 功能:测试MCP连接和系统健康状况
{
tool: "echo",
parameters: {
message: "Testing MCP connection"
}
}
// 使用场景:调试和确保MCP服务器响应正常
MCP数据流与AI集成
AI查询如何转化为健身行动
┌─────────────────────────────────────────────────────────────────────────────┐
│ MCP数据流 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ AI工具中的用户:“我今天做了20个俯卧撑,持续了15分钟” │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────┐ │
│ │ 🧠 AI处理 │ │ 🤖 MCP协议层 │ │ 📊 数据存储 │ │
│ │ │ │ │ │ │ │
│ │ • 解析意图 │───►│ • 工具选择 │───►│ • 存储锻炼记录 │ │
│ │ • 提取数据 │ │ • 参数映射 │ │ • 更新统计信息 │ │
│ │ • 选择操作 │ │ • 执行工具调用 │ │ • 计算进度 │ │
│ │ • 格式化响应 │◄───│ • 返回结果 │◄───│ │ │
│ └─────────────────────┘ └─────────────────────┘ └─────────────────┘ │
│ │ │
│ ▼ │
│ AI响应:“太棒了!我已经记录了你15分钟的俯卧撑锻炼。你今天的锻炼目标是60分钟,目前已完成15分钟。” │
└─────────────────────────────────────────────────────────────────────────────┘
Web应用与MCP服务器集成
┌─────────────────────────────────────────────────────────────────────────────┐
│ 双接口系统 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ 🌐 Web界面 │ │ 🤖 AI界面 │ │
│ │ │ │ │ │
│ │ • 可视化仪表盘 │ │ • 自然语言交互 │ │
│ │ • 点击记录功能 │ │ • 上下文查询 │ │
│ │ • 进度图表展示 │ │ • 智能规划 │ │
│ │ • 计划显示功能 │ │ • 模式分析 │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ 🔄 MCP服务器核心 │ │
│ │ │ │
│ │ • 为两个接口提供统一的数据访问 │ │
│ │ • 一致的业务逻辑和验证机制 │ │
│ │ • Web和AI之间的实时同步 │ │
│ │ • 智能缓存和性能优化 │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
实际使用场景
场景1:每日锻炼记录
👤 Cursor中的用户:“我刚刚完成了30分钟的HIIT锻炼”
🤖 AI + MCP处理流程:
1. AI识别锻炼记录意图
2. MCP调用 `log-workout` 工具
3. 存储:锻炼类型="HIIT",持续时间=30,日期=今天
4. 更新每日进度计数器
5. AI回复鼓励信息并更新进度
📱 Web应用:自动显示更新后的锻炼时长和锻炼完成情况
场景2:智能计划生成
👤 Claude中的用户:“根据我本周的锻炼情况,为我创建一个明天的锻炼计划”
🤖 AI + MCP处理流程:
1. MCP调用 `view-context` 分析本周的锻炼活动
2. AI识别模式:主要是上肢锻炼,有氧运动较少
3. MCP调用 `generate-plan` 并提供上下文信息
4. 创建一个强调腿部锻炼和有氧运动的平衡计划
5. 存储明天的锻炼计划
📱 Web应用:明天的锻炼部分会填充AI生成的锻炼项目
场景3:营养指导
👤 AI工具中的用户:“我想吃得更健康,午餐应该吃什么?”
🤖 AI + MCP处理流程:
1. MCP调用 `view-context` 检查今天的饮食和卡路里目标
2. AI分析营养缺口和卡路里预算
3. 建议具体的饮食并提供卡路里计数
4. 用户确认:“我要吃烤鸡肉沙拉”
5. MCP调用 `log-nutrition` 记录饮食
📱 Web应用:更新营养进度和饮食历史记录
MCP集成的主要优势
对用户而言
- 🎯 个性化AI教练:AI可以全面了解你的健身历程
- 💬 自然交互:用简单的英语与AI交流健身目标
- 📊 智能洞察:AI可以识别模式并提出改进建议
- 🔄 无缝体验:数据在Web应用和AI工具之间自动同步
对开发者而言
- 🔌 协议合规性:标准的MCP实现可以与任何MCP客户端配合使用
- 🛠️ 可扩展架构:易于添加新的工具和功能
- 📈 丰富的上下文信息:AI工具可以获取全面的健身数据,以便做出更好的决策
- 🔧 灵活部署:可以与Cursor、Claude Desktop或自定义AI工具配合使用
对AI应用而言
- 🧠 领域专业知识:具备专业的健身知识和数据处理能力
- 📋 结构化数据:干净、有组织的健身信息,便于分析
- ⚡ 实时更新:实时数据同步,提供最新信息
- 🎨 丰富的响应:基于上下文的个性化健身教练响应
📦 安装指南
本地开发
- 运行
npm run dev
启动开发服务器 - MCP服务器可通过
http://localhost:3000/mcp
访问 - Web界面可通过
http://localhost:3000
访问
生产部署
- 点击一键按钮部署到Vercel
- 配置环境变量(OPENAI_API_KEY)
- MCP服务器将自动在你的域名下可用
自定义部署
- 支持使用Docker进行容器化部署
- 可根据不同的设置配置环境变量
- 可扩展的架构,适用于多用户场景
💻 使用示例
基础用法
// 使用log-workout工具记录锻炼
{
tool: "log-workout",
parameters: {
userId: "user123",
date: "2025-01-07",
type: "strength training",
duration: 45,
distance: 0
}
}
高级用法
// 使用generate-plan工具生成个性化锻炼计划
{
tool: "generate-plan",
parameters: {
userId: "user123"
}
}
🔧 技术细节
MCP协议合规性
// 符合MCP的工具定义
export const logWorkoutTool = {
name: "log-workout",
description: "记录锻炼会话,包括锻炼类型、持续时间和可选的距离",
inputSchema: {
type: "object",
properties: {
userId: { type: "string", description: "唯一的用户标识符" },
date: { type: "string", description: "日期,格式为YYYY-MM-DD" },
type: { type: "string", description: "锻炼类型(例如,'跑步'、'力量训练')" },
duration: { type: "number", description: "持续时间(分钟)" },
distance: { type: "number", description: "距离(公里,可选)" }
},
required: ["userId", "date", "type", "duration"]
}
}
数据存储与检索
// 带有持久化钩子的内存存储
export const workoutStore = createInMemoryStore<WorkoutEntry>()
export const nutritionStore = createInMemoryStore<NutritionEntry>()
export const planStore = createInMemoryStore<PlanEntry>()
// MCP工具实现
export async function logWorkout(params: LogWorkoutParams) {
const entry: WorkoutEntry = {
id: generateId(),
userId: params.userId,
date: params.date,
type: params.type,
duration: params.duration,
distance: params.distance,
timestamp: new Date().toISOString()
}
workoutStore.set(entry.id, entry)
return { success: true, entry }
}
AI集成层
// 与MCP集成的聊天接口
export async function processFitnessQuery(message: string, userId: string) {
const intent = detectIntent(message)
switch (intent.type) {
case 'log_workout':
return await callMCPTool('log-workout', {
userId,
date: intent.date,
type: intent.workoutType,
duration: intent.duration
})
case 'generate_plan':
return await callMCPTool('generate-plan', { userId })
case 'view_progress':
return await callMCPTool('view-context', { userId })
}
}
🧪 测试与开发
可用的测试脚本
# 测试所有MCP工具
npm run test:fitness
# 测试HTTP传输
npm run test:http
# 测试MCP集成
npm run test:mcp
# 调试工具功能
npm run debug:tools
MCP工具测试
// 测试锻炼记录
const result = await mcpClient.callTool('log-workout', {
userId: 'test-user',
date: '2025-01-07',
type: 'running',
duration: 30,
distance: 5.0
})
console.log('锻炼记录成功:', result)
🔧 环境配置
必需变量
# 用于AI生成健身计划的OpenAI API密钥
OPENAI_API_KEY=your_openai_api_key_here
# 可选的Redis,用于提高性能
UPSTASH_REDIS_REST_URL=your_redis_url
UPSTASH_REDIS_REST_TOKEN=your_redis_token
可选配置
# 单用户设置的自定义用户ID
DEFAULT_USER_ID=my-fitness-journey
# 调试日志级别
LOG_LEVEL=debug
# 开发用的自定义端口
PORT=3000
🤝 贡献与扩展
添加新的MCP工具
// 在tools/目录下创建新工具
export const myCustomTool = {
name: "my-custom-tool",
description: "此工具的功能描述",
inputSchema: {
// 定义参数
},
handler: async (params) => {
// 实现逻辑
}
}
// 在tools/index.ts中注册
export const tools = [
// ... 现有工具
myCustomTool
]
扩展Web界面
- 在
components/
目录下添加新组件 - 在
app/api/
中创建新功能的API路由 - 在
app/page.tsx
中更新主仪表盘
自定义AI集成
- 实现额外的MCP客户端
- 添加对其他AI平台的支持
- 创建自定义查询处理逻辑
📄 许可证
MIT许可证 - 你可以自由使用此项目作为自己的MCP服务器和健身应用的基础。
本项目展示了如何构建生产就绪的MCP服务器,将AI工具与特定领域的应用程序连接起来,为其他领域的类似集成提供了模板。
🤖 由模型上下文协议提供支持
将AI智能与现实世界的健身数据连接起来
A
Apple Health MCP
一个用于通过SQL查询苹果健康数据的MCP服务器,基于DuckDB实现高效分析,支持自然语言查询和自动报告生成。
TypeScript
6.9K
4.5分
Z
Zen MCP Server
Zen MCP是一个多模型AI协作开发服务器,为Claude和Gemini CLI等AI编码助手提供增强的工作流工具和跨模型上下文管理。它支持多种AI模型的无缝协作,实现代码审查、调试、重构等开发任务,并能保持对话上下文在不同工作流间的延续。
Python
11.9K
5分
O
Opendia
OpenDia是一款开源浏览器扩展工具,允许AI模型直接控制用户浏览器,利用现有登录状态、书签等数据进行自动化操作,支持多种浏览器和AI模型,注重隐私保护。
JavaScript
8.5K
5分

Notte Browser
已认证
Notte是一个开源的全栈网络AI代理框架,提供浏览器会话、自动化LLM驱动的代理、网页观察与操作、凭证管理等功能,旨在将互联网转化为代理友好的环境,并通过自然语言描述网站结构,降低LLM的认知负担。
19.4K
4.5分

Bing Search MCP
一个用于集成微软Bing搜索API的MCP服务器,支持网页、新闻和图片搜索功能,为AI助手提供网络搜索能力。
Python
18.5K
4分

Cloudflare
Changesets是一个用于管理多包或单包仓库版本和发布的构建工具。
TypeScript
11.6K
5分

Eino
Eino是一个专为Golang设计的LLM应用开发框架,旨在通过简洁、可扩展、可靠且高效的组件抽象和编排能力,简化AI应用开发流程。它提供丰富的组件库、强大的图形编排功能、完整的流处理支持以及高度可扩展的切面机制,覆盖从开发到部署的全周期工具链。
Go
16.4K
5分

Modelcontextprotocol
已认证
该项目是一个集成Sonar API的MCP服务器实现,为Claude提供实时网络搜索能力。包含系统架构、工具配置、Docker部署及多平台集成指南。
TypeScript
12.8K
5分
精选MCP服务推荐

Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
36.1K
4.3分

Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
41.3K
4.5分

Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
55.1K
5分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
18.2K
4.8分

Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
28.2K
4.5分

Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
39.4K
4.7分

Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
29.1K
4.8分

Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
28.1K
5分