关于 Fitbit MCP Server
Fitbit MCP Server 让 Claude Desktop 等 MCP 兼容 AI 工具访问用户的 Fitbit 健康数据,用于趋势分析与健康信息查询。它面向希望在 AI 对话中查看运动、睡眠和心率等数据的个人用户。
主要功能
- 01运动记录与活动摘要查询
- 02睡眠数据与质量指标查询
- 03体重、心率及营养日志查询
- 04按日期范围获取多项数据
- 05基于 OAuth 2.0 的 Fitbit 授权流程
适用场景
- 01查询一周内的睡眠模式
- 02分析运动时的平均心率
- 03查看体重变化趋势与营养摄入
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 get_sleep_by_date_range、get_heart_rate、get_food_log 等 Fitbit 数据工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
面向 AI 的 Fitbit MCP 连接器
将 AI 助手连接到你的 Fitbit 健康数据
让 AI 助手访问你的 Fitbit 数据,获取个性化健康洞察、趋势分析和自动化追踪。适用于 Claude Desktop 和其他兼容 MCP 的 AI 工具。
功能介绍
🏃 运动与活动 - 获取详细的锻炼记录和活动数据
😴 睡眠分析 - 查看睡眠模式和睡眠质量指标
⚖️ 体重追踪 - 查看体重随时间变化的趋势
❤️ 心率数据 - 监测心率模式和心率区间
🍎 营养记录 - 查看食物摄入量、卡路里和宏量营养素
👤 个人资料信息 - 查看 Fitbit 个人资料的基本信息
你可以这样向 AI 提问:“显示我本周的睡眠模式”或“我锻炼时的平均心率是多少?”
快速开始
🚀 想立即试用这些工具?
选项 1:从 npm 安装(推荐)
-
- 创建应用时,将 OAuth 2.0 Application Type 设为
Personal - 将 Callback URL 设为
http://localhost:3000/callback - 记下你的 Client ID 和 Client Secret
- 创建应用时,将 OAuth 2.0 Application Type 设为
-
全局安装软件包:
npm install -g mcp-fitbit
- 添加到你的 Claude Desktop 配置文件:
{
"mcpServers": {
"fitbit": {
"command": "mcp-fitbit",
"args": [],
"env": {
"FITBIT_CLIENT_ID": "your_client_id_here",
"FITBIT_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
- 配置文件位置:
- Windows:%AppData%\Claude\claude_desktop_config.json
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json
- 重启 Claude Desktop,然后询问 Fitbit 数据相关问题!
选项 2:开发环境设置
- 获取 Fitbit API 凭据(参见下方的安装说明)
- 然后运行:
git clone https://github.com/TheDigitalNinja/mcp-fitbit
cd mcp-fitbit
npm install
# Create .env with your Fitbit credentials
npm run dev
这两种方式都会打开 MCP Inspector,地址为 http://localhost:5173,你可以在其中交互式测试所有工具并完成 OAuth 流程。
安装
面向最终用户(npm 软件包)
-
在 dev.fitbit.com 获取 Fitbit API 凭据
- 将 OAuth 2.0 Application Type 设为
Personal - 将 Callback URL 设为
http://localhost:3000/callback
- 将 OAuth 2.0 Application Type 设为
-
安装软件包:
npm install -g mcp-fitbit -
在软件包目录中创建
.env文件:首次运行
mcp-fitbit时,它会准确告知你需要在哪里创建.env文件。文件路径大致如下:C:\Users\YourName\AppData\Roaming\npm\node_modules\mcp-fitbit\.env -
将凭据添加到
.env文件中:FITBIT_CLIENT_ID=your_client_id_here FITBIT_CLIENT_SECRET=your_client_secret_here -
运行服务:
mcp-fitbit
面向开发者(从源代码安装)
-
在 dev.fitbit.com 获取 Fitbit API 凭据
- 将 OAuth 2.0 Application Type 设为
Personal - 将 Callback URL 设为
http://localhost:3000/callback
- 将 OAuth 2.0 Application Type 设为
-
克隆并设置:
git clone https://github.com/TheDigitalNinja/mcp-fitbit cd mcp-fitbit npm install -
创建
.env文件:FITBIT_CLIENT_ID=your_client_id_here FITBIT_CLIENT_SECRET=your_client_secret_here -
构建服务:
npm run build
可用工具
| 工具 | 描述 | 参数 |
|---|---|---|
get_weight | 一段时间内的体重数据 | period:1d、7d、30d、3m、6m、1y |
get_sleep_by_date_range | 日期范围内的睡眠记录(最多 100 天) | startDate、endDate(YYYY-MM-DD) |
get_exercises | 指定日期之后的活动/锻炼记录 | afterDate(YYYY-MM-DD)、limit(1-100) |
get_daily_activity_summary | 每日活动摘要和目标 | date(YYYY-MM-DD) |
get_activity_goals | 用户的活动目标(每日/每周) | period:daily、weekly |
get_activity_timeseries | 活动时间序列数据(最多 30 天) | resourcePath、startDate、endDate(YYYY-MM-DD) |
get_azm_timeseries | 活跃区分钟数时间序列(最多 1095 天) | startDate、endDate(YYYY-MM-DD) |
get_heart_rate | 一段时间内的心率 | period:1d、7d、30d、1w、1m,可选的 date |
get_heart_rate_by_date_range | 日期范围内的心率(最多 1 年) | startDate、endDate(YYYY-MM-DD) |
get_food_log | 某一天的完整营养数据 | date(YYYY-MM-DD 或 "today") |
get_nutrition | 一段时间内的单项营养素数据 | resource、period,可选的 date |
get_nutrition_by_date_range | 日期范围内的单项营养素数据 | resource、startDate、endDate |
get_profile | 用户个人资料信息 | 无 |
营养资源: caloriesIn、water、protein、carbs、fat、fiber、sodium
活动时间序列资源: steps、distance、calories、activityCalories、caloriesBMR、tracker/activityCalories、tracker/calories、tracker/distance
Claude Desktop
使用 npm 包(推荐):
添加到 claude_desktop_config.json:
{
"mcpServers": {
"fitbit": {
"command": "mcp-fitbit",
"args": []
}
}
}
使用本地开发版本:
添加到 claude_desktop_config.json:
{
"mcpServers": {
"fitbit": {
"command": "node",
"args": ["C:\\path\\to\\mcp-fitbit\\build\\index.js"]
}
}
}
配置文件位置:
- Windows:
%AppData%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
首次运行授权
首次要求 AI 助手使用 Fitbit 数据时:
- 服务会在浏览器中打开
http://localhost:3000/auth - 登录 Fitbit 并授予权限
- 系统会将你重定向到成功页面
- 你的 AI 现在可以访问 Fitbit 数据了!
开发
npm run lint # Check code quality
npm run format # Fix formatting
npm run build # Compile TypeScript
npm run dev # Run with MCP inspector
架构: 请参阅 TASKS.md,了解改进机会和技术细节。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。