Skip to main content
Glama

sisrun-mcp

🇧🇷 葡萄牙语版本见下文

非官方 MCP 服务器,将你的 SisRUNappsisrun.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_kmdistance_km 的区别: SisRUN 自带的 Distância 字段在间歇、爬坡和计时训练中均为空,而且在间歇日只计算重复次数。对该列求和会低估实际计划量约 35%(SisRUN 自己的"每周进展"面板也有同样的 bug)。planned_km 从教练的结构化训练内容中推导出真实数值,展开 Repetir Nx 块;planned_km_is_est: "yes" 标记那些需要按假定配速转换计时步骤的行。

Related MCP server: Strava MCP Server

安装

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 SISRUN_EMAIL=you@example.com
export SISRUN_PASSWORD=yourpassword

或凭据文件:

mkdir -p ~/.sisrun
cat > ~/.sisrun/credentials <<'EOF'
email=you@example.com
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 都是服务器生成的:任何重新部署都会导致它们变化,因此这里没有硬编码任何 id。按钮通过其稳定的人工编写的 title 属性来定位,ViewState 则从每个响应中重新读取。不太直观的部分在于:日期详情面板是手风琴组件,服务器只有在请求携带其展开状态(在多次导航跳转中累积)以及 javax.faces.partial.execute=@all 时才会渲染它们。否则你会静默地得到没有训练计划的摘要行。详见 client.py 中的注释。

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

贡献

欢迎提交 bug 报告、功能建议和 PR,可以使用英文或葡萄牙文。参见 CONTRIBUTING.md

状态与免责声明

  • 非官方。 与 SisRUN 无关联、未获其认可或支持。只要 SisRUN 更改其网站,本工具就可能失效;欢迎提交 issue 和 PR。

  • 仅限你自己的数据。 本工具使用你自己的凭据访问你自己的训练计划,这是 LGPD 赋予你的数据可移植性。不要将其用于不属于你的账户,并遵守 SisRUN 的服务条款。

  • 自 2026-07 起已针对真实账户进行测试。Python ≥ 3.10,单一依赖(mcp)。

葡萄牙语版本 (pt-BR)

非官方 MCP 服务器,将你的 SisRUNappsisrun.com.br)训练计划暴露给 Claude 等 AI 助手。有了它,你可以问"教练这周安排了什么?"并获得结构化的训练内容:状态(Proposto / Feito / Feito Avulso)、距离、配速和心率区间、训练结构(热身、间歇、恢复)、教练备注,以及 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=voce@exemplo.com
password=suasenha
chmod 600 ~/.sisrun/credentials

⚠️ 密码以明文存储。 SisRUN 不提供令牌或 OAuth,因此没有更好的选择。请将文件权限设为 chmod 600,并且永远不要提交到版本库。

关于 planned_km SisRUN 自带的 Distância 字段在间歇、爬坡和计时训练中均为空,而且在间歇日只计算重复次数。对该列求和会低估实际计划量约 35%(SisRUN 自己的"每周进展"面板也有同样的 bug)。planned_km 从教练的结构化训练内容中推导出真实数值,展开 Repetir Nx 块。

声明: 本项目与 SisRUN 无关联、未获其认可或支持。网站变更时可能失效(欢迎提交 issue 和 PR)。它只使用你自己的凭据访问你自己的数据,这是 LGPD 赋予你的数据可移植性。不要将其用于不属于你的账户,并遵守 SisRUN 的服务条款。

无需 MCP 客户端即可调试:python -m sisrun_mcp selftest 会以 JSON 格式打印当前周。

许可证

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cdutr/sisrun-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server