# MONS Athletics

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

- name: com.monsathletics/mons
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.monsathletics%2Fmons
- tools: https://api.protogrid.dev/v1/servers/com.monsathletics%2Fmons/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "mons": {
      "type": "http",
      "url": "https://monsathletics.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 97
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-92% +updated-16d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (strong)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 14 of 14 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,807 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 3 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 14, about 2,807 tokens to load them all
- tool set hash: 580cde631d74aa06284f64199d0b53f7
- tools last changed: 2026-10-21T00:44:28.274Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.monsathletics/mons.svg)](https://protogrid.dev/servers/com.monsathletics/mons)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-21 `morning_check_in` changed (title, description)
  - before: The morning check-in: tells the coach how many minutes they have today and what they cannot do, and the coach designs today's sessions. Returns them. Takes up to a minute.
  - after: 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.
- 2026-10-10 `update_profile` changed (inputSchema)
- 2026-10-10 `sign_up` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.monsathletics%2Fmons/changes

## Remotes

- https://monsathletics.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.91525424)

## Packages

_none_

## Tools (14)

- `about_mons`: What MONS Athletics is, its training method, who it is for, what it needs (iPhone and Apple Watch), and links to get started.
- `add_challenge`: Puts a challenge on a date after today. challenge_id is a challenge id, as find_next_challenge and ladder give them.
- `ask_coach`: 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.
- `check_readiness`: 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.
- `edit_schedule`: 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.
- `find_next_challenge`: 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.
- `ladder`: The challenge ladder in order (collected, next, ready, readiness) and the challenges on the calendar, each with the id remove_challenge takes.
- `morning_check_in`: 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.
- `my_profile`: Whether the account is set up and subscribed, the endurance mix, kettlebells, date of birth and max heart rate.
- `remove_challenge`: Removes a challenge that has not happened yet, by its id from ladder on_the_calendar.
- `schedule`: The coming days: what each day is set to (rest, long run, a sport), the weekly rules, and the sessions so far.
- `sign_up`: 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.
- `today`: Today's sessions as the coach designed them, or that today is not designed yet.
- `update_profile`: Changes how they build endurance (mix) or which kettlebells they have. Send only what changes.
