article
README
🚀 Fitbit MCP (Model Context Protocol)
这是一个适用于Fitbit的模型上下文协议(MCP)实现,可让AI助手访问并分析你的Fitbit健康和健身数据。需要注意的是,这是一个使用Fitbit公共API构建的非官方集成,与Fitbit公司没有关联,也未得到其认可。
免责声明:本项目是使用Fitbit的公共API构建的非官方集成,与Fitbit公司没有关联,也未得到其认可。
🚀 快速开始
🔧 使用方法
JSON配置(用于AI助手框架)
{
"command": "npx",
"args": ["-y", "fitbit-mcp", "--stdio"],
"env": {
"FITBIT_ACCESS_TOKEN": "YOUR_FITBIT_ACCESS_TOKEN"
}
}
使用参数而非环境变量
{
"command": "npx",
"args": ["-y", "fitbit-mcp", "--stdio", "--fitbit-token=YOUR_FITBIT_ACCESS_TOKEN"]
}
🛠️ 可用工具
此MCP为AI助手提供了以下访问Fitbit数据的工具:
- getUserProfile:获取你的Fitbit个人资料信息
- getActivities:获取指定日期的活动数据
- getSleepLogs:获取指定日期的睡眠数据
- getHeartRate:获取指定日期和时间段的心率数据
- getSteps:获取指定日期和时间段的步数
- getBodyMeasurements:获取体重和体脂数据
- getFoodLogs:获取指定日期的食物日志数据
- getWaterLogs:获取指定日期的水摄入数据
- getLifetimeStats:获取终身活动统计数据
- getUserSettings:获取用户设置和偏好
- getFloorsClimbed:获取爬楼梯数据
- getDistance:获取距离数据
- getCalories:获取消耗的卡路里数据
- getActiveZoneMinutes:获取活跃区域分钟数据
- getDevices:获取已连接Fitbit设备的信息
- getBadges:获取已获得的徽章和成就
大多数工具接受可选参数:
date:日期,格式为YYYY - MM - DD(默认为今天)period:数据的时间段(1d、7d、30d、1w、1m)
🔑 获取Fitbit访问令牌
要获取Fitbit访问令牌,请按以下步骤操作:
- 在Fitbit开发者门户创建一个应用程序。
- 将OAuth 2.0应用程序类型设置为“个人”。
- 将回调URL设置为“http://localhost:3000”。
- 创建应用程序后,记录下你的客户端ID和客户端密钥。
- 使用OAuth 2.0授权流程获取访问令牌。
有关OAuth身份验证的详细说明,请参阅Fitbit API文档。
🤝 贡献代码
欢迎贡献代码!你可以按照以下步骤进行贡献:
- 分叉仓库。
- 创建你的功能分支 (
git checkout -b feature/amazing-feature)。 - 提交你的更改 (
git commit -m 'Add some amazing feature')。 - 将更改推送到分支 (
git push origin feature/amazing-feature)。 - 打开一个拉取请求。
每个拉取请求都会触发一个GitHub Actions工作流,用于验证构建过程。
💻 开发设置
# 克隆仓库
git clone https://github.com/your-username/fitbit-mcp.git
cd fitbit-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 在开发模式下运行
npm run dev
🚀 发布流程
要将新版本发布到NPM,请按以下步骤操作:
- 在
package.json中更新版本号。 - 创建一个新的GitHub版本,并使用如
v1.0.1这样的标签。 - GitHub Actions工作流将自动构建并将包发布到NPM。
请确保在你的GitHub仓库设置中配置了NPM_TOKEN密钥。
📄 许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。
微信扫一扫