Back to MCP directory
publicPublicdnsLocal runtime

pierre_mcp_server

Pierre Fitness API是一个多协议健身数据API,支持从Strava、Fitbit等提供商安全获取健身数据,通过MCP、A2A和REST API为AI应用提供智能分析,包含企业级API管理、实时分析和多运动类型智能分析功能。

article

README

🚀 Pierre Fitness API

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 | | 🏠 单租户模式 | 个人本地使用 | 最低 | 可选 |

快速设置示例

🤖 人工智能助手集成(Claude、ChatGPT 等)
  1. 配置 MCP 服务器

    // 对于 Claude 桌面版(~/.claude/claude_desktop_config.json)
    {
      "mcpServers": {
        "pierre-fitness": {
          "command": "path/to/pierre-mcp-server",
          "args": ["--single-tenant", "--port", "8080"]
        }
      }
    }
    
    // 对于 ChatGPT 或其他支持 MCP 的客户端
    // 使用相同的 MCP 协议并结合您客户端的配置
    
  2. 连接到 Strava

    • 访问 Pierre 提供的 OAuth URL
    • 授权访问您的 Strava 数据
    • 开始使用自然语言提问
  3. 适用于任何支持 MCP/A2A 的代理

    • Claude 桌面版、支持 MCP 的 ChatGPT
    • 自定义人工智能代理、GitHub Copilot 扩展
    • 任何支持 MCP 或 A2A 协议的应用程序
🔗 开发者使用的 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 许可证的定义,您有意提交以包含在本项目中的任何贡献,都将按上述双重许可进行许可,无需任何额外的条款和条件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client