Skip to main content
Glama
coros-training-mcp

coros-training-mcp

by dholliday3

Update Run Workout

update_run_workout

Clone a running workout, apply step-specific edits, and create a replacement workout. Use step selectors to update duration, distance, or intensity.

Instructions

Clone a running workout, apply run-specific edits, and create a replacement.

Use get_run_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 run-step fields as create_run_workout, including kind, target_type, target_duration_seconds, target_distance_meters, intensity_label, 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_run_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.6/5.0
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 does disclose the important non-obvious behavior that this is a clone-and-replace operation rather than an in-place mutation. But it omits the fate of the original: the schema exposes `delete_original` (default false), yet the description never says whether the source workout is preserved, nor does it mention auth or permission requirements.

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 core clone-and-replace action is front-loaded in the first sentence, and the selector constraint is presented as a compact bullet list. Every sentence contributes, though the final sentence listing run-step fields is somewhat dense and could be tighter.

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?

An output schema exists, so return values need not be explained, and the description correctly offloads field detail to `get_run_workout_schema`. For a mutation tool with zero annotations and 0% schema coverage, the remaining gap is the undefined `delete_original` flag and the other scalar parameters, which leaves it short of fully complete.

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% across 6 parameters, so the description must compensate. It does real work for `step_updates` by defining the three accepted selectors and listing the run-step fields it forwards, but `name`, `workout_id`, `delete_original`, `estimated_time_seconds`, and `estimated_distance_meters` get no explanation at all — the most consequential one, `delete_original`, is left entirely undefined.

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 states a precise verb chain and resource: clone a running workout, apply run-specific edits, create a replacement. This clearly distinguishes it from create_run_workout and update_bike_workout through the 'running' qualifier. It stops short of explicitly naming the sibling it should be preferred over (e.g. generic update_workout), so a 4 rather than a 5.

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?

It routes the agent to `get_run_workout_schema` for the exact accepted fields, which is a genuinely useful conditional pointer to a sibling tool. It also implies usage context through 'run-specific edits'. However, it never states when to use this versus `update_workout` or `create_run_workout`, and there are no explicit exclusions.

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