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 分

    請在儲存庫或註冊中心條目中宣告授權條款。