Skip to main content
Glama
coros-training-mcp

coros-training-mcp

by dholliday3

Update Bike Workout

update_bike_workout

Clone a cycling workout, apply bike-specific step edits by index, ID, or name, and create a replacement workout; optionally delete the original.

Instructions

Clone a cycling workout, apply bike-specific edits, and create a replacement.

Use get_bike_workout_schema for the exact accepted fields.

Each update item requires one selector:

  • step_index

  • step_id

  • step_name

After that, it accepts the same bike-step fields as create_bike_workout, including kind, target_type, target_duration_seconds, target_distance_meters, intensity_label, power, and the raw COROS intensity fields.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "workout_id": "<workout_id>"
    },
    "name": "update_bike_workout"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
workout_idYes
step_updatesNo
delete_originalNo
estimated_time_secondsNo
estimated_distance_metersNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the tool clones a workout and creates a replacement, but it does not explain the effect of delete_original, whether auth is required, or what happens to the original workout by default.

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 short and front-loaded, with the core clone/edit/replace behavior stated first and the selector requirements presented as a compact bullet list. Every sentence adds operational value.

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?

An output schema exists, so return values need not be described. However, for a mutation tool with no annotations and 0% schema description coverage, the description should more fully cover delete_original semantics and the top-level parameters to be complete enough for safe invocation.

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. It adds substantial meaning for step_updates by listing required selectors and accepted bike-step fields, but it leaves top-level parameters such as workout_id, name, delete_original, estimated_time_seconds, and estimated_distance_meters unexplained.

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 a specific operation: clone a cycling workout, apply edits, and create a replacement. It references create_bike_workout and get_bike_workout_schema, which helps distinguish its bike-specific scope, though it does not explicitly contrast itself with update_workout or update_run_workout.

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?

It gives useful procedural guidance to call get_bike_workout_schema for exact fields and states that each update item requires a selector. However, it does not say when to use this tool instead of alternatives such as update_workout, update_run_workout, or create_bike_workout.

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