Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsB

Average 3.5/5 across 14 of 14 tools scored. Lowest: 2.7/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: profile management (preview, commit, restore, history), event management (notes and plans separated), data retrieval (summary, trainings, planned events), strategy saving, and diagnostics. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a verb_noun pattern consistently (e.g., create_note_event, delete_plan_events, get_user_summary). Minor singular/plural variations do not break consistency.

Tool Count5/5

With 14 tools, the set is well-scoped for a running coach assistant, covering profile, calendar, data retrieval, and strategy without excessive or insufficient tools.

Completeness5/5

The tool surface covers full lifecycle: profile CRUD via preview/commit/restore/read, event management with create/read/delete for both notes and plans, data retrieval, strategy saving, and authentication. No obvious gaps.

Available Tools

14 tools
commit_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeIdYesPreview change id returned by preview_profile_section_change. Call only after the user explicitly confirms the exact full text shown for this preview.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the optimistic locking behavior (hash match condition) and mentions the confirmation copy is governed by a separate UX spec. Missing details on error handling or exact return values, but sufficient for a commit operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each serving a clear purpose: states the action, specifies preconditions, and notes the update condition and UX scope. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and one parameter, the description covers essential preconditions and behavior. Missing details on failure conditions (e.g., hash mismatch) and return value, but otherwise complete for a commit operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter changeId has 100% schema description coverage, including a detailed explanation. The tool description essentially repeats that information, adding no new semantic value 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it commits a previously previewed change to a goals or rules profile memory section. It specifies the action (commit) and resource, and distinguishes itself from the sibling preview_profile_section_change tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Call this only after the user explicitly confirms the exact full text shown for that preview.' Also notes the server updates only if the section hash matches the preview, providing clear context on when and when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_note_eventBInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventsYes
dry_runYesRequired. false writes to Intervals.icu; true only previews without writing.
Behavior2/5

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 mentions the tool can 'Create or update' (implying mutation) and has a specific constraint on external_id format, but doesn't cover important behavioral aspects like authentication needs, rate limits, error handling, or what happens during updates versus creates. For a mutation tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences that are front-loaded with the core purpose. Every sentence earns its place: the first establishes the tool's function and use cases, the second provides a critical constraint. There's zero waste or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (mutation tool with array input and nested objects), no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on behavioral traits, most parameter meanings, return values, and error conditions. While it provides some usage context, it doesn't adequately cover what an agent needs to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 2 parameters (one required array 'events' and one optional boolean 'dry_run'), the description adds minimal parameter semantics. It only mentions the 'external_id' parameter constraint ('starting with note:'), leaving the other parameters (including nested ones like name, dates, description) and the purpose of 'dry_run' completely unexplained. The description doesn't compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Create or update') and resource ('note events in Intervals'), making the purpose specific. It distinguishes from siblings by specifying 'note events' rather than 'plan events' or other types, though it doesn't explicitly contrast with all siblings like 'delete_note_events'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool: 'for STAS notes, plan explanations, or weekly review notes' and 'only with external_id values starting with note:'. This gives specific application scenarios and a constraint, though it doesn't explicitly mention when NOT to use it or name alternatives like 'create_plan_event'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_plan_eventBInspect

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 optional native Intervals.icu builder text for structured key workouts only, mainly Run/Ride intervals. Omit workout_builder for easy workouts, Swim, WeightTraining, and Other unless you have reliable 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 optional workout_builder. 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}]}

ParametersJSON Schema
NameRequiredDescriptionDefault
eventsYesExample real interval write arguments. Replace the date/time and paces, but keep this exact JSON shape. Use activity_type, stas_note, and optional workout_builder. 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_runYesRequired. false writes to Intervals.icu; true only previews without writing.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Create or update' which implies mutation, but doesn't specify permissions, side effects, error handling, or response format. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and efficient with two sentences that convey key information without waste. However, it could be slightly more structured by separating usage guidelines from constraints, but overall it's appropriately sized and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (mutation with 2 parameters, no output schema, and no annotations), the description is incomplete. It lacks details on behavioral traits, full parameter explanations, and output expectations, making it inadequate for safe and effective use by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It only mentions 'external_id' constraints ('starting with plan:') and implies 'events' usage, but doesn't explain other parameters like 'dry_run', 'name', dates, or 'color'. This adds minimal value beyond the schema, failing to adequately cover the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Create or update') and resource ('workout events in Intervals'), making the purpose specific. However, it doesn't explicitly differentiate from sibling tools like 'create_note_event' or 'delete_plan_events' beyond mentioning 'STAS plan events', leaving some ambiguity about sibling distinctions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: 'after reading the current plan' and 'only for STAS plan events with external_id values starting with plan:'. This gives explicit prerequisites and constraints, though it doesn't mention alternatives like 'create_note_event' or when not to use it, which prevents a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_note_eventsBInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
newestNoEnd date for full-window replacement deletes. Required unless external_ids is provided.
oldestNoStart date for full-window replacement deletes. Required unless external_ids is provided.
dry_runYesRequired. false writes to Intervals.icu; true only previews without writing.
external_idsNoExact STAS event ids to delete. Use this for deleting specific workouts or notes without clearing the whole day/window.
Behavior2/5

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 discloses the destructive nature ('Delete') and the date-window constraint, but doesn't mention permissions needed, rate limits, whether deletions are permanent, or what happens if no events exist. For a destructive tool with zero annotation coverage, this is a significant gap in 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It front-loads the core action ('Delete STAS note events') and adds necessary context ('in a date window before writing replacement notes'), making it appropriately sized and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (destructive operation with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover parameter details, behavioral traits like safety or permissions, or return values, leaving critical gaps for an AI agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'date window' which relates to 'oldest' and 'newest' parameters, but doesn't explain their format (YYYY-MM-DD as per schema pattern) or meaning (inclusive/exclusive bounds). It also omits the optional 'dry_run' parameter entirely, failing to add sufficient meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Delete') and resource ('STAS note events'), and specifies the scope ('in a date window before writing replacement notes'). It distinguishes from siblings like 'delete_plan_events' by specifying 'note events' rather than 'plan events'. However, it doesn't explicitly contrast with 'create_note_event' or other tools, keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('before writing replacement notes'), suggesting this tool is for cleanup or preparation. However, it lacks explicit guidance on when to use this versus alternatives like 'delete_plan_events' or 'create_note_event', and doesn't mention prerequisites or exclusions, leaving some ambiguity.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
newestNoEnd date for full-window replacement deletes. Required unless external_ids is provided.
oldestNoStart date for full-window replacement deletes. Required unless external_ids is provided.
dry_runYesRequired. false writes to Intervals.icu; true only previews without writing.
external_idsNoExact STAS event ids to delete. Use this for deleting specific workouts or notes without clearing the whole day/window.
Behavior3/5

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 clearly indicates this is a destructive operation ('Delete') and mentions the purpose of preventing old workouts from remaining. However, it doesn't specify authentication requirements, rate limits, error conditions, or what happens if no events exist in the date range. The mention of 'dry_run' parameter in the schema suggests a testing capability that isn't explained in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and follows with the usage context. Every word serves a purpose with no redundancy or unnecessary elaboration. It's appropriately sized for a tool with a clear, focused function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive operation with no annotations and no output schema, the description provides adequate purpose and usage context but lacks important behavioral details. It doesn't explain what constitutes success/failure, whether deletions are permanent or reversible, or what the tool returns. The parameter semantics gap is significant given the 0% schema coverage. The description is complete enough for basic understanding but insufficient for confident implementation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. While it mentions 'date window' which relates to 'oldest' and 'newest' parameters, it provides no details about date format, timezone handling, or boundary inclusion. The 'dry_run' parameter isn't mentioned at all in the description, leaving its purpose undocumented. The description adds minimal semantic value beyond what's implied by parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Delete STAS plan events'), identifies the resource ('plan events'), and specifies the scope ('in a date window'). It distinguishes from siblings like 'delete_note_events' by focusing on plan events rather than note events, and from 'create_plan_event' by being a deletion rather than creation operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'before writing a replacement plan, so old workouts do not remain in the calendar.' This provides clear context about the intended workflow and distinguishes it from other tools like 'get_planned_events' (for reading) or 'create_plan_event' (for adding new events).

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
newestYes
oldestYes
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullNo
limitNo
newestNo
oldestNo
Behavior3/5

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 implies a read operation ('Load') but doesn't disclose behavioral traits like authentication requirements, rate limits, pagination, or error handling. The description adds some context about the data returned but lacks operational details needed for a higher score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and concise, with two sentences that efficiently convey purpose and usage guidelines. Every sentence adds value without redundancy, making it appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, 0% schema coverage, and no output schema, the description is incomplete. It covers purpose and usage well but lacks parameter details and behavioral transparency. For a tool with 4 parameters and no structured support, this is a moderate gap, making it adequate but with clear deficiencies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions no parameters at all, failing to explain the meaning or usage of 'full', 'limit', 'newest', or 'oldest'. This leaves significant gaps, scoring below the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Load recent workouts with pace, heart rate, sport metrics, intervals, and athlete reports.' It specifies the verb ('Load') and resource ('recent workouts') with detailed content. However, it doesn't explicitly differentiate from sibling tools like 'get_planned_events' or 'get_user_summary', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: 'Use after the summary when analyzing load, progress, fatigue, or consistency.' This indicates when to use the tool relative to another tool ('get_user_summary'). However, it doesn't specify when NOT to use it or name alternatives among siblings, 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.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNo
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It mentions loading data from 'STAS' but doesn't describe authentication requirements, rate limits, error conditions, or what happens if the athlete doesn't exist. For a data retrieval tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences that establish primary use case and scope. The first sentence clearly states the tool's role, and the second enumerates the data components loaded. There's minimal wasted verbiage, though it could be slightly more specific about the relationship between the parameter and data returned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 1 parameter with 0% schema description coverage, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what data format is returned, how the optional 'section' parameter filters results, or what 'STAS' refers to. For a tool that appears to be a central data access point, more contextual information is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions loading multiple data sections but doesn't explain the 'section' parameter or its enum values. With 0% schema description coverage and 1 parameter documented only as an enum in the schema, the description fails to add meaningful semantic context about what each section value retrieves or how parameter usage affects the response.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool loads an athlete's comprehensive profile data including profile, goals, rules, recent load, fitness context, and planning guidance from STAS. It specifies the verb 'load' and resource 'athlete's profile data', though it doesn't explicitly distinguish from sibling tools like 'get_trainings' or 'get_planned_events' which might retrieve more specific subsets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context with 'Start here for most conversations', indicating this is the primary entry point for athlete data retrieval. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools for more targeted queries.

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. Prefer structured fields so the server builds the exact web-profile text; newText is a legacy fallback. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
newTextNoLegacy fallback full section text. Prefer structured so the server builds web-profile labels.
sectionYesProfile memory section to update. Supports goals, rules, and profile when enabled by the server.
structuredNoPreferred input. The server converts these fields into the same Russian-label text format used by the web profile.
diffSummaryNoShort internal summary of the factual change. Do not include raw chat transcript.
previousHashYesHash returned by read_profile_sections for the same section. Used to prevent overwriting newer profile data.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It clearly states the tool does not update the profile (non-destructive) and provides workflow constraints (don't invent chat-copy). It lacks details on side effects or auth, but is sufficient for a preview action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, each sentence adds unique value. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and lack of output schema, the description adequately explains the preview workflow and constraints. It does not describe return values or errors, but these are less critical for a preview tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters have descriptions in the input schema (100% coverage), so the description adds marginal value beyond schema. It reinforces the purpose of previousHash (prevent overwrite) but does not elaborate on all parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 or rules profile memory section change and explicitly notes it does not update the profile, distinguishing it from the sibling commit tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description instructs to use the tool before committing and to show the preview text to the user for confirmation, providing clear usage context. It does not explicitly mention when to avoid using it, but the sibling tools imply alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_profile_change_historyCInspect

Read goals, rules, or profile memory change history. Use this to inspect previewed, committed, restored, or expired changes before restore decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
sectionNo
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, pagination, or side effects. It only says 'Read' which implies safety but lacks explicit confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) with no redundant text. However, it is overly terse and omits essential details, making it less effective despite conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has three parameters and no output schema or annotations, the description lacks information about return format, ordering, filtering behavior, or how results are structured. It only hints at the purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds no meaning to the three parameters (limit, status, section). It only recites some enum values for status from the schema without explaining their significance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool reads change history for goals or rules profiles, and mentions specific statuses (previewed, committed, restored, expired). It distinguishes from sibling tools like preview or commit by focusing on history inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a use case: 'inspect ... before restore decisions.' However, it does not specify when not to use this tool or mention alternatives like preview_profile_section_change for current previews.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description adds behavioral context: it is a read operation (safe, idempotent) and returns hashes. It also mentions V1 limitations. However, it does not explicitly state safety guarantees or side effects, which a description should bear when annotations are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First sentence declares purpose and scope. Second sentence provides a critical usage tip. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return value's purpose (hashes for preview). It sets expectations with 'V1 supports only goals and rules.' Could add more detail about the output structure, but sufficient for a simple read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has no parameters, and schema coverage is 100%. Description adds no parameter-specific meaning, which is fine. Baseline 3 is appropriate as the description does not need to compensate for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it reads controlled STAS profile memory sections (goals and rules) with their hashes. The verb 'read' and resource are specific. However, it does not explicitly differentiate from sibling tools like preview_profile_section_change, though the hash usage hint indirectly distinguishes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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 indicates a workflow ordering. It does not mention when not to use or alternatives, but the hint is clear and actionable.

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. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeIdYesCommitted 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.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behaviors: the restore only succeeds if the current section still matches the committed change, and confirmation copy is governed by a separate UX spec. However, it lacks details on destructiveness (overwrites current), permission requirements, or what happens on failure. Given no annotations, this is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the purpose, then key usage conditions. Every sentence adds value, with no wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 1 parameter and no annotations or output schema. The description covers purpose, usage condition, and a success condition, but omits failure behavior, output details, and side effects (e.g., whether the change is reversible). While the tool is simple, these gaps reduce completeness for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with a detailed description for changeId, including the confirmation and restore conditions. The tool description adds no new parameter semantics beyond what the schema states, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'restore' and the resource 'committed goals or rules profile memory change', making it distinct from sibling tools like 'commit_profile_section_change' and 'preview_profile_section_change'. It specifies the action and scope precisely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Call this only after the user explicitly confirms the exact full text that will be restored'. It also notes a condition for success (current section matches committed change). While it doesn't explicitly list alternatives or when-not-to-use, the condition and confirmation requirement are strong enough to guide usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_strategyCInspect

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 structure: Strategy updated, Goal/direction, Current point, Roadmap, Where we are now, Nearest working block, Week-building rules, Constraints/preferences, Review triggers, Unknowns/assumptions. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
strategy_mdYesCompact 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 structure: Strategy updated, Goal/direction, Current point, Roadmap, Where we are now, Nearest working block, Week-building rules, Constraints/preferences, Review triggers, Unknowns/assumptions. 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.
Behavior2/5

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 the tool saves data for future use, implying a write operation, but lacks details on permissions, side effects, error handling, or response format. This is inadequate for a mutation tool with zero annotation coverage, as critical behavioral traits are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids redundancy and wastes no words, though it could be slightly more structured by separating usage context. Overall, it's appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity as a mutation operation with no annotations, no output schema, and low parameter coverage, the description is incomplete. It doesn't address behavioral aspects like side effects, return values, or error conditions, leaving significant gaps for the agent to operate safely and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single undocumented parameter. It mentions 'strategy' and 'training foundation', which loosely relates to 'strategy_md', but doesn't explain the parameter's meaning, format (e.g., markdown as implied by '_md'), or constraints beyond the schema's minLength. The description adds minimal semantic value, meeting the baseline for low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('save') and resource ('athlete's long-term strategy'), with a specific purpose ('so future planning uses the updated training foundation'). It distinguishes from siblings like create_note_event or create_plan_event by focusing on strategy rather than events. However, it doesn't explicitly contrast with all siblings, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for saving long-term strategies to influence future planning, but provides no explicit guidance on when to use this tool versus alternatives like create_plan_event or other siblings. There are no exclusions, prerequisites, or comparisons mentioned, leaving the agent to infer context without clear direction.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources