STAS Running Coach for Claude
Server Details
Connect Claude to your Intervals.icu watch data for fitness, workout review, and plan writing.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 14 of 14 tools scored. Lowest: 3.1/5.
Each tool targets a distinct action: profile section changes, note events, plan events, deletions, reads, and strategy saving. No two tools have overlapping purposes.
All tool names follow a consistent snake_case verb_noun pattern (e.g., create_note_event, get_planned_events), making them predictable.
14 tools cover the necessary operations for a running coach assistant—profile, events, training data, strategy—without being excessive.
The tool set includes CRUD for profile sections and events, training history retrieval, user summary, and strategy saving. No obvious gaps for the domain.
Available Tools
15 toolscommit_profile_section_changeAInspect
Commit a previously previewed goals, rules, or profile memory section change. Call this only after the user explicitly confirms the exact full text shown for that preview. The server updates the profile only if the section hash still matches the preview. Visible confirmation copy is governed by a separate approved UX spec.
| Name | Required | Description | Default |
|---|---|---|---|
| changeId | Yes | Preview change id returned by preview_profile_section_change. Call only after the user explicitly confirms the exact full text shown for this preview. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behavioral traits: the update is conditional on hash matching, and confirmation copy is handled separately. This provides necessary transparency for safe use.
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, each serving a distinct purpose: stating the action, usage condition, and technical detail. No redundant or extraneous content.
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?
The description covers purpose, preconditions, and a key behavioral detail. However, it lacks information about return values or error handling, which would be helpful given the lack of an output schema.
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 changeId parameter is described effectively, linking it to the preview step and emphasizing the user confirmation requirement. This adds value beyond the schema's type and description.
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 clearly states the tool commits a previously previewed change to goals, rules, or profile memory sections. It explicitly distinguishes from sibling tools like preview_profile_section_change by referencing the preview prerequisite.
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?
It provides a clear condition: 'Call this only after the user explicitly confirms the exact full text shown for that preview.' This gives good usage context but does not explicitly state when not to use or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_note_eventAInspect
Create or update NOTE events in Intervals. dry_run is required: false writes the note, true previews only. Send category=NOTE and external_id=note:YYYY-MM-DD:. Use all-day local times for normal notes, keep description short, and omit type, moving_time, icu_training_load, and workout_doc. For weekly review notes or other notes that apply to the whole week, send for_week=true; omit it or use false for ordinary notes. Do not create a seven-day date range for weekly notes; keep one all-day anchor date and use for_week=true.
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | ||
| dry_run | Yes | Required. false writes to Intervals.icu; true only previews without writing. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description compensates well: it explains dry_run's effect on writing vs. preview, format constraints (all-day dates, external_id pattern), and fields to omit. It lacks details on error handling or permissions but provides substantial behavioral context.
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?
The description is a single dense paragraph that front-loads the main action. Each sentence is informative, but breaking into sections would improve readability. It earns its length but could be more structured.
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 tool with an array parameter and no output schema, the description covers creation rules, date formatting, for_week usage, and required fields. It lacks details on response format or error conditions, but is adequately complete for the intended use case.
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 description adds significant meaning beyond the schema: explains external_id pattern, date usage (all-day local times), conditional for_week, and instructions to omit certain fields. Despite 50% schema coverage, it enriches understanding of all sub-parameters.
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 clearly states 'Create or update NOTE events in Intervals,' specifying the verb and resource. It distinguishes from sibling tools like create_plan_event by emphasizing the NOTE category and providing unique constraints like for_week.
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 provides explicit when-to-use scenarios (normal notes vs. weekly review notes with for_week=true) and when-not-to (avoid seven-day ranges, omit certain fields). It implicitly guides towards delete_note_events for deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_plan_eventAInspect
Create or update planned WORKOUT events in Intervals. For changes to an existing STAS workout, keep the same external_id and call this tool again; do not delete the day/window just to edit time, name, note, load, color, or workout_builder. This tool is self-contained; do not look for SKILL.md or examples in the athlete's calendar. dry_run is required: false writes the event, true previews only. Send activity_type as Run/Ride/Swim/Workout/WeightTraining/Other, stas_note for the human workout note, and external_id=plan:YYYY-MM-DD:. Do not send low-level Intervals fields category, type, sport, workoutType, target, description, workout_doc, icu_workout, filename, or file_contents. The server maps activity_type to Intervals type and category=WORKOUT and infers Intervals target=HR/PACE/POWER from workout_builder. workout_builder is mandatory for any interval/key workout save, mainly Run/Ride intervals; never save intervals as prose-only. Omit workout_builder only for easy/simple workouts without structured steps. If you use workout_builder, do not include ## STAS or ## Workout; the server adds wrappers. Builder headers and repeat headers are plain lines without '-', e.g. 'Warmup', 'Main Set 5x', 'Cooldown'. Actual step lines start flush-left with '- ' and contain duration/distance plus a target, e.g. '- 1km 4:25/km-4:35/km Pace', '- 10m 75%', or '- Recovery 90s Z1 HR'. For HR-only workouts, every structured step target should use HR syntax like '- 10m Z2 HR' or '- 3m Z4 HR'. Do not write '- Warmup' followed by indented child bullets. Use '1km' or '1000mtr' for meters; 'm' means minutes. After writing a structured key workout, read it back with get_planned_events and check workout_doc.steps is non-empty before claiming it is structured. Example real interval write arguments. Replace the date/time and paces, but keep this exact JSON shape. Use activity_type, stas_note, and mandatory workout_builder for interval/key workout saves. workout_builder contains only native Intervals.icu Workout Builder text: repeat headers do not start with "-", step lines are flush-left, and nested Markdown bullets are forbidden. {"dry_run":false,"events":[{"activity_type":"Run","name":"Intervals: 5x1000m","start_date_local":"2026-05-13T08:00:00","end_date_local":"2026-05-13T08:55:00","stas_note":"Goal: controlled interval work without overreaching.\nRule: if HR rises too fast or form breaks, stop after 4 reps.","workout_builder":"Warmup\n- 15m Z2 HR\n\nMain Set 5x\n- 1km 4:25/km-4:35/km Pace\n- Recovery 90s Z1 HR\n\nCooldown\n- 10m Z1 HR","external_id":"plan:2026-05-13:intervals-5x1000m","color":"green","moving_time":3300}]}
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | Example real interval write arguments. Replace the date/time and paces, but keep this exact JSON shape. Use activity_type, stas_note, and mandatory workout_builder for interval/key workout saves. workout_builder contains only native Intervals.icu Workout Builder text: repeat headers do not start with "-", step lines are flush-left, and nested Markdown bullets are forbidden. {"dry_run":false,"events":[{"activity_type":"Run","name":"Intervals: 5x1000m","start_date_local":"2026-05-13T08:00:00","end_date_local":"2026-05-13T08:55:00","stas_note":"Goal: controlled interval work without overreaching.\nRule: if HR rises too fast or form breaks, stop after 4 reps.","workout_builder":"Warmup\n- 15m Z2 HR\n\nMain Set 5x\n- 1km 4:25/km-4:35/km Pace\n- Recovery 90s Z1 HR\n\nCooldown\n- 10m Z1 HR","external_id":"plan:2026-05-13:intervals-5x1000m","color":"green","moving_time":3300}]} | |
| dry_run | Yes | Required. false writes to Intervals.icu; true only previews without writing. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully covers behavioral traits: dry_run mode (required, false=write, true=preview), mapping rules (server maps activity_type to Intervals type and category), use of workout_builder, and the constraint that the server adds wrappers. It also warns to read back with get_planned_events to verify structure.
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?
The description is front-loaded with the core purpose. However, it is verbose due to repetition of the example JSON and instructions in both the description and the events parameter schema. It could be more concise without losing 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?
Given the complexity of the tool (nested events, dry_run, workout_builder), the description covers all necessary aspects: input parameters, mapping logic, formatting rules, and behavior. No output schema exists, but the description adequately explains the outcome (write vs preview).
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%, yet the description adds significant meaning: a concrete example JSON, instructions on field formats (e.g., external_id pattern, activity_type enum), what not to send, and detailed rules for workout_builder syntax (e.g., repeat headers, step lines). This far exceeds the minimal schema descriptions.
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 clearly states 'Create or update planned WORKOUT events in Intervals.' It specifies the verb (create/update) and the resource (planned WORKOUT events). It also distinguishes from siblings like delete_plan_events and get_planned_events by noting that updates use the same external_id.
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 provides explicit guidance: when to use the tool (for planned events in Intervals), when not to delete/recreate (for edits, keep same external_id), and what to avoid (e.g., do not send low-level Intervals fields). It also clarifies that the tool is self-contained and not to look elsewhere for SKILL.md or examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_note_eventsAInspect
Delete STAS note events. For one specific note, pass external_ids with the exact note:YYYY-MM-DD: id. Use oldest/newest window deletion only when replacing a whole note set in that date window. Do not delete user-created notes without a note: external_id. dry_run is required: false deletes, true previews only.
| Name | Required | Description | Default |
|---|---|---|---|
| newest | No | End date for full-window replacement deletes. Required unless external_ids is provided. | |
| oldest | No | Start date for full-window replacement deletes. Required unless external_ids is provided. | |
| dry_run | Yes | Required. false writes to Intervals.icu; true only previews without writing. | |
| external_ids | No | Exact STAS event ids to delete. Use this for deleting specific workouts or notes without clearing the whole day/window. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the dry_run behavior (false deletes, true previews) and explains the two deletion modes. No annotations were provided, so the description carries the full burden. Missing details on side effects or authorization requirements.
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 main action, and each sentence provides essential guidance without redundancy. Highly 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?
Given no output schema, the description adequately covers what the tool does, the two modes, and the required dry_run parameter. Missing some details on response or confirmation, but sufficient for a deletion 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?
All parameters have schema descriptions (100% coverage), but the description adds value by explaining the specific id format (note:YYYY-MM-DD:slug) and clarifying when to use each parameter. Baseline 3 increased for additional context.
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 clearly states 'Delete STAS note events' and specifies two modes: deleting individual notes via external_ids or window deletion for whole note sets. It distinguishes from sibling tools like delete_plan_events by focusing on note events.
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?
Provides explicit guidance on when to use external_ids vs oldest/newest window deletion, and warns against deleting user-created notes without a note: external_id. Could be improved by explicitly mentioning alternatives from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_plan_eventsAInspect
Delete STAS plan events. For one specific workout, pass external_ids with the exact plan:YYYY-MM-DD: id. Use oldest/newest window deletion only when the user is replacing the whole STAS plan in that date window. Do not use window deletion for simple edits; update with create_plan_event using the same external_id instead. dry_run is required: false deletes, true previews only.
| Name | Required | Description | Default |
|---|---|---|---|
| newest | No | End date for full-window replacement deletes. Required unless external_ids is provided. | |
| oldest | No | Start date for full-window replacement deletes. Required unless external_ids is provided. | |
| dry_run | Yes | Required. false writes to Intervals.icu; true only previews without writing. | |
| external_ids | No | Exact STAS event ids to delete. Use this for deleting specific workouts or notes without clearing the whole day/window. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: dry_run controls write vs preview, window deletion is for full replacement, specific deletion for individual events, and warns against misuse. No contradictions.
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 purpose, every sentence adds value. No repetitive or extraneous content. Highly 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?
Given 4 parameters, no output schema, and no annotations, the description is remarkably complete. It covers both use cases, required parameter, and caveat about window deletion. Agents can correctly invoke the 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?
Although schema coverage is 100%, the description adds critical context beyond schema: explains external_ids format (plan:YYYY-MM-DD:<slug>), clarifies the relationship between oldest/newest, and the purpose of dry_run. Adds significant meaning.
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 clearly states the tool deletes STAS plan events and specifies two distinct modes: specific deletion via external_ids and window deletion for full replacement. This directly addresses the purpose and differentiates from siblings.
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 explicitly states when to use window deletion (replacing whole plan) and when not to (simple edits – use create_plan_event). Also mandates dry_run usage. Provides precise usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_activity_detailAInspect
Load a compact read-only passport for one completed workout after identifying its training_id with get_trainings. Use for detailed one completed workout questions about intervals, laps, splits, terrain, weather, efforts, segments, and data quality. The response omits source payloads, route coordinates, latlng, and raw stream arrays.
| Name | Required | Description | Default |
|---|---|---|---|
| training_id | Yes | Training id returned by get_trainings. Load get_trainings first to identify the exact workout. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states 'read-only' (no mutation) and lists omitted data types, giving clear behavioral expectations. Could be more explicit about performance or error handling.
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: first states purpose and prerequisite, second details use cases and omissions. No wasted words, efficient and well-structured.
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?
Given the simple parameter and no output schema, the description sufficiently covers what the tool does, what it returns, and what it omits, enabling an agent to use it 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 coverage is 100% and the schema already describes training_id as returned by get_trainings. The description reiterates this prerequisite but does not add new semantic meaning about the parameter itself.
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 clearly states the tool loads a compact read-only passport for one completed workout, specifying the resource and action. It differentiates from sibling get_trainings by requiring its training_id and focusing on detailed questions (intervals, laps, splits, etc.).
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 explicitly says to use after get_trainings and lists detailed use cases (intervals, laps, splits, etc.). It also discloses what is omitted (source payloads, coordinates), implying when not to use, though no alternative tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planned_eventsBInspect
Read planned events from the Intervals calendar in a date window. Use this before rewriting or replacing an existing STAS plan.
| Name | Required | Description | Default |
|---|---|---|---|
| newest | Yes | ||
| oldest | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation and implies it's for preparatory use, but doesn't disclose important behavioral traits like authentication requirements, rate limits, pagination, error conditions, or what format the events are returned in. The description adds minimal behavioral context beyond the basic operation.
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?
The description is brief (two sentences) and front-loaded with the core purpose. The second sentence provides contextual guidance without unnecessary elaboration. However, the first sentence could be slightly more precise (e.g., specifying 'list' instead of 'read' for 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 read operation with 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what data is returned, how events are structured, whether there are limitations on the date range, or authentication requirements. The preparatory context hint is helpful but insufficient for full understanding.
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?
With 0% schema description coverage for the 2 parameters, the description doesn't add any parameter-specific information beyond what's implied by 'date window'. It doesn't explain what 'oldest' and 'newest' represent, their format requirements (YYYY-MM-DD), or whether the window is inclusive/exclusive. The baseline is 3 since schema coverage is low but the description doesn't adequately compensate.
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 clearly states the action ('Read planned events') and resource ('from the Intervals calendar'), specifying the scope ('in a date window'). It distinguishes from some siblings like create/delete operations but doesn't explicitly differentiate from other read tools like get_trainings or get_user_summary.
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 provides some guidance ('Use this before rewriting or replacing an existing STAS plan'), which implies a preparatory context. However, it doesn't explicitly state when to use this tool versus alternatives like get_trainings or get_user_summary, nor does it provide exclusion criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trainingsAInspect
Load recent workouts with pace, heart rate, sport metrics, intervals, and athlete reports. Use after the summary when analyzing load, progress, fatigue, or consistency.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Set true when analyzing workouts, reports, intervals, history, or planning context. | |
| limit | No | Max trainings per page. Server cap is 50. | |
| newest | No | End boundary date in YYYY-MM-DD, exclusive. To load one date, set newest to the next calendar date, for example oldest=2026-06-21 and newest=2026-06-22. | |
| oldest | No | Start boundary date in YYYY-MM-DD, inclusive. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like read-only nature, pagination limits, or performance considerations. It only states what it loads, missing important details for safe invocation.
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 convey purpose and usage efficiently with no wasted words. Front-loaded with the primary action.
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?
Given the absence of output schema and nested objects, the description covers the main use case and context. It could be more explicit about return format, but the name and schema fill some gaps.
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 baseline is 3. The description adds no parameter-specific meaning beyond the schema's descriptions, which are already adequate.
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 clearly states the tool loads recent workouts with specific metrics and places it in context of analysis after summary. It distinguishes from siblings by specifying use cases for analyzing load, progress, fatigue, or consistency.
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?
Explicitly says 'Use after the summary when analyzing load, progress, fatigue, or consistency,' providing clear context. However, it does not mention when not to use it or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_summaryBInspect
Start here for most conversations. Load the athlete's profile, goals, rules, recent load, current fitness context, performance evidence, planning guidance, and persistent STAS memory opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| section | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It lists loaded content but does not disclose whether the tool is read-only, requires authentication, or has any side effects. The description is insufficient for a tool that loads extensive data.
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?
The description is a single sentence, which is concise, but it is overloaded with many items listed in a run-on fashion. It front-loads the usage guidance well but could be more structured.
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?
Given the tool's importance as a starting point and the lack of output schema, the description is incomplete. It does not explain what each loaded item entails, how to use the optional section parameter, or what the response format 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?
The schema has an optional 'section' parameter with enumerated values, but the description does not mention this parameter at all. With 0% schema description coverage, the description fails to compensate by explaining the parameter's meaning or usage.
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 clearly states 'Start here for most conversations' and enumerates a comprehensive list of what the tool loads, such as profile, goals, rules, recent load, etc. This distinguishes it from sibling tools that handle specific actions like committing changes or creating events.
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 explicitly advises to use this tool at the start of most conversations, providing clear context. It does not explicitly mention when not to use it, but the sibling tool names imply alternatives for specific tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_profile_section_changeAInspect
Create a controlled preview for a goals, rules, or profile memory section change. For goals, prefer a structured goals items list with date, goal, target result, and comment; the server builds canonical Цели: blocks and rejects old labels such as Промежуточные:. newText is a legacy fallback and must already be canonical for goals. This does not update the athlete profile. Before commit, show the user the exact full text from the preview and ask for explicit confirmation of that exact text. Visible confirmation copy is governed by a separate approved UX spec; do not invent final chat-copy inside this tool call.
| Name | Required | Description | Default |
|---|---|---|---|
| newText | No | Legacy fallback full section text. For goals it must already use canonical `Цели:` blocks with no conflict or choice-rule block; old labels are rejected. | |
| section | Yes | Profile memory section to update. Supports goals, rules, and profile when enabled by the server. | |
| structured | No | Preferred input. For goals, send a goals items list with date, goal, targetResult, and comment. For rules/profile, send only the matching object. | |
| diffSummary | No | Short internal summary of the factual change. Do not include raw chat transcript. | |
| previousHash | Yes | Hash returned by read_profile_sections for the same section. Used to prevent overwriting newer profile data. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It clearly states the tool does not update the athlete profile, mentions canonical text building and rejection of old labels for goals, and warns about confirmation copy governance. However, it could be more explicit about any other side effects (e.g., whether it stores data), but overall it is 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?
The description is relatively long but efficiently packed with essential information. It starts with the main purpose and then provides specific usage details. Every sentence adds value, so it earns its place, though it could be slightly more concise.
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?
Given the complexity (5 parameters, nested objects, no output schema), the description covers input usage well but lacks details on the preview output. It mentions 'show the user the exact full text' but does not specify the response format or structure, leaving some ambiguity for the agent.
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?
Although schema coverage is 100% with detailed parameter descriptions, the tool description adds semantic value by advising to prefer structured for goals, highlighting that newText is a legacy fallback and must be canonical, and explaining validation rules. This goes beyond the schema and helps the agent choose parameters correctly.
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 clearly states the tool creates a controlled preview for a goals, rules, or profile memory section change, identifying the specific resource and action. It distinguishes itself from the sibling commit_profile_section_change, which commits after preview.
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?
Provides explicit guidance: prefer structured for goals, newText is a legacy fallback and must be canonical. States it does not update the profile and instructs to show the user the exact preview text before commit, with separate UX spec for confirmation copy. Clearly differentiates when to use this preview versus the commit tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_profile_change_historyAInspect
Read goals, rules, or profile memory change history. Use this to inspect previewed, committed, restored, or expired changes before restore decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | ||
| section | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as safety (read-only), authentication needs, rate limits, or return format. For a read operation, this lack of transparency is a significant gap.
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?
The description is two sentences long: first sentence identifies the tool's core function, second provides usage guidance. It is front-loaded and contains no unnecessary words.
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?
Given the tool has three optional parameters and no output schema, the description covers the primary use case but lacks details about return format, pagination, or error handling. It is minimally complete for a small 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?
With 0% schema description coverage, the description partially compensates by mentioning relevant enum values (previewed, committed, restored, expired for status; goals, rules, profile for section). However, it does not explain the 'limit' parameter or provide full parameter semantics.
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 clearly states the action (Read) and resource (goals, rules, or profile memory change history), and distinguishes itself from siblings like restore_profile_change by specifying the purpose of inspecting changes before restore decisions.
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 explicitly advises using the tool 'before restore decisions,' providing clear context for when to invoke it. However, it does not discuss when not to use it or mention alternative tools like preview_profile_section_change.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_profile_sectionsAInspect
Read controlled STAS profile memory sections with their hashes. Supports goals, rules, and profile when enabled by the server. Use the returned hash as previousHash before previewing a change.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but description discloses read-only nature, conditional support based on server, and the purpose of the returned hash for later preview. Does not mention authorization or rate limits, but for a read tool this is acceptable.
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, front-loaded with core purpose, followed by actionable usage instruction. No redundant or vague wording.
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?
Given no output schema, the description should elaborate on the return structure (e.g., format of sections and hashes). It only mentions hashes for preview, but doesn't specify that the return is an object or list. Slightly incomplete for an agent to fully interpret results.
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?
No parameters, so baseline 4. Description adds context about what sections are read (goals, rules, profile) and the role of the hash, but no parameter details needed.
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?
Clearly states action (read) and resource (controlled STAS profile memory sections with hashes). Adds context about supporting goals, rules, and profile depending on server. Distinguishes from siblings like preview_profile_section_change which modifies.
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?
Provides explicit guidance: 'Use the returned hash as previousHash before previewing a change.' This links the tool's output to a subsequent step. However, lacks explicit when-not-to-use or alternatives, though siblings imply read vs write distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_profile_changeAInspect
Restore a committed profile, goals, or rules profile memory change back to its previous text. For goals, restoring old-format labels is blocked; rebuild a canonical goals preview instead. Call this only after the user explicitly confirms the exact full text that will be restored. The server restores only if the current section still matches the committed change. Visible confirmation copy is governed by a separate approved UX spec.
| Name | Required | Description | Default |
|---|---|---|---|
| changeId | Yes | Committed change id to restore. Call only after the user explicitly confirms the exact full text that will be restored. Restore only succeeds when the current section still matches that change. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses constraints (section must match, goals restriction) and mentions a separate UX spec. However, it does not explain success/failure outcomes or side effects beyond restoration. The description is good but could be more explicit about behavioral effects.
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?
The description is five sentences, each adding necessary detail. It is not overly long, but the sentence about UX spec is vague and may not be actionable. Otherwise, it is well-structured and front-loaded with the core purpose.
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?
Given the tool has one parameter and no output schema, the description covers purpose, constraints, and usage. However, it does not mention what the tool returns upon success or failure, which is a gap. The absence of output schema means the description should at least hint at the outcome. Still, the core information for invocation is present.
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 schema description already explains the parameter changeId's usage and conditions. The tool description repeats some of this but adds no new semantic meaning beyond the schema. 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?
The description clearly states the action (restore) and the resource (committed profile memory change). It distinguishes from sibling tools like commit, preview, and read history, making its purpose 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?
Explicit instructions are given: call only after user confirmation of exact full text, server restores only if current section matches committed change, and for goals old-format labels, use an alternative (rebuild canonical preview). This provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_strategyAInspect
Save the athlete's long-term STAS strategy only after explicit user confirmation. Strategy is a compact long-term roadmap, not a calendar, not a weekly plan, and not a full coaching analysis. Target length is about 2500-4500 characters; hard maximum is 5000 characters. Required markdown sections: Goal chain, Current point, Weekly decision contract, Roadmap, Resources / risks, Review triggers / unknowns. Build the strategy from current goals, rules, profile, condition, training history, evidence, and calendar first; do not copy or paraphrase the previous saved strategy's wording, race labels, priorities, phase names, or workout examples unless current facts independently support them. For strategy-level work, use at least 8 weeks of weekly/load history when available, 12-26 weeks for season direction; if a long full-training request is too large, split windows or combine weekly history with selected full workouts instead of using only 2-4 weeks. Treat every dated goal as a real planning input by default. Do not infer a single main goal from distance, later date, target result, profile order, or old strategy wording; use priority only when it is explicit in the current profile, goal comment, athlete message, or current coaching decision. B/C/training-race/no-full-taper wording changes peak depth and risk; it does not mean the race should be ignored unless the athlete explicitly says the result does not matter. The roadmap must be the main content and say what each block prepares directly, keeps ready in the background, and leaves out for now with a reason. Do not hide a block-driving goal behind vague background wording. Keep Weekly decision contract short; it is guardrails for the blocks, not the center of the strategy. Do not write day-by-day or 8-week calendar progression inside strategy; that belongs in block planning or calendar tools. Use for meaningful changes to goals, constraints, current position, roadmap, or long-term training logic, not for one-off weekly edits. Before calling this tool, show the user the exact full markdown that will be saved and ask for explicit confirmation. Never show one version and save another.
| Name | Required | Description | Default |
|---|---|---|---|
| strategy_md | Yes | Compact long-term STAS roadmap markdown, not a calendar, not a weekly plan, and not a full coaching analysis. Target length is about 2500-4500 characters; hard maximum is 5000 characters. Required sections: Goal chain, Current point, Weekly decision contract, Roadmap, Resources / risks, Review triggers / unknowns. Build from current goals, rules, profile, condition, training history, evidence, and calendar first; do not copy or paraphrase previous_strategy unless current facts independently support the same durable decision. For strategy-level work, use at least 8 weeks of weekly/load history when available, 12-26 weeks for season direction; if a long full-training request is too large, split windows or combine weekly history with selected full workouts instead of using only 2-4 weeks. Treat every dated goal as a real planning input by default; do not infer a single main goal from distance, later date, target result, profile order, or old strategy wording. Use priority only when it is explicit in the current profile, goal comment, athlete message, or current coaching decision. B/C/training-race/no-full-taper wording changes peak depth and risk; it does not mean the race should be ignored unless the athlete explicitly says the result does not matter. Roadmap must be the main content and say what each block prepares directly, keeps ready in the background, and leaves out for now with a reason. Do not hide a block-driving goal behind vague background wording. Keep Weekly decision contract short; it is guardrails for the blocks, not the center of the strategy. Do not write day-by-day or 8-week calendar progression inside strategy; that belongs in block planning or calendar tools. Before save_strategy, show the user the exact full markdown and save only after explicit confirmation. Never show one version and save another. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description fully discloses key behaviors: requires explicit user confirmation, must build from current data, cannot copy previous wording, specifies length and required sections, and clarifies when not to use.
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?
The description is front-loaded with the core action and includes many necessary rules, though it is long and somewhat redundant with the schema description. Still well-structured.
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?
The description covers usage and constraints well but does not specify the tool's return value (e.g., success/failure), which would be helpful for an agent to confirm the operation.
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 schema already describes the parameter's constraints and details. The tool description adds no new parameter-level semantics beyond what the schema provides.
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 clearly states the tool saves the athlete's long-term STAS strategy only after explicit user confirmation, differentiating it from calendar or weekly plan tools among siblings.
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 explicitly states when to use (meaningful changes to long-term training logic) and advises against one-off weekly edits, but does not name specific alternative sibling tools for other tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whoamiAInspect
Check which STAS user is currently authenticated. Use only for diagnostics or reconnect troubleshooting.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It effectively discloses the tool's purpose and usage context, but lacks details on behavioral traits such as rate limits, authentication requirements, or error handling. However, it does not contradict any annotations, and the context provided is useful for understanding its diagnostic role.
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?
The description is highly concise and front-loaded, consisting of only two sentences that directly state the purpose and usage guidelines. Every sentence adds clear value without redundancy, making it efficient and easy to parse for an AI agent.
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?
Given the tool's low complexity (0 parameters, no output schema), the description is largely complete for its diagnostic purpose. It covers what the tool does and when to use it, but could benefit from additional context on output format or error cases. However, for a simple authentication check tool, this is sufficient.
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 has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description does not need to add parameter details, but it implicitly confirms this by not mentioning any inputs, aligning with the schema. A baseline of 4 is appropriate for zero-parameter tools.
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 explicitly states the tool's purpose: 'Check which STAS user is currently authenticated.' It uses a specific verb ('Check') and identifies the resource ('STAS user'), clearly distinguishing it from sibling tools like create_note_event or get_user_summary, which involve different operations and resources.
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 provides explicit guidance on when to use this tool: 'Use only for diagnostics or reconnect troubleshooting.' This clearly defines the intended context and excludes other use cases, helping the agent avoid misuse in favor of alternative tools for general user operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!