Pierre Fitness API 是一个多协议的健身数据 API,它通过模型上下文协议(MCP)、A2A(代理到代理)协议和 REST API,为用户提供对来自多个提供商(如 Strava、Fitbit)的健身数据的安全访问。该 API 专为大语言模型(LLMs)和人工智能应用程序而构建,具备企业级的 API 密钥管理功能,包括分层速率限制、自动过期的试用密钥、OAuth 集成、实时分析、全面的活动智能分析以及支持人工智能代理通信的多协议。
| 方法 | 命令 | 使用场景 |
|---|---|---|
| 🏠 本地部署 | cargo run --bin pierre-mcp-server -- --single-tenant |
个人使用、开发 |
| 🐳 Docker 部署 | ./docker-compose-with-envrc.sh up |
轻松部署,支持云环境 |
| 🤖 人工智能助手集成 | 添加到 MCP 客户端配置 | 与 Claude、ChatGPT 等代理集成 |
# 1. 克隆并构建项目
git clone https://github.com/Async-IO/pierre_mcp_server.git
cd pierre_mcp_server && cargo build --release
# 2. 在本地运行(单租户模式)
cargo run --bin pierre-mcp-server -- --single-tenant
# 3. 配置人工智能助手(Claude、ChatGPT 等)
echo '{
"mcpServers": {
"pierre-fitness": {
"command": "'$(pwd)'/target/release/pierre-mcp-server",
"args": ["--single-tenant", "--port", "8080"]
}
}
}' > ~/.claude/claude_desktop_config.json
| 类别 | 特性 |
|---|---|
| 🔗 集成方式 | 支持 Strava、Fitbit • 支持 MCP 协议 • 支持 A2A 协议 • 支持 REST API |
| 🛡️ 安全机制 | OAuth2 + PKCE • JWT 认证 • 加密存储 • 速率限制 |
| 🧠 智能分析 | 人工智能活动分析 • 位置检测 • 天气集成 |
| 🏗️ 架构设计 | 单租户和多租户模式 • 支持云部署 • 可扩展 • 适合生产环境 |
Pierre 可将您的健身数据连接到像 Claude、ChatGPT 这样的人工智能助手,以及任何支持 MCP/A2A 协议的代理,提供包含位置、天气和性能等多方面上下文的智能分析。
| 分析类型 | 示例查询 | 关键特性 |
|---|---|---|
| 🏃 跑步分析 | "今年我最长的一次跑步距离是多少,在哪里跑的?" | 配速趋势、位置上下文、地形分析 |
| 🚴 交叉训练分析 | "比较我骑自行车和跑步的表现" | 多运动项目分析、心率区间、训练一致性 |
| 🗺️ 位置智能分析 | "我在哪些地方表现最好?" | GPS 跟踪、地形影响、路线优化 |
| 🌦️ 天气影响分析 | "天气如何影响我的表现?" | 温度相关性、季节性模式 |
| 📊 活动智能分析 | "全面分析我的马拉松表现" | 人工智能驱动的洞察、环境因素分析 |
| 🎯 目标跟踪分析 | "我离 1000 公里的目标还有多远?" | 进度监控、成就分析 |
| 📈 性能趋势分析 | "在我的训练数据中找出规律" | 长期分析、优化建议 |
💡 查看详细示例:查看我们的 综合提示指南,其中包含 50 多个实际查询示例。
Pierre 支持多种集成模式,以满足不同的使用场景:
| 集成类型 | 适用场景 | 设置复杂度 | 认证方式 |
|---|---|---|---|
| 🤖 MCP 协议 | 人工智能助手(Claude、ChatGPT、Copilot) | 低 | JWT 令牌 |
| 🔗 A2A 协议 | 人工智能代理和应用程序 | 中等 | API 密钥 |
| 🌐 REST API | 网页应用和仪表盘 | 中等 | OAuth2 + JWT |
| 🏠 单租户模式 | 个人本地使用 | 最低 | 可选 |
配置 MCP 服务器
// 对于 Claude 桌面版(~/.claude/claude_desktop_config.json)
{
"mcpServers": {
"pierre-fitness": {
"command": "path/to/pierre-mcp-server",
"args": ["--single-tenant", "--port", "8080"]
}
}
}
// 对于 ChatGPT 或其他支持 MCP 的客户端
// 使用相同的 MCP 协议并结合您客户端的配置
连接到 Strava
适用于任何支持 MCP/A2A 的代理
# 注册您的应用程序
curl -X POST https://your-pierre-server.com/a2a/clients \
-H "Authorization: Bearer JWT_TOKEN" \
-d '{"name": "My Fitness App", "description": "AI fitness coach"}'
# 执行健身工具
curl -X POST https://your-pierre-server.com/a2a/execute \
-H "Authorization: Bearer API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "tools.execute",
"params": {
"tool_name": "get_activities",
"parameters": {"provider": "strava", "limit": 10}
}
}'
📖 详细指南:查看我们的 设置文档,获取完整的集成示例。
| 指南 | 描述 | 关键主题 |
|---|---|---|
| 📋 设置与安装 | 快速入门 | 本地设置、OAuth 配置、Docker 部署 |
| 🛠️ MCP 工具参考 | 全部 21 个健身工具 | 数据访问、智能分析、目标设定、数据分析 |
| 🌦️ 天气集成 | 结合天气的增强分析 | OpenWeatherMap 设置、模拟数据、智能分析 |
| 🔑 API 参考 | 企业级特性 | API 密钥、速率限制、安全机制、监控 |
| 🚀 部署指南 | 生产环境部署 | Docker、Kubernetes、云平台 |
| 模式 | 适用场景 | 特性 |
|---|---|---|
| 🏠 单租户模式 | 个人使用 | 本地配置、无需认证、设置简单 |
| ☁️ 多租户模式 | 云部署 | JWT 认证、加密存储、用户隔离 |
本项目采用双重许可,您可以选择以下任意一种许可协议:
除非您明确声明,否则根据 Apache-2.0 许可证的定义,您有意提交以包含在本项目中的任何贡献,都将按上述双重许可进行许可,无需任何额外的条款和条件。