MONS Athletics
Server Details
Find your next endurance challenge and train for it with your MONS coach.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 14 tools
Several tools cluster around the same daily/challenge concepts: today, schedule, and morning_check_in all concern daily sessions, and ladder, find_next_challenge, and check_readiness all relate to challenge selection. The descriptions do explain the intended flow (find_next_challenge starts the questionnaire, check_readiness finishes it), but the overlaps still create misselection risk.
Most tools use a clear verb_noun pattern (add_challenge, remove_challenge, ask_coach, check_readiness, edit_schedule, sign_up, update_profile). A handful are noun-only for read operations (ladder, schedule, today, my_profile, about_mons), which is a minor, readable deviation rather than chaos.
Fourteen tools is well within the sensible range for a fitness-coaching domain spanning onboarding, profile, scheduling, challenges, and coaching. Each tool maps to a distinct operation, though the challenge/questionnaire flow could arguably be consolidated.
The surface covers onboarding (sign_up, my_profile, update_profile), scheduling (schedule, edit_schedule, today, morning_check_in), challenges (add/remove/ladder/find_next_challenge/check_readiness), and coaching (ask_coach, about_mons). Core lifecycle is present; only minor gaps like account teardown or explicit session-history access are absent.
Available Tools
14 toolsabout_monsAbout MONS AthleticsARead-onlyIdempotentInspect
What MONS Athletics is, its training method, who it is for, what it needs (iPhone and Apple Watch), and links to get started.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds useful scope context by disclosing that the payload covers device requirements and starter links, but it says nothing about response format or size. With annotations carrying the burden, this is a reasonable 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the subject ('What MONS Athletics is') and then lists the remaining content areas. It is efficient with no filler, though the comma-chained content list is slightly dense for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey what comes back — and it does, itemizing the informational sections an agent can expect. For a zero-parameter, read-only lookup, this is sufficiently complete; only a note on response shape or size would improve it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Per the baseline for parameterless tools, a 4 is appropriate; the description correctly does not invent parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (MONS Athletics) and enumerates exactly what the tool surfaces: what it is, its training method, audience, device requirements, and getting-started links. That content inventory clearly separates it from action-oriented siblings like add_challenge, ask_coach, or edit_schedule. It stops short of a crisp verb+resource phrasing, but the retrieval scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the mention of 'links to get started' and device requirements signals an onboarding/informational call, but the description never states when to reach for this versus siblings such as my_profile or sign_up. No exclusions or prerequisites are given. Adequate for a trivial no-arg info tool, but not explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_challengePut a challenge on the calendarAInspect
Puts a challenge on a date after today. challenge_id is a challenge id, as find_next_challenge and ladder give them.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | YYYY-MM-DD, after today. | |
| challenge_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=false, so the mutation/non-idempotent profile is known. The description adds the 'after today' constraint, but does not explain what happens on a duplicate add or a rejected date, which matters given non-idempotence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler, with the date constraint front-loaded before the parameter-sourcing note. Slightly terse grammar but nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with annotations covering safety and no output schema, the description covers the essential constraint and ID provenance. It stops short of duplicate-handling or failure behavior, leaving a gap an agent would care about for a non-idempotent write.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% — the date format lives in the schema but challenge_id has no schema description. The description compensates by telling the agent where challenge_id comes from ('as find_next_challenge and ladder give them'), which is real value beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Puts a challenge on a date') and adds the timing constraint 'after today'. It is distinguishable from remove_challenge and find_next_challenge by the write action, though it never names those siblings as the contrasting alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Guidance is indirect: it routes the agent to find_next_challenge and ladder as the source of a challenge_id, and states the 'after today' constraint, but never says when to choose this tool over edit_schedule or schedule, nor what to do if the challenge is already on the calendar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_coachAsk the MONS coachADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| today | No | 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. | |
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations flag destructiveHint=true, which would be surprising for a chat tool; the description earns credit by explaining why ('The coach may adjust their workouts') and by noting the reply arrives in the same thread, implying conversation continuity. It does not mention non-idempotency (repeated calls post duplicate messages) or any rate/permission constraints, so it is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler: purpose and return value first, then usage triggers, then the side-effect caveat. Every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must cover the return, and it does ('returns the coach's reply'). It also warns about workout mutation via annotations being explained. Minor gaps: no guidance on formatting the message or what happens if 'today' is omitted, but nothing that blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the 'today' parameter carries a detailed description with format and the pre-05:00 local-date rule, while 'message' is undocumented apart from its maxLength. The description only implicitly conveys what 'message' is and adds no constraint detail (e.g., what content the coach can act on), so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Sends a message to their MONS coach'), plus the thread and return behavior ('in the same thread as the app, and returns the coach's reply'). No sibling tool does anything comparable, so it is trivially distinguishable from about_mons, check_readiness, or today.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger examples ('any training question: soreness, a missed session, how a session should feel'), which is clear positive guidance. It stops short of naming when NOT to use it (e.g., for app/account questions that belong to my_profile or about_mons), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_readinessCheck readiness for a challengeARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | The sport of the challenge: running, cycling or swimming. | |
| today | No | 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 | No | Answers so far, keyed by question id, each the value of the option the person chose. Omit before the first answer. | |
| furthest_km | Yes | The furthest distance the person has ever done in one go in that sport, in kilometres. 0 if never. | |
| challenge_id | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read, so the safety profile is covered. The description adds genuinely non-derivable behavior: it is an interactive multi-turn flow that returns the next unanswered question first and only later the challenge plus verdict, which is essential for the agent to interpret responses correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose and no redundant filler. The middle sentence on the return protocol earns its place, though the cryptic 'one thing that sets the date' phrasing costs some clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stateful, multi-turn tool with no output schema, the description covers the two things that matter most: the two possible response shapes (question vs. challenge+verdict) and the cumulative-answers protocol. Combined with 100% schema documentation of all five parameters, an agent has what it needs to drive the conversation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description goes beyond the schema by clarifying that 'answers' is cumulative state — every answer so far must be resent on each call — which is a semantic constraint the schema does not express. It also loosely ties the inputs to training history and time-to-goal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete operation: it picks a target challenge from the person's training, computes weeks-to-goal, and returns a readiness verdict, which is more than a restatement of the title. However, it never differentiates itself from the closely related sibling find_next_challenge, and the phrase 'the one thing that sets the date' is opaque jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — the description makes clear this is the readiness-assessment flow but gives no explicit when-to-use, when-not, or alternative (e.g. find_next_challenge, ask_coach) for the agent to choose between. The 'send every answer so far each time' line is an invocation rule rather than guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_scheduleChange my scheduleADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| today | No | 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 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a destructive, non-idempotent write. The description goes beyond them by disambiguating focus=none (hands the date back to the coach) from focus=null (clears), and by stating the 'only one weekday can be the long run' constraint. It still doesn't spell out what existing entries are overwritten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose in the first clause and follows with two tight clarifying sentences. The none/null clause is dense but earns its place; little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter destructive mutation with no output schema, the description covers both operating modes, the key enum edge cases, and a validation constraint. It leaves minor gaps (overwrite semantics, permission needs) but is largely sufficient to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only today is documented), so the description must compensate. It explains what days and weekly each set and clarifies the subtle none-vs-null distinction for focus, adding real meaning the schema leaves silent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Sets) and resource (a coming day's focus, or a weekday's recurring focus), and cleanly splits the two modes by naming the days and weekly parameters. It does not, however, differentiate itself from the sibling schedule tool, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The days-vs-weekly split implicitly tells the agent which parameter to reach for in which scenario, and the none/null note gives conditional behavior. But there is no explicit when-to-use vs the sibling schedule tool, no prerequisites, and no stated exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_next_challengeFind the next challengeARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | The sport of the challenge: running, cycling or swimming. | |
| furthest_km | Yes | The furthest distance the person has ever done in one go in that sport, in kilometres. 0 if never. | |
| challenge_id | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered and the description need not repeat it. The description adds the practical behavior of what it returns and the hand-off to check_readiness, which is useful, but it doesn't address pagination, ordering, or how the challenge list is scoped beyond sport.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the core action is front-loaded before the check_readiness hand-off. Slightly compressed phrasing ('the furthest a person has run, ridden or swum') costs a little readability but the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately explains what comes back (the first training question and every challenge in the sport) and what the caller does next. For a read-only query with fully documented parameters, this is nearly complete; it could still clarify what identifying inputs the tool has already or how results are ordered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema documents sport (with enum), furthest_km, and the optional challenge_id in detail. The description only loosely gestures at the input ('the furthest a person has run, ridden or swum') and says nothing about challenge_id, so it neither adds nor detracts much beyond the schema baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action: it takes the furthest distance per sport and returns the first training question plus all challenges in that sport. It clearly separates itself from the sibling check_readiness by naming it. The only ambiguity is the somewhat vague phrase 'the first question about their training', but the operation and result are recognizable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description sketches a workflow: this tool surfaces the questions and the challenge list, then 'check_readiness picks the challenge once the questions are answered'. This gives the agent a clear sense of when this tool is the entry point versus the follow-up. It doesn't cover other siblings like add_challenge or ladder, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ladderMy challengesARead-onlyIdempotentInspect
The challenge ladder in order (collected, next, ready, readiness) and the challenges on the calendar, each with the id remove_challenge takes.
| Name | Required | Description | Default |
|---|---|---|---|
| today | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine value by disclosing the returned structure (ordered ladder stages: collected, next, ready, readiness) and the presence of removal-ready ids. It says nothing about ordering of calendar items, filtering, or empty states, so it stays at a solid-but-not-rich 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the primary payload (the ordered ladder) before the secondary calendar content. Every clause carries information, though the parenthetical stage list and trailing clause make it slightly run-on for a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, zero-required-parameter tool with full schema coverage and annotations, the description conveys what comes back and the ordering semantics, which is what an agent needs to invoke it correctly. Missing only edge cases such as what an empty ladder or calendar looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional 'today' parameter is fully documented in the schema, including the 05:00 cutoff rule and the 'omit if unknown' guidance. The description never mentions the parameter, so it adds no meaning beyond the schema — the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (the challenge ladder, plus the calendar challenges) and enumerates the ladder stages in order, which lets an agent distinguish it from find_next_challenge and check_readiness. It never states an explicit verb ('returns'/'lists'), so the read intent is inferred rather than declared, but the scope is concrete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement versus siblings like find_next_challenge or today. The only usage signal is implicit: it notes the output carries 'the id remove_challenge takes', which tells an agent this is the lookup step before removal. Adequate but thin.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
morning_check_inMorning check-inCDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| today | No | 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. | |
| minutes | Yes | Minutes they have for training today. | |
| cannot_do | No | What they cannot do today, e.g. swimming when there is no pool. Omit if everything is possible. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, non-idempotent, destructive write, so the bar is lower. The description usefully adds a latency expectation ('Takes up to a minute') and hints that it returns sessions, but it never explains WHY it is destructive — that it presumably overwrites/regenerates today's existing sessions. That omission matters most for an agent deciding whether to call it repeatedly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no padding, and the outcome is front-loaded. The phrasing is slightly tangled ('tells the coach... and the coach designs'), but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should describe the return value, and 'Returns them' is vague about what exactly comes back and in what form. It also leaves the destructive overwrite behavior unexplained. Adequate but with clear gaps for a write tool with a non-trivial return payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents today, minutes, and cannot_do (including the 05:00 date rule and the enum values). The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the outcome (input today's available minutes and constraints, coach designs today's sessions), which is a recognizable resource. However, the actor framing is muddled — 'tells the coach' reads as if the tool speaks to the coach rather than the user informing the coach — and it never distinguishes itself from close siblings like check_readiness, today, or ask_coach. Purpose is inferable but not crisp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement and no alternatives named. Given siblings check_readiness, today, and ask_coach all touch today's readiness/planning, the description should route the agent among them; it does not. Only the phrase 'the morning check-in' implies a daily trigger, which is weak guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_profileMy MONS profileCRead-onlyIdempotentInspect
Whether the account is set up and subscribed, the endurance mix, kettlebells, date of birth and max heart rate.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so the safety profile is fully covered externally. The description does add value the annotations cannot: it enumerates the data the profile contains (subscription state, endurance mix, kettlebells, DOB, max heart rate), though it omits anything about return format or units.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and wastes no words, but it is a sentence fragment beginning with 'Whether' and reads as an unordered dump of fields rather than a front-loaded statement of purpose. Brevity here is a symptom of under-specification as much as economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the field list is genuinely load-bearing because it is the only signal of what comes back. However, a zero-parameter read tool that is the read half of update_profile should state its action and its relationship to that sibling; the definition leaves that to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the rubric's baseline of 4 applies. Nothing in the description is needed to explain inputs, and the field names it lists are informational rather than parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a noun-phrase field list rather than a statement of action: no verb such as 'retrieve' or 'get' tells the agent what the tool does. The name 'my_profile' combined with the field enumeration lets an agent infer it reads the user's profile, but the definition itself only restates content, which is close to a tautology of the title 'My MONS profile'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the obvious alternative sibling update_profile for changing these values. The agent must infer that this is the read counterpart to update_profile entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_challengeTake a challenge off the calendarBDestructiveInspect
Removes a challenge that has not happened yet, by its id from ladder on_the_calendar.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and readOnlyHint=false, so the safety profile is covered structurally. The description usefully adds the precondition that the challenge must not yet have occurred, but says nothing about irreversibility, error behavior, or what exactly is deleted from the calendar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The trailing phrase "by its id from ladder on_the_calendar" is slightly awkward and would read better restructured, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter destructive mutation with annotations covering the safety profile and no output schema, the description covers purpose and a key precondition. It leaves gaps around failure modes, reversibility, and where exactly to obtain the id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage on the single required id parameter (string, maxLength 64). The description partially compensates by indicating the id originates from the ladder/on_the_calendar context, but gives no format, source-lookup, or example guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Removes") and resource ("challenge"), and adds a scoping constraint ("that has not happened yet"). It implicitly contrasts with add_challenge but never names a sibling or alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "that has not happened yet" implies a precondition (only future/upcoming challenges are removable), but there is no explicit when-to-use guidance or reference to alternatives like edit_schedule or find_next_challenge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scheduleMy scheduleBRead-onlyIdempotentInspect
The coming days: what each day is set to (rest, long run, a sport), the weekly rules, and the sessions so far.
| Name | Required | Description | Default |
|---|---|---|---|
| today | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is fully covered by structured data. The description adds that output spans both future plans and past sessions, which is useful scope context, but leaves the ambiguous phrase 'sessions so far' unexplained and says nothing about ordering, limits, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the payload front-loaded; every clause carries content (planned days, weekly rules, logged sessions). Slight loss for the vague phrasing 'the weekly rules' and 'the sessions so far', which costs precision without saving much space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the return-value burden, and it does sketch the three content areas. It still omits how many days are returned, what the weekly rules look like, and whether 'sessions so far' means completed activities or future entries, leaving gaps for a zero-required-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single optional 'today' parameter already documents its YYYY-MM-DD format, the pre-05:00 rollback rule, and that omission is allowed. The description adds nothing about this parameter, so the schema baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource clearly: the training schedule covering planned days (rest, long run, sport), the weekly rules, and sessions logged so far. It reads as a retrieval of the person's plan. However, it never distinguishes itself from the closely related sibling edit_schedule or today, so an agent cannot tell from the text alone whereas this is the read path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing says to pick this instead of edit_schedule (to modify) or today (for today's view). Usage must be inferred entirely from the noun phrase. This is a missed opportunity given three plausible sibling overlaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_upSet up a MONS accountAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mix | Yes | How they want to build endurance: runner, swimmer, rider, rider_runner, swimrunner, rider_swimmer or triathlete. | |
| today | No | 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 | No | The check_readiness answers for challenge_id, if any. | |
| kettlebells | Yes | 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. | |
| challenge_id | No | 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. | |
| date_of_birth | Yes | YYYY-MM-DD. MONS is for ages 16 to 80. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false, readOnlyHint=false, so the safety profile is covered. The description adds onboarding-parity context and restates the idempotent no-op behavior, but says nothing about permissions or return behavior, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler, front-loading what the tool does and then the two conditional behaviors. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter setup mutation with a nested kettlebells object and no output schema, the description covers purpose, cross-tool inputs, and idempotency. Annotations and the fully described schema carry the rest, so no critical gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description still adds value by tying the challenge_id and answers parameters to the check_readiness flow, which the schema only implies ('the check_readiness answers for challenge_id').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it sets up the signed-in person's MONS account, qualified with 'as the app's onboarding would,' which distinguishes it from the account-mutating sibling update_profile. It does not name a sibling outright, so 5 is not reached, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use rule (pass challenge and answers from check_readiness when present) and a when-not rule ('Does nothing to an account already set up'). It references the check_readiness sibling but does not explicitly weigh itself against update_profile, which is the closest alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todayToday's trainingCRead-onlyIdempotentInspect
Today's sessions as the coach designed them, or that today is not designed yet.
| Name | Required | Description | Default |
|---|---|---|---|
| today | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description does add one genuinely useful behavioral fact: the result may indicate that today has not been designed yet, which is an empty-state the agent should anticipate. It says nothing about pagination, freshness, or return shape beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with no filler, and the two possible outcomes are stated up front. Slightly awkward grammar ('or that today is not designed yet') but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a read-only annotation profile, the description does just enough by flagging the not-yet-designed case. It still leaves the shape of a returned session unspecified, which an agent selecting and parsing this tool would benefit from knowing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional `today` parameter is fully documented in the schema, including the 05:00 cutoff rule and the omit-if-unknown instruction. The description contributes no parameter meaning at all, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (today's training sessions as the coach designed them) but is phrased as a noun fragment with no verb, so it reads more like a title restatement than a defined action. It also does not differentiate itself from nearby siblings such as schedule, edit_schedule, or morning_check_in.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternative. An agent must infer on its own whether this is the right tool versus schedule or morning_check_in, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_profileChange my profileBDestructiveIdempotentInspect
Changes how they build endurance (mix) or which kettlebells they have. Send only what changes.
| Name | Required | Description | Default |
|---|---|---|---|
| mix | No | How they want to build endurance: runner, swimmer, rider, rider_runner, swimrunner, rider_swimmer or triathlete. | |
| kettlebells | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is largely covered. The description adds the partial-update instruction ("send only what changes"), but it fails to disclose that the nested kettlebells object requires all three weight classes, so sending a partial kettlebells payload effectively overwrites the rest — the core destructive risk here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the mutation target front-loaded and zero filler. The only inefficiency is the dangling pronoun "they," which costs a little clarity without adding bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only two parameters, the description is nearly sufficient, but it omits the nested-object replacement behavior and any indication of what a successful update returns or whether it applies to the caller's own profile. For a destructive, nested-payload mutation, those gaps matter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the enum for mix and per-weight semantics for kettlebells fully documented in the schema, so the baseline is 3. The description's paraphrase of "how they build endurance (mix)" and "which kettlebells they have" adds no syntax, format or constraint detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific mutation ("Changes") over two named profile attributes: endurance mix and kettlebells. An agent can tell this is the write counterpart to my_profile, though the description never names that read sibling to sharpen differentiation. The awkward phrasing "how they build endurance" leaves the subject (the user's profile) implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Send only what changes" gives a useful partial-update cue, which is meaningful since all parameters are optional. However, there is no explicit when-to-use guidance, no mention of when not to call it, and no reference to my_profile as the read alternative or to any precondition for editing a profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
- First observed
about_mons - First observed
add_challenge - First observed
ask_coach - First observed
check_readiness - First observed
edit_schedule - First observed
find_next_challenge - First observed
ladder - First observed
morning_check_in - First observed
my_profile - First observed
remove_challenge - First observed
schedule - First observed
sign_up - First observed
today - First observed
update_profile
Related MCP Connectors
Your AI writes training plans that arrive as structured workouts on iPhone and Apple Watch.
Adaptive running and strength coaching for the long run.
AI coach for Garmin: builds training plans and structured workouts, synced straight to your watch.
Manage your endurance training data and race preparation
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAI-powered coaching for runners, cyclists, swimmers, and triathletes, enabling personalized workouts, training plan adaptation, performance analytics, and AI coaching via Claude, MCP clients, or HTTP.-
- AlicenseBqualityCmaintenanceTurns any AI assistant into a physiological AI running coach by abstracting fitness APIs and exposing 70+ structured analytical MCP tools based on endurance models.21MIT
- AlicenseNot gradedqualityBmaintenanceProvides a personal hybrid running and strength training coach that integrates with Intervals.icu, offering 28-day plans, activity reconciliation, and delivery of scheduled workouts to calendars via MCP.5MIT
- AlicenseNot gradedqualityCmaintenanceIntegrates with Intervals.icu, Whoop, and TrainerRoad to provide unified access to fitness data, including completed workouts, recovery metrics, planned training, and performance trends across all sports.21 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.