项目简介

Intervals.icu MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在连接 Claude 等大型语言模型 (LLM) 与 Intervals.icu 平台。通过此服务器,用户可以使用自然语言指令,让 Claude 访问和分析 Intervals.icu 中存储的运动、训练和健康数据。它提供了一系列工具,允许 Claude 获取活动、事件、健康指标等信息,从而实现更智能的运动数据查询、分析和个性化反馈。

主要功能点

  • 数据访问工具: 提供多种工具,允许 Claude 访问 Intervals.icu 平台上的运动数据,包括:
    • 活动数据: 获取活动列表、活动详情、活动区间数据等,帮助用户了解运动训练情况。
    • 事件数据: 获取日历事件、赛事信息、训练计划等,方便用户掌握训练安排和比赛信息。
    • 健康数据: 获取体重、睡眠、疲劳度等健康指标,辅助用户进行健康管理。
  • 标准化 MCP 协议: 遵循 MCP 协议标准,确保与 MCP 客户端(如 Claude)的兼容性和互操作性。
  • 易于配置和使用: 提供详细的安装和配置说明,用户可以快速搭建并使用该服务器。
  • 错误处理: 对 API 请求中的错误进行处理,并返回用户友好的错误信息。

安装步骤

  1. 安装 uv (推荐): uv 是一个快速的 Python 包安装和虚拟环境管理工具,可以加速安装过程。
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 克隆仓库:将 GitHub 仓库克隆到本地。
    git clone https://github.com/mvilanova/intervals-mcp-server.git
    cd intervals-mcp-server
  3. 创建并激活虚拟环境: 使用 uv 创建并激活 Python 虚拟环境,隔离项目依赖。
    uv venv
    source .venv/bin/activate  # macOS/Linux
    # .venv\Scripts\activate  # Windows
  4. 安装依赖: 使用 uv 安装项目所需的 Python 依赖包。
    uv pip install -e .
  5. 配置环境变量:
    • 复制 '.env.example' 文件为 '.env'。
      cp .env.example .env
    • 编辑 '.env' 文件,填入你的 Intervals.icu API 密钥和 Athlete ID。
      API_KEY=你的_Intervals.icu_API_密钥
      ATHLETE_ID=你的_Athlete_ID
    • 获取 Intervals.icu API Key: 登录 Intervals.icu 账户,进入 Settings > API,生成新的 API key。
    • 查找 Athlete ID: 登录 Intervals.icu 后,Athlete ID 通常显示在 URL 中,例如 'https://intervals.icu/athlete/i12345/...',其中 'i12345' 就是 Athlete ID。

服务器配置

要将此 MCP 服务器与 Claude Desktop 等 MCP 客户端连接,需要在客户端中配置服务器信息。以 Claude Desktop 为例,你需要编辑 'claude_desktop_config.json' 文件(通常位于 '~/Library/Application Support/Claude/',如果不存在则创建)。添加以下 JSON 配置:

{
  "mcpServers": {
    "Intervals MCP Server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/path/to/intervals-mcp-server/intervals_mcp_server.py"  // 将 "/path/to/intervals-mcp-server" 替换为你的仓库本地路径
      ]
    }
  }
}

配置参数说明:

  • '"Intervals MCP Server"': 服务器名称,在 Claude Desktop 中显示。
  • '"command": "uv"': 启动服务器的命令,这里使用 uv。
  • '"args"': 传递给 'uv run' 命令的参数列表。
    • '"--with", "mcp[cli]"': 指定使用 mcp 模块,并启用命令行界面。
    • '"mcp", "run"': 运行 mcp 服务器的子命令。
    • '"/path/to/intervals-mcp-server/intervals_mcp_server.py"': MCP 服务器主程序 'intervals_mcp_server.py' 的完整路径。请务必替换为你的实际路径

配置完成后,重启 Claude Desktop 即可识别并连接到此 MCP 服务器。

基本使用方法

  1. 启动服务器: 在终端中,进入仓库目录并运行以下命令启动 MCP 服务器。

    python intervals_mcp_server.py

    服务器成功启动后,会开始监听 MCP 客户端的请求。

  2. 在 Claude 中使用: 在 Claude Desktop 中,你可以通过自然语言指令调用服务器提供的工具。例如:

    • '使用 Intervals MCP Server 获取我最近7天的活动列表'
    • '调用 Intervals MCP Server 的 get_activity_details 工具, activity_id 是 123456789,获取活动详细信息'
    • '让 Intervals MCP Server 帮我查询下个月的赛事安排'

    Claude 会将你的指令转换为对 MCP 服务器工具的调用,并将服务器返回的数据作为上下文信息用于生成回复。

可用工具列表:

  • 'get_activities': 获取活动列表
  • 'get_activity_details': 获取活动详细信息
  • 'get_activity_intervals': 获取活动区间数据
  • 'get_wellness_data': 获取健康数据
  • 'get_events': 获取事件列表
  • 'get_event_by_id': 获取事件详细信息

请注意,具体的使用方式和指令格式可能需要参考 Claude 或其他 MCP 客户端的文档。

信息

分类

生产力应用