article
README
🚀 Fitbit 模型上下文协议 (MCP) 服务器
本项目实现了一个符合模型上下文协议(MCP)的服务器,它就像一座桥梁,连接着大型语言模型(如 Claude)和 Fitbit API。借助该服务器,大型语言模型能够请求并获取用户 Fitbit 账户中的健康与健身数据,还能通过定义好的工具与之交互。
🚀 快速开始
安装步骤
- 克隆仓库:
git clone [仓库地址] cd fitbit-mcp-server - 安装依赖项:
npm install - 配置环境变量:
- 创建一个
.env文件,并添加以下内容:FITBIT_CLIENT_ID=your_client_id FITBIT_CLIENT_SECRET=your_client_secret
- 创建一个
- 构建项目:
npm run build - 运行服务器:
npm start
与 Claude 集成
若要将此服务器集成到 Claude 环境中,请按以下步骤操作:
- 把构建好的
dist文件夹中的文件添加到 Claude 的工具路径中。 - 在 Claude 的配置文件(通常是
config.json)中添加以下内容:{ "tools": [ { "name": "get_weight", "description": "获取指定时间段内的体重数据。", "parameters": { "type": "object", "properties": { "period": { "type": "string", "enum": ["1d", "7d", "30d", "3m", "6m", "1y"], "description": "指定时间段。必须是 '1d'、'7d'、'30d'、'3m'、'6m' 或 '1y'。" } } } }, { "name": "get_sleep_by_date_range", "description": "获取指定日期范围内的睡眠数据。", "parameters": { "type": "object", "properties": { "startDate": { "type": "string", "format": "date", "description": "开始日期,格式为 'YYYY-MM-DD'。" }, "endDate": { "type": "string", "format": "date", "description": "结束日期,格式为 'YYYY-MM-DD'。" } } } }, { "name": "get_profile", "description": "获取用户的 Fitbit 个人资料信息。", "parameters": {} } ] }
✨ 主要特性
- Fitbit API 集成:运用 OAuth 2.0 安全地连接到 Fitbit API。
- MCP 兼容性:通过符合模型上下文协议的工具提供 Fitbit 数据。
- 可扩展性:设计灵活,便于添加对更多 Fitbit API 端点的支持。
支持的端点
- 体重:
get_weight:可检索指定时间段(1d、7d、30d、3m、6m、1y)内的原始体重数据,以今天为结束日期。需要一个period参数。
- 睡眠:
get_sleep_by_date_range:能检索指定日期范围(最多 100 天)内的原始睡眠日志数据。需要两个参数:startDate和endDate,格式均为YYYY-MM-DD。
- 个人资料:
get_profile:用于检索用户的 Fitbit 个人资料信息。
计划中的端点
未来计划支持更多 Fitbit API 端点,涵盖但不限于:
- 活动数据
- 心率监测
- 血压记录
- 身高等等
💻 使用示例
基础用法
以下是服务器运行后可用工具的概念性示例用法:
get_weight:返回指定时间段内的体重数据。- 参数:
period(字符串,必需) - 指定时间段。必须是以下值之一:"1d"、"7d"、"30d"、"3m"、"6m"、"1y"。 - 示例用法:
get_weight(period="7d")
- 参数:
get_sleep_by_date_range:返回指定日期范围内的睡眠数据。- 参数:
startDate(字符串,必需) - 指定开始日期,格式为YYYY-MM-DD。endDate(字符串,必需) - 指定结束日期,格式为YYYY-MM-DD。
- 示例用法:
get_sleep_by_date_range(startDate="2025-04-01", endDate="2025-04-30")
- 参数:
get_profile:返回用户的 Fitbit 个人资料信息。- 参数:无
- 示例用法:
get_profile()
📚 详细文档
开发
- 源代码存于
src/目录中。 - 修改 TypeScript 文件后,请运行
npm run build进行构建。 - 若服务器已在 Claude 环境下运行,请重启 Claude 以确保其识别最新的构建。
扫码联系在线客服