项目简介
Intervals.icu MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在连接 Claude 等大型语言模型 (LLM) 与 Intervals.icu 平台。通过此服务器,用户可以使用自然语言指令,让 Claude 访问和分析 Intervals.icu 中存储的运动、训练和健康数据。它提供了一系列工具,允许 Claude 获取活动、事件、健康指标等信息,从而实现更智能的运动数据查询、分析和个性化反馈。
主要功能点
- 数据访问工具: 提供多种工具,允许 Claude 访问 Intervals.icu 平台上的运动数据,包括:
- 活动数据: 获取活动列表、活动详情、活动区间数据等,帮助用户了解运动训练情况。
- 事件数据: 获取日历事件、赛事信息、训练计划等,方便用户掌握训练安排和比赛信息。
- 健康数据: 获取体重、睡眠、疲劳度等健康指标,辅助用户进行健康管理。
- 标准化 MCP 协议: 遵循 MCP 协议标准,确保与 MCP 客户端(如 Claude)的兼容性和互操作性。
- 易于配置和使用: 提供详细的安装和配置说明,用户可以快速搭建并使用该服务器。
- 错误处理: 对 API 请求中的错误进行处理,并返回用户友好的错误信息。
安装步骤
- 安装 uv (推荐): uv 是一个快速的 Python 包安装和虚拟环境管理工具,可以加速安装过程。
curl -LsSf https://astral.sh/uv/install.sh | sh - 克隆仓库:将 GitHub 仓库克隆到本地。
git clone https://github.com/mvilanova/intervals-mcp-server.git cd intervals-mcp-server - 创建并激活虚拟环境: 使用 uv 创建并激活 Python 虚拟环境,隔离项目依赖。
uv venv source .venv/bin/activate # macOS/Linux # .venv\Scripts\activate # Windows - 安装依赖: 使用 uv 安装项目所需的 Python 依赖包。
uv pip install -e . - 配置环境变量:
- 复制 '.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。
- 复制 '.env.example' 文件为 '.env'。
服务器配置
要将此 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 服务器。
基本使用方法
-
启动服务器: 在终端中,进入仓库目录并运行以下命令启动 MCP 服务器。
python intervals_mcp_server.py服务器成功启动后,会开始监听 MCP 客户端的请求。
-
在 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 客户端的文档。
信息
分类
生产力应用