内容
English | [日本語](README.ja.md)
# 间隔时间MCP服务器 — 适用于Stryd跑步者
一个为 **Stryd跑步者** 构建的[Intervals.icu](https://intervals.icu) MCP(模型上下文协议)服务器 — 基于功率的跑步分析(带有RSS、LBSS的双性能管理图表),设计使得LLM(大语言模型)永远不需要进行数学计算。确定性数字(PMC值、心率解耦、斜率)是在服务器端计算的;AI客户端(Claude Desktop、Codex等)只需进行解释,而不需要进行猜测。
它设计用于 **本地运行,为单个运动员(您)服务** — 而不是作为托管的多用户服务。
## 功能
- **Stryd扩展(此功能存在的原因)。** 第二个性能管理图表通过下肢负荷指标 — **LBSS(下肢应力评分)** — 通过EMA(指数移动平均)计算,在Intervals.icu内置的RSS(跑步应力评分)-based PMC旁边。您将获得 **双PMC**(肌肉骨骼负荷 *和* 代谢负荷),ILR(冲击负荷率)趋势,以及针对超马拉松风格审查的每周/阶段级总结。LBSS / ILR自定义字段名称是可配置的(`LBSS_FIELD` / `ILR_FIELD`,默认为`StrydLBSSv2` / `StrydILR`),因此重新校准或重命名的字段无需更改代码 — 请参阅[INSTALL.md](INSTALL.md#setting-up-the-stryd-custom-fields-optional)和[field recipes](https://github.com/methylone/Intervals-MCP-Server-with-STRYD/wiki/LLM-Agent-Recipes)。`estimate_critical_impact`反向估计Stryd的临界冲击,从您的Intervals流和临界功率(无Stryd API),因此LBSS校准保持自包含。
- **核心(任何Intervals.icu用户)。** 列出和检查活动,健康状况,HRV(心率变异性)趋势,事件/计划的训练(读取+创建/更新/删除),运动员总结和流级分析(分段,心率解耦,坡度调整速度,自定义功率/心率区)。
服务器仅提供 **数据和数学计算**。它 **不**决定您应该如何训练 — 这种解释来自您编写并加载到AI客户端的知识文件。参见[`training-knowledge-template/`](training-knowledge-template/)。
## 背景
我还写了一篇关于该工具如何诞生以及如何在奈良100公里超马拉松比赛中测试的赛后报告:
[背景:从构建该工具到在奈良100公里超马拉松中测试](https://note.com/methylone/n/n6bc221063fe3?hl=zh)
## 快速开始
选择与您的客户端匹配的安装路径。完整的步骤和先决条件:[INSTALL.md](INSTALL.md)。
### 1. MCPB bundle — Claude Desktop(最简单)
从[最新版本](https://github.com/methylone/Intervals-MCP-Server-with-STRYD/releases)下载`.mcpb` bundle,双击安装到Claude Desktop,并填写它要求的三个字段(运动员ID,API密钥,时区)。您的API密钥存储在**OS密钥链**中,而不是纯文本文件中。
### 2. npx — 一行配置(Claude Desktop / Codex / 任意MCP客户端)
无需克隆,无需构建。将您的客户端指向发布的npm包:
```json
{
"mcpServers": {
"intervals-stryd": {
"command": "npx",
"args": ["-y", "intervals-mcp-with-stryd"],
"env": {
"INTERVALS_ATHLETE_ID": "i0000000",
"INTERVALS_API_KEY": "您的API密钥",
"ATHLETE_TIMEZONE": "Asia/Tokyo",
"CACHE_DIR": "/绝对路径/to/intervals-cache"
}
}
}
}
```
`CACHE_DIR`是可选的,但在npx下推荐:没有它,流缓存会落入npx的volatile package cache中。参见[INSTALL.md](INSTALL.md#install-via-npx)。
### 3. 从源代码/Docker(开发,HTTP模式)
```bash
git clone https://github.com/methylone/Intervals-MCP-Server-with-STRYD.git
cd Intervals-MCP-Server-with-STRYD
npm install
cp .env.example .env # 然后填写您的API密钥,运动员ID,时区
npm run build
```
然后将您的客户端指向`build/index.js`通过stdio,或运行HTTP / Docker — 参见[INSTALL.md](INSTALL.md)。对此不熟悉?将仓库URL交给您的AI客户端,并要求它使用README和INSTALL.md为您讲解安装。
## 命令行使用
相同的工具也可以通过`intervals-mcp` CLI(无MCP客户端,无LLM)从shell中获得 — 可用于自动化,管道传输到`jq`,以及快速检查。它仅返回原始数据;它 **不**应用方法论。参见[docs/CLI.md](docs/CLI.md)。
## 文档
- [INSTALL.md](INSTALL.md) — 先决条件和客户端设置(MCPB / npx / 源代码)
- [docs/CLI.md](docs/CLI.md) — 从shell运行工具
- [ARCHITECTURE.md](ARCHITECTURE.md) — 代码布局和如何扩展它
- [SECURITY.md](SECURITY.md) — **安全和隐私模型**:它连接的内容,读取/写入的内容,您的密钥和缓存的位置,HTTP模式
- [ROADMAP.md](ROADMAP.md) — 下一步计划
- [`training-knowledge-template/`](training-knowledge-template/) — 为您的AI客户端构建自己的分析知识
## 安全和隐私
它与 **一个** 主机(intervals.icu)通信,**仅写入您的Intervals.icu日历事件**,从不记录您的API密钥,并且 **不发送任何遥测数据**。HTTP传输 **没有应用层身份验证** — 为个人使用在本地运行stdio(或MCPB / npx),并且永远不要将HTTP模式暴露给公共互联网。完整详细信息 — 缓存内容,密钥爆炸半径,构建验证,卸载 — 在[SECURITY.md](SECURITY.md)中。
## 贡献
欢迎fork — 请自由使用并修改它。拉取请求不积极维护,因此请自由fork而不是期望及时审查。
## 许可证
[AGPL-3.0-or-later](LICENSE)。简而言之:您可以使用,修改和运行此软件,包括商业用途 — 但如果您将其分发或作为网络服务运行修改后的版本,您必须在相同的许可证下发布您的源代码。它不能被转换为封闭的专有产品。