MONS

io.github.tomis3由 GitHub 账号 tomis3 发布v1.0.0更新于 Nov 8, 2026

Build and adjust your clients' MONS training plans: programs, templates, exercises, sets, reps.

已验证Streamable HTTP可网页运行位置与生活效率与工作流

概览

AI 生成的概览

让 MONS 教练通过与 AI 助手对话,读取并调整客户的训练计划,包括课程、模板、动作、组数与次数。

可以做什么
  • 列出客户及其课程与下次训练,并按日期范围读取某位客户的训练课,含每个动作、组数、次数、重量与备注
  • 按名称检索动作库,并查看可复用模板以及团体或固定课程
  • 从起始日期为客户日历创建计划,或把计划保存为可复用模板并将模板套用到客户
  • 在未开始的训练课、模板或课程中替换、添加或删除动作,并修改组数、次数、重量、RPE、休息、节奏或教练备注
适用场景
适合希望用对话方式起草、调整或批量修改客户训练计划的 MONS 教练,例如制定多周计划,或在多节即将到来的训练课中替换某个动作。
运行要求
需要 MONS 教练账号,运动员账号会被拒绝。通过 Streamable HTTP 与 OAuth 2.1 连接托管的远程端点,并在登录时授权。仅支持本地服务器的客户端需借助 mcp-remote 之类的桥接工具。无需 API 密钥或环境变量。
安装前请注意
多个工具会写入真实客户数据:创建计划、套用模板,以及替换、修改或删除动作等破坏性操作。改动只影响尚未开始的训练课,且运动员会立即在应用中看到。若客户端自动批准工具,将跳过确认提示,建议关闭该功能以逐项确认。服务器只能看到该教练自己的客户、模板与课程,无法访问准备度、身体测量、营养、聊天或支付数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MONS,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.tomis3%2Fmons/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "mons": {
      "type": "http",
      "url": "https://mcp.mons.training/mcp"
    }
  }
}

README

MONS MCP server

The MCP server behind MONS for Claude: it lets a MONS coach build and adjust their clients' training plans by chatting with an AI assistant. Ask in plain words, and the assistant reads your clients' plans and your exercise library, then makes the change in MONS. Your athletes see it in the app straight away.

  • Hosted at https://mcp.mons.training/mcp (Streamable HTTP, OAuth 2.1)
  • For coaches only: you sign in with your own MONS coach account
  • Docs for coaches: https://mons.training/claude

This repository is published so coaches and their clients can see exactly what the server does with their data. You do not need to run it yourself: connect to the hosted address above. See License.

Connect

You need a MONS coach account. Every app signs you in through MONS and asks you to allow the connection; nothing else is set up.

Claude (web, desktop and mobile)

  1. Open Settings → Connectors.
  2. Choose Add custom connector.
  3. Paste https://mcp.mons.training/mcp and choose Connect.
  4. Sign in with your MONS coach account and choose Allow.

A connector added on claude.ai is also available in the Claude desktop and mobile apps.

Claude Code

bash
claude mcp add --transport http mons https://mcp.mons.training/mcp

Then run /mcp in Claude Code and sign in when asked.

Other MCP clients

Any client that supports remote MCP servers with OAuth can use the address directly. For a client that only starts local (stdio) servers, bridge to the hosted server with mcp-remote, which signs you in through your browser on localhost:

json
{  "mcpServers": {    "mons": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.mons.training/mcp"]    }  }}

ChatGPT

Not available yet. The MONS sign-in currently accepts Claude, Claude Code and local (localhost) clients only; ChatGPT support will be announced in the release notes.

Try asking

  • "Show me Jana Nováková's training for the next two weeks."
  • "Build Eva Horáková a 3-week strength plan, 3 days a week, starting next Monday, and put it on her calendar."
  • "For Jana, replace back squat with goblet squat in all her upcoming sessions."
  • "In my Hypertrophy A template, add one set to every press."

Tools

ToolWhat it doesChanges data
list_clientsYour active clients, their programs and next sessionno
get_client_planA client's sessions in a date range, with every exercise, set, rep, weight and noteno
search_exercisesFind an exercise in your library by nameno
list_templatesYour reusable workout templatesno
get_templateA template's weeks, days, exercises and setsno
list_programsYour group and fixed programs, with member countsno
get_programThe sessions of a group or fixed programno
create_client_planPut a new plan on one client's calendar from a start dateyes
create_templateSave a plan as a reusable template, not assigned to anyoneyes
apply_templateCopy a template onto a client's calendar from a start dateyes
replace_exerciseSwap one exercise for another, keeping the sets and targetsyes (destructive)
update_exercise_targetsChange sets, reps, weight, RPE, rest, tempo or coach notesyes (destructive)
add_exerciseAdd an exercise to upcoming sessions, a template or a programyes
remove_exerciseTake an exercise out of upcoming sessions, a template or a programyes (destructive)

Every tool carries a title and readOnlyHint / destructiveHint annotations, so your assistant can show each change and ask for your approval before making it. (Clients that let you auto-approve tools skip that prompt; leave it off if you want to confirm each change.)

What it will and won't do

  • Changes only touch sessions that have not started. Sessions a client has done or begun, and every logged set, are never changed.
  • Editing a template does not change clients who already have that template on their calendar.
  • An ambiguous name (two clients called Jana, an exercise that is only close to what you typed) is answered with the candidates, never guessed.
  • It sees only what you can already see in MONS, through these tools: your clients, your templates, your programs. No other coach's data.
  • It has no access to readiness, body measurements, nutrition, chat messages or payment details.

How it works

AI client ──OAuth 2.1──▶ MONS sign-in (Supabase Auth OAuth server, consent at coach.mons.training)    │    └─Streamable HTTP──▶ Cloudflare Worker (src/) ──PostgREST RPC, coach's own token──▶ mons.mcp_* SQL functions (sql/)
  • Auth (src/auth.ts): ES256 access tokens are verified against the MONS project's JWKS. The token must be issued to an OAuth client (client_id claim) and belong to a coach; client (athlete) accounts are refused.
  • No privileged key in the server. The Worker calls the database with the public anon key plus the coach's own token, so every row is filtered by the same row-level security as the MONS coach web app.
  • SQL (sql/): the tools are thin wrappers over mons.mcp_* Postgres functions running as the caller (security invoker). Each write is one atomic call; the past/started/completed-session rule is enforced there.
  • Token scope (sql/20261107*): a token issued to an AI client can call only the 17 functions the Worker uses, not the rest of the MONS API.
  • Logs (src/index.ts): one line per request with the route, status, coach id, tool name, outcome and duration. Never arguments, client names, notes or weights.

The sql/ folder is a copy of the MONS database migrations that define these functions, published for review; they are applied to the MONS project, not run from here.

Development

bash
npm cinpm test           # unit tests (no network)npm run typecheck

The integration tests and the demo-account seed run against the live MONS project and live in the private MONS repository.

Privacy, support, security

To disconnect, remove the MONS connector in your client (claude.ai: Settings → Connectors; Claude Code: claude mcp remove mons). To have MONS revoke the connection on its side as well, write to [email protected].

License

Source-available, all rights reserved. See LICENSE. The hosted server at mcp.mons.training is provided by LifeAnalytics s.r.o.

来源:README.md,提交 4020dbd

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v1.0.0最新Nov 8, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。