
MONS
io.github.tomis3Published by GitHub account tomis3v1.0.0Updated Nov 8, 2026
Build and adjust your clients' MONS training plans: programs, templates, exercises, sets, reps.
Overview
Lets a MONS coach read and change clients' training plans — programs, templates, exercises, sets and reps — by chatting with an AI assistant.
- What you can do
- List clients with their programs and next session, and read a client's sessions in a date range with every exercise, set, rep, weight and note
- Browse the exercise library by name and read reusable templates and group or fixed programs
- Create a plan on a client's calendar from a start date, or save a plan as a reusable template and apply a template to a client
- Swap, add or remove exercises and change sets, reps, weight, RPE, rest, tempo or coach notes in upcoming sessions, templates or programs
- When to use it
- Useful for MONS coaches who want to draft, adjust or bulk-edit client training plans conversationally instead of clicking through the app, for example building a multi-week plan or replacing an exercise across upcoming sessions.
- Requirements
- A MONS coach account; athlete accounts are refused. Connect to the hosted remote endpoint over Streamable HTTP with OAuth 2.1 and approve the connection at sign-in. Clients that only start local servers need a bridge such as mcp-remote. No API keys or environment variables.
Installation
In SourceWeft
- Open MONS in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.tomis3%2Fmons/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"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)
- Open Settings → Connectors.
- Choose Add custom connector.
- Paste
https://mcp.mons.training/mcpand choose Connect. - 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
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:
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
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
- 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_idclaim) 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 overmons.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
The integration tests and the demo-account seed run against the live MONS project and live in the private MONS repository.
Privacy, support, security
- Privacy Policy: https://mons.training/MONS%20Privacy%20Policy (section "Claude Connector")
- Terms of Service: https://mons.training/MONS%20Terms%20of%20Service
- Support: [email protected]
- Security issues: see SECURITY.md
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.
Source: README.md at commit 4020dbd
Tools
0Version history
1- v1.0.0LatestNov 8, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.