MONS

Registre officiel Autres

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

Que pouvez-vous faire avec MONS ?

  • Changes only touch sessions that have not started. Sessions a client has done
  • Editing a template does not change clients who already have that template on
  • An ambiguous name (two clients called Jana, an exercise that is only close to
  • It sees only what you can already see in MONS, through these tools: your
  • It has no access to readiness, body measurements, nutrition, chat messages or

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http mons 'https://mcp.mons.training/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mons": {
            "type": "http",
            "url": "https://mcp.mons.training/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. MONS MCP server
  2. Connect
  3. Try asking
  4. Tools
  5. What it will and won't do
  6. How it works
  7. Development
  8. Privacy, support, security
  9. License

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
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:

{
  "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

npm ci
npm 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 hello@mons.training.

License

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

Questions fréquentes

Qu'est-ce que MONS ?

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

Comment installer MONS ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http mons 'https://mcp.mons.training/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour MONS ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

MONS est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient MONS ?

Il est publié par tomis3. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.