Skip to content

MONS Athletics

by monsathletics.com · remote · no sign-in to list tools · v1.0.0 · published by com.monsathletics

Find your next endurance challenge and train for it with your MONS coach.

Deletes · 5Changes · 8

14 tools: 5 can delete or cancel things, 8 change things and 1 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http mons https://monsathletics.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "schedule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "schedule" says "schedule": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Deletes or cancels 5Claude Code: deny
  • ask_coachSends a message to their MONS coach, in the same thread as the app, and returns the coach's reply.No findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Sends 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • edit_scheduleSets what a coming day is for (days), or what a weekday is for every week (weekly).No findings

    Why it is in this group

    • The name "edit_schedule" says "edit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Sets 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • morning_check_inEach day is planned on its own each morning.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Each 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • remove_challengeRemoves a challenge that has not happened yet, by its id from ladder on_the_calendar.No findings

    Why it is in this group

    • The name "remove_challenge" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes a challenge that has not happened yet, by its id from ladder on_the_calendar.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • update_profileChanges how they build endurance (mix) or which kettlebells they have.No findings

    Why it is in this group

    • The name "update_profile" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Changes how they build endurance (mix) or which kettlebells they have. Send only what changes.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Changes things 8Claude Code: ask
  • about_monsWhat MONS Athletics is, its training method, who it is for, what it needs (iPhone and Apple Watch), and links to get started.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What MONS Athletics is, its training method, who it is for, what it needs (iPhone and Apple Watch), and links to get started.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • add_challengePuts a challenge on a date after today.No findings

    Why it is in this group

    • The name "add_challenge" says "add": a word for a change.
    Description, as the server wrote it
    Puts a challenge on a date after today. challenge_id is a challenge id, as find_next_challenge and ladder give them.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • check_readinessPicks the challenge to aim for from the person's training, how many weeks they are from it, and the one thing that sets the date.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Picks the challenge to aim for from the person's training, how many weeks they are from it, and the one thing that sets the date. Returns the next question while one is unanswered, then the challenge and verdict. Send every answer so far each time.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • ladderThe challenge ladder in order (collected, next, ready, readiness) and the challenges on the calendar, each with the id remove_challenge takes.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The challenge ladder in order (collected, next, ready, readiness) and the challenges on the calendar, each with the id remove_challenge takes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • my_profileWhether the account is set up and subscribed, the endurance mix, kettlebells, date of birth and max heart rate.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Whether the account is set up and subscribed, the endurance mix, kettlebells, date of birth and max heart rate.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • scheduleThe coming days: what each day is set to (rest, long run, a sport), the weekly rules, and the sessions so far.1 finding

    Why it is in this group

    • The name "schedule" says "schedule": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "schedule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "schedule" says "schedule": a word for a change.

      What this check looks for
    Description, as the server wrote it
    The coming days: what each day is set to (rest, long run, a sport), the weekly rules, and the sessions so far.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sign_upSets up the signed-in person's MONS account, as the app's onboarding would.No findings

    Why it is in this group

    • The description's first verb is "set": a word for a change.
    Description, as the server wrote it
    Sets 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • todayToday's sessions as the coach designed them, or that today is not designed yet.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Today's sessions as the coach designed them, or that today is not designed yet.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 1Claude Code: allow
  • find_next_challengeTakes the furthest a person has run, ridden or swum and gives the first question about their training, plus every challenge in that sport.No findings

    Why it is in this group

    • The name "find_next_challenge" says "find": a word for reading.
    Description, as the server wrote it
    Takes 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http mons https://monsathletics.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__mons__find_next_challenge"
    ],
    "ask": [
      "mcp__mons__about_mons",
      "mcp__mons__check_readiness",
      "mcp__mons__sign_up",
      "mcp__mons__my_profile",
      "mcp__mons__today",
      "mcp__mons__schedule",
      "mcp__mons__ladder",
      "mcp__mons__add_challenge"
    ],
    "deny": [
      "mcp__mons__update_profile",
      "mcp__mons__morning_check_in",
      "mcp__mons__edit_schedule",
      "mcp__mons__remove_challenge",
      "mcp__mons__ask_coach"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as mons. Review it before you use it.