mcpField
S
SisRUN Training Plan

SisRUN Training Plan

本地服务
github.com/cdutr健康医疗09 周前更新

关于 SisRUN Training Plan

SisRUN Training Plan 是一款非官方、只读的 MCP 服务,可为 AI 助手获取并整理用户的 SisRUN 训练计划。它提供计划训练和已匹配的活动详情;当网站的距离字段不完整时,还会根据结构化训练步骤推算计划距离。

主要功能

  1. 01获取当前周或指定周的训练
  2. 02列出即将进行的计划训练
  3. 03提供配速、心率区间和训练结构
  4. 04附带教练备注及匹配的活动数据
  5. 05根据训练步骤推算计划距离

适用场景

  1. 01询问 AI 助手本周安排了哪些训练
  2. 02查看后续训练及其配速或心率范围
  3. 03对照计划训练与已匹配的完成记录

MCP 相关

该服务向 MCP 客户端提供 `get_current_week()`、`get_week(date)` 和 `get_upcoming(weeks_ahead=1)`。它使用用户凭据读取 SisRUN 页面,不会修改账户数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cdutr-sisrun": {
"command": "uvx",
"args": [
"sisrun-mcp"
],
"env": {
"SISRUN_EMAIL": "<SISRUN_EMAIL>",
"SISRUN_PASSWORD": "<SISRUN_PASSWORD>"
}
}
}
}
启动命令uvx sisrun-mcp
需要配置的环境变量
SISRUN_EMAILSisRUN login e-mail (alternative: ~/.sisrun/credentials file)
SISRUN_PASSWORD密钥SisRUN password (alternative: ~/.sisrun/credentials file)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypisisrun-mcp0.1.0

工具

3

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

sisrun-mcp

🇧🇷 下方提供葡萄牙语版本

非官方 MCP 服务,可将你的 SisRUN(appsisrun.com.br)训练计划提供给 Claude 等 AI 助手,这样你就可以询问“教练这周给我安排了什么?”,并获得结构化答案。

SisRUN 没有公开 API,因此本工具会使用你自己的凭据读取你在浏览器中看到的相同网页,并将其解析为结构化训练数据。本工具仅供读取,不会向 SisRUN 写入任何内容。

工具

工具返回内容
get_current_week()当前一周的所有训练记录
get_week(date)包含某个 ISO 日期(YYYY-MM-DD)的一周
get_upcoming(weeks_ahead=1)从今天起已安排但尚未完成的训练

每条训练记录包含:日期、状态(Proposto = 已安排,Feito = 已完成,Feito Avulso = 自动导入,未安排)、训练类型、计划距离、配速和心率范围、教练整理的训练内容(热身、重复训练、恢复)、教练备注,以及 SisRUN 匹配到的实际完成情况(日期、距离、时间、平均心率、千卡;SisRUN 会自动导入你的 Garmin/Strava 活动)。

planned_km 与 distance_km: 对所有间歇、爬坡和基于时间的训练,SisRUN 自带的 Distância 字段均为空;在间歇训练日,该字段也只统计重复训练部分。对该字段求和会使实际训练计划距离少算约 35%(SisRUN 自带的“Evolução Semanal”面板也存在同样的问题)。planned_km 会根据教练整理的训练内容计算准确距离,并展开 Repetir Nx 区块;planned_km_is_est: "yes" 表示有时间限制的训练步骤必须按假定配速换算。

安装

uvx sisrun-mcp            # zero-install run from PyPI
# or
pipx install sisrun-mcp
# or straight from GitHub
uvx --from git+https://github.com/cdutr/sisrun-mcp sisrun-mcp

凭据

你自己的 SisRUN 登录凭据(教练提供给你的那组)。可以使用环境变量:

export [email protected]
export SISRUN_PASSWORD=yourpassword

也可以使用凭据文件:

mkdir -p ~/.sisrun
cat > ~/.sisrun/credentials <<'EOF'
[email protected]
password=yourpassword
EOF
chmod 600 ~/.sisrun/credentials

⚠️ 密码以明文形式存储。 SisRUN 不提供令牌或 OAuth 机制,因此没有更好的选择。请将文件权限设为 chmod 600,并且绝不要提交该文件。

Claude Desktop / Claude Code 配置

{
  "mcpServers": {
    "sisrun": {
      "command": "uvx",
      "args": ["sisrun-mcp"]
    }
  }
}

调试

无需使用任何 MCP 客户端,即可获取并打印当前一周的训练:

python -m sisrun_mcp selftest

如果结果中出现关于缺少详细信息面板的 warning,则表示 JSF 表单状态的累积逻辑出现回归。请附上输出内容提交 issue(其中不包含凭据)。

工作原理(供感兴趣的读者参考)

SisRUN 使用 JSF + PrimeFaces 8.0。每个请求都携带 javax.faces.ViewState 令牌,所有组件 ID 均由服务器生成:每次重新部署都会变化,因此本工具不会将其写死。按钮通过稳定且由人工设置的 title 属性定位,并从每个响应中重新读取 ViewState。容易忽略的一点是,日期详情面板是折叠面板,只有当请求携带其展开状态(在多次页面跳转间累积)以及 javax.faces.partial.execute=@all 时,服务器才会渲染面板。否则,你会在不知情的情况下只获取到没有训练计划详情的摘要记录。请参阅 client.py 中的注释。

客户端刻意保持礼貌:每个请求仅获取一周的数据,间隔 0.6 s,并在进程内缓存每周的 HTML。

参与贡献

欢迎用英语或葡萄牙语提交错误报告、功能建议和 PR。请参阅 CONTRIBUTING.md。

状态与免责声明

  • 非官方。 与 SisRUN 无关联,未获其认可或支持。SisRUN 更改网站时,本工具可能会失效;欢迎提交 issue 和 PR。
  • 仅限你的数据。 本工具使用你自己的凭据访问你自己的训练计划,这与 LGPD 赋予你的数据可携带权一致。请勿用于访问他人账户,并遵守 SisRUN 的服务条款。
  • 自 2026-07 起在真实账户上测试。Python ≥ 3.10,只有一个依赖项(mcp)。

葡萄牙语(pt-BR)

非官方的 MCP 服务,可将你的 SisRUN 训练计划表(appsisrun.com.br)提供给 Claude 等 AI 助手使用。你可以询问“教练这周安排了什么训练?”,并获得结构化的训练信息:状态(已安排 / 已完成 / 额外完成)、距离、配速和心率区间、训练结构(热身、间歇、恢复)、教练的备注,以及 SisRUN 关联为已完成的训练(SisRUN 会自动导入你的 Garmin/Strava 活动)。

SisRUN 没有公开 API,因此该服务会使用你自己的凭据读取你在浏览器中看到的相同页面。它是只读的:绝不会向 SisRUN 写入任何内容。

工具: get_current_week()(当前周)、get_week(date)(指定日期所在周)、get_upcoming(weeks_ahead)(未来几周已安排的训练)。

安装:

uvx sisrun-mcp
# ou
pipx install sisrun-mcp

凭据: 使用你自己的 SisRUN 登录信息,通过环境变量(SISRUN_EMAIL / SISRUN_PASSWORD)或文件 ~/.sisrun/credentials 提供:

[email protected]
password=suasenha
chmod 600 ~/.sisrun/credentials

⚠️ 密码会以纯文本形式保存。 SisRUN 不提供令牌或 OAuth,因此没有更好的选择。请使用 chmod 600 限制文件权限,且绝不要提交该文件。

关于 planned_km: SisRUN 自带的 距离 字段在所有间歇、爬坡或按时间安排的训练中都为空;在间歇训练日,它只统计重复次数。对该列求和会使实际安排的距离被低估约 35%(SisRUN 自带的“每周进度”面板也有同样的错误)。planned_km 根据教练的结构化训练安排计算准确的距离,并展开 重复 Nx 区块。

注意: 本项目与 SisRUN 无关联、未获其认可,也不受其支持。网站变更时项目可能会失效(欢迎提交 issues 和 PRs)。它只会使用你的凭据访问你的数据,这与 LGPD 赋予你的数据可携权相同。请勿用于非本人账户,并遵守 SisRUN 的使用条款。

无需 MCP 客户端即可调试:python -m sisrun_mcp selftest 会以 JSON 格式输出当前周的训练。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。