← 返回目录
I

Intervals.icu MCP Server

社区
通过 MCP 连接 Claude 和 ChatGPT 与 Intervals.icu API。
分类
其他 第 131 / 230
Stars
★ 377 非常热门
传输方式
stdio(本地进程) · SSE
运行环境
Python 3.12+ · 预编译二进制
凭据
需要 API Key / 凭据
许可证
GPL-3.0
最近提交
工具数
16
52FMRS · D

这是一个面向 Intervals.icu 用户的第三方 MCP 服务器,功能覆盖训练活动、健康数据、事件、功率曲线和自定义项目。README 提供 Claude Desktop 的 stdio 配置以及 ChatGPT 的 SSE 配置,但未提供已缓存的服务器清单。由于包含写入和删除工具,部署前应妥善保护 API 密钥并谨慎授予数据修改权限。

最强项 · 文档质量 13/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
8/20
维护活跃度
11/20
文档质量
13/20
安装易用性
12/20
查看各项评分依据
可靠性 8/20
README说明了Python 3.12、MCP SDK及依赖,并列出工具和测试命令,表明正常启动路径是合理的。但未提供已缓存的manifest、源码、CI工作流或可核验的测试覆盖;工具行为、初始化握手、错误处理和依赖锁定均无法静态确认,因此扣分,且按静态校准不超过12分。
安全与权限 8/20
README要求通过环境变量配置Intervals.icu API密钥,并将数据发送到外部Intervals.icu API,基本凭据边界可见,示例未包含真实密钥。但服务包含创建、更新和删除事件及自定义项目的工具,文档没有确认机制、细粒度权限、输入范围、删除保护或数据流/日志披露;由于源码和manifest不可见,无法验证最小权限和安全错误处理,因此扣分。未发现提示中的明确红线风险。
维护活跃度 11/20
仓库未归档,README称项目持续开发,并提供从main拉取和同步依赖的更新路径;同时给出GPL-3.0许可证,维护归属至少部分可识别。但没有提供版本发布、提交频率、问题响应、依赖更新策略或安全响应渠道的证据,星标和开放问题仅作发现信号,不能加分,因此为中等分数。
文档质量 13/20
README覆盖运行时要求、安装、环境变量认证、Claude Desktop和ChatGPT SSE配置、Windows差异、工具清单、调试日志、测试命令和常见故障排查,内容较完整。但没有逐工具参数、返回结构、限制、速率/成本、错误语义、权限边界或已验证结果;manifest缺失也限制了能力核对,因此扣分。
安装易用性 12/20
README提供从安装uv、克隆仓库、创建Python 3.12环境、同步依赖到配置Claude或ChatGPT的完整路径,并包含macOS/Linux和Windows示例。但流程依赖本地路径、环境变量、手动客户端配置,Windows存在沙盒路径陷阱,ChatGPT还需要公网暴露和ngrok等隧道;没有源码、CI或测试证据验证流程可用性,因此保守扣分。

静态评测 · 未实际运行收录于 2026-08-14

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络修改第三方账户数据

适合谁

  • 使用 Intervals.icu 管理训练数据的运动员。
  • 希望通过 Claude Desktop 或 ChatGPT 查询和管理 Intervals.icu 数据的用户。
  • 需要活动、健康、事件和功率数据访问的开发或分析场景。

不适合谁

  • 不使用 Intervals.icu 的用户。
  • 不愿提供 Intervals.icu API 密钥和运动员 ID 的用户。
  • 只需要只读访问、但不希望启用事件或自定义项目写入和删除操作的场景。

所需权限

  • 需要 Intervals.icu API 密钥和运动员 ID。
  • 配置中包含 INTERVALS_API_BASE_URL、ATHLETE_ID、API_KEY 和 LOG_LEVEL。
  • API 权限覆盖活动、健康数据、事件和自定义项目的读取;事件和自定义项目还支持创建、更新及删除。

风险与副作用

  • API 密钥属于敏感凭据,不应公开或提交到版本库。
  • 服务器提供删除事件及删除自定义项目的操作,误用可能导致数据丢失。
  • ChatGPT 的 SSE 配置需要公开服务器地址或端口转发;未保护的公开地址可能扩大访问范围。
  • 写入操作可能修改 Intervals.icu 中的训练、比赛、备注和自定义项目。

安装接入

准备工作

运行环境:Python 3.12+ · 预编译二进制

INTERVALS_API_BASE_URL 必填 Intervals.icu API 基础地址,文档中为 https://intervals.icu/api/v1。
ATHLETE_ID 必填 你的 Intervals.icu 运动员 ID,登录后在 URL 中可见(如 i12345)。
API_KEY 必填密钥 你的 Intervals.icu API 密钥,在 Settings > API 页面生成,属机密信息。
其他可选配置项(5 个)
LOG_LEVEL 可选 日志级别,示例配置中设为 INFO。
FASTMCP_HOST 可选 以 SSE 模式运行时服务器监听的主机地址。
FASTMCP_PORT 可选 以 SSE 模式运行时服务器监听的端口,示例为 8765。
MCP_TRANSPORT 可选 传输模式,设为 sse 以启用 ChatGPT 所需的 SSE 端点。
FASTMCP_LOG_LEVEL 可选 SSE 模式下的日志级别,示例为 INFO。

需要 Python 3.12 或更高版本、uv、项目依赖和 Intervals.icu API 凭据。克隆仓库后创建 Python 3.12 虚拟环境,运行 uv sync,复制 .env.example 为 .env,并设置 API_KEY 和 ATHLETE_ID。使用 Claude Desktop 时,可运行 mcp install src/intervals_mcp_server/server.py --name "Intervals.icu" --with-editable . --env-file .env,或根据提供的配置示例手动添加服务器。使用 ChatGPT 时,以 SSE 模式启动服务器,并将公开的 /sse 地址配置为自定义 MCP 连接器。

claude_desktop_config.json
{"mcpServers":{"Intervals.icu":{"command":"/Users/<USERNAME>/.local/bin/uv","args":["run","--with","mcp[cli]","--with-editable","/path/to/intervals-mcp-server","mcp","run","/path/to/intervals-mcp-server/src/intervals_mcp_server/server.py"],"env":{"INTERVALS_API_BASE_URL":"https://intervals.icu/api/v1","ATHLETE_ID":"<YOUR_ATHLETE_ID>","API_KEY":"<YOUR_API_KEY>","LOG_LEVEL":"INFO"}}}}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "Intervals.icu": {
      "command": "/Users/<USERNAME>/.local/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with-editable",
        "/path/to/intervals-mcp-server",
        "mcp",
        "run",
        "/path/to/intervals-mcp-server/src/intervals_mcp_server/server.py"
      ],
      "env": {
        "INTERVALS_API_BASE_URL": "https://intervals.icu/api/v1",
        "ATHLETE_ID": "<YOUR_ATHLETE_ID>",
        "API_KEY": "<YOUR_API_KEY>",
        "LOG_LEVEL": "INFO"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add Intervals.icu -e INTERVALS_API_BASE_URL=https://intervals.icu/api/v1 -e 'ATHLETE_ID=<YOUR_ATHLETE_ID>' -e 'API_KEY=<YOUR_API_KEY>' -e LOG_LEVEL=INFO -- '/Users/<USERNAME>/.local/bin/uv' run --with 'mcp[cli]' --with-editable /path/to/intervals-mcp-server mcp run /path/to/intervals-mcp-server/src/intervals_mcp_server/server.py

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在 Claude Desktop 配置后重启客户端,确认工具列表中出现 Intervals.icu 服务器的 get_activities 等工具,并能成功返回活动数据;若失败可查看 mcp-server.log 排查。

常见排障

  1. 确认使用 Python 3.12 或更高版本并已运行 uv sync。
  2. 确认 .env 中的 API_KEY 和 ATHLETE_ID 已正确设置。
  3. 如果出现 spawn uv ENOENT,改用 uv 的完整路径。
  4. Windows 用户确认 JSON 中使用双反斜杠,并编辑正确的 Claude Desktop 配置文件。
  5. 修改配置后重启 Claude Desktop;必要时删除旧的 Intervals.icu 配置并重新运行 mcp install。
  6. 使用 ChatGPT 时确认服务器以 SSE 模式运行,并将 /sse 地址映射到可访问的公开 URL。

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 获取我最近的训练活动列表
  • 查看我下一次的比赛/训练安排
  • 显示我过去四周的健康与休息数据
  • 为我创建一个下周日的自行车训练计划事件

工具能力 16

get_activities 只读
获取活动列表。
get_activity_details 只读
获取指定活动的详细信息。
get_activity_intervals 只读
获取指定活动的详细间隔数据。
get_activity_streams 只读
获取指定活动的原始数据流,例如功率和心率。
get_athlete_power_curves 只读
获取指定时长和时间段的最佳功率曲线。
get_wellness_data 只读
获取健康数据。
get_events 只读
获取即将发生的事件,例如训练和比赛。
get_event_by_id 只读
获取指定事件的详细信息。
展开其余 8 个工具
add_or_update_event 写入
创建或更新事件,例如训练、比赛或备注。
delete_event 破坏性
删除指定事件。
delete_events_by_date_range 破坏性
删除日期范围内的事件。
get_custom_items 只读
获取运动员的自定义项目,例如图表、自定义字段和区域。
get_custom_item_by_id 只读
获取指定自定义项目的详细信息。
create_custom_item 写入
为运动员创建新的自定义项目。
update_custom_item 写入
更新现有自定义项目。
delete_custom_item 破坏性
删除自定义项目。

使用场景

查询历史活动及活动细节。
分析活动间隔、功率、心率等数据流和功率曲线。
获取健康数据。
查看、创建、更新或删除训练和比赛事件。
管理运动员的自定义项目。

支持客户端

Claude Desktop
ChatGPT

依据项目文档列出,未经本站实测。

详细介绍

Intervals.icu MCP Server 是一个用于连接 Intervals.icu API 的 Model Context Protocol 服务器,支持活动、事件、健康数据、功率曲线和自定义项目的数据访问与管理。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 659 · 工具数 11 与当前对比 →

源版本 cb1fbcac8109 数据同步于 2026-10-19 查看 FMRS 评分方法