MONS Athletics
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Find your next endurance challenge and train for it with your MONS coach.
| Author | com.monsathletics |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2476 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"MONS Athletics": {
"url": "https://monsathletics.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (14)
about_monsread-onlyWhat MONS Athletics is, its training method, who it is for, what it needs (iPhone and Apple Watch), and links to get started.
Hints: read-only yes · destructive no · idempotent yes · open-world no
find_next_challengeread-onlyTakes the furthest a person has run, ridden or swum and gives the first question about their training, plus every challenge in that sport. check_readiness picks the challenge once the questions are answered.
Parameters:
sport(required) — string — The sport of the challenge: running, cycling or swimming.furthest_km(required) — number — The furthest distance the person has ever done in one go in that sport, in kilometres. 0 if never.challenge_id— string — Optional: a challenge id from the challenges find_next_challenge lists, when the person names a goal of their own. Omit to let their training answers pick one.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_readinessread-onlyPicks the challenge to aim for from the person's training, whether they are ready for it, and what is still needed if not. Returns the next question while one is unanswered, then the challenge and verdict. Send every answer so far each time.
Parameters:
sport(required) — string — The sport of the challenge: running, cycling or swimming.furthest_km(required) — number — The furthest distance the person has ever done in one go in that sport, in kilometres. 0 if never.today— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.answers— object — Answers so far, keyed by question id, each the value of the option the person chose. Omit before the first answer.challenge_id— string — Optional: a challenge id from the challenges find_next_challenge lists, when the person names a goal of their own. Omit to let their training answers pick one.
Hints: read-only yes · destructive no · idempotent yes · open-world no
sign_upSets up the signed-in person's MONS account, as the app's onboarding would. Pass the challenge and answers from check_readiness when there are some. Does nothing to an account already set up.
Parameters:
mix(required) — string — Which endurance sports they do: runner (run), swimmer (swim), rider (ride), rider_runner (run & ride), swimrunner (run & swim), rider_swimmer (swim & ride) or triathlete (run, swim & ride). Sports left out are not trained.kettlebells(required) — object — How many kettlebells they own in each weight class, 0 to 2 each. Moderate: get-ups and overhead work. Heavy: swings, squats and presses. Extra heavy: heavy carries. All 0 trains with bodyweight.date_of_birth(required) — string — YYYY-MM-DD. MONS is for ages 16 to 80.today— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.answers— object — The check_readiness answers for challenge_id, if any.challenge_id— string — Optional: a challenge id from the challenges find_next_challenge lists, when the person names a goal of their own. Omit to let their training answers pick one.
Hints: read-only no · destructive no · idempotent yes · open-world no
my_profileread-onlyWhether the account is set up and subscribed, the endurance mix, kettlebells, date of birth and max heart rate.
Hints: read-only yes · destructive no · idempotent yes · open-world no
update_profiledestructiveChanges how they build endurance (mix) or which kettlebells they have. Send only what changes.
Parameters:
mix— string — Which endurance sports they do: runner (run), swimmer (swim), rider (ride), rider_runner (run & ride), swimrunner (run & swim), rider_swimmer (swim & ride) or triathlete (run, swim & ride). Sports left out are not trained.kettlebells— object — How many kettlebells they own in each weight class, 0 to 2 each. Moderate: get-ups and overhead work. Heavy: swings, squats and presses. Extra heavy: heavy carries. All 0 trains with bodyweight.
Hints: read-only no · destructive yes · idempotent yes · open-world no
todayread-onlyToday's sessions as the coach designed them, or that today is not designed yet.
Parameters:
today— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.
Hints: read-only yes · destructive no · idempotent yes · open-world no
morning_check_indestructiveEach day is planned on its own each morning. When the athlete's day is different, this tells the coach how many minutes they have today and what they cannot do, and the coach plans today's sessions again around it. Returns them. Takes up to a minute.
Parameters:
minutes(required) — integer — Minutes they have for training today.today— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.cannot_do— array — What they cannot do today, e.g. swimming when there is no pool. Omit if everything is possible.
Hints: read-only no · destructive yes · idempotent no · open-world no
scheduleread-onlyThe coming days: what each day is set to (rest, long run, a sport), the weekly rules, and the sessions so far.
Parameters:
today— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.
Hints: read-only yes · destructive no · idempotent yes · open-world no
edit_scheduledestructiveSets what a coming day is for (days), or what a weekday is for every week (weekly). focus none on a day hands it back to the coach for that date only; focus null clears it. Only one weekday can be the long run.
Parameters:
days— arraytoday— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.weekly— array
Hints: read-only no · destructive yes · idempotent no · open-world no
ladderread-onlyThe challenge ladder in order (collected, next, ready, readiness) and the challenges on the calendar, each with the id remove_challenge takes.
Parameters:
today— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_challengePuts a challenge on a date after today. challenge_id is a challenge id, as find_next_challenge and ladder give them.
Parameters:
challenge_id(required) — stringdate(required) — string — YYYY-MM-DD, after today.
Hints: read-only no · destructive no · idempotent no · open-world no
remove_challengedestructiveRemoves a challenge that has not happened yet, by its id from ladder on_the_calendar.
Parameters:
id(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world no
ask_coachdestructiveSends a message to their MONS coach, in the same thread as the app, and returns the coach's reply. Use for any training question: soreness, a missed session, how a session should feel. The coach may adjust their workouts.
Parameters:
message(required) — stringtoday— string — The person's local date as YYYY-MM-DD, the day before if it is earlier than 05:00 where they are. Omit if unknown.
Hints: read-only no · destructive yes · idempotent no · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.