Skip to main content
Glama

write_copy_routine

Destructive

Duplicate an existing workout routine, including all exercises and settings, under a new ID, with an optional new name.

Instructions

Copy a routine with all its exercises and settings under a new id; the name defaults to " (Copy)", as in the app.

Input Schema

NameRequiredDescriptionDefault
idYes
nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and non-read-only, so the safety profile is covered. The description adds real context beyond that: the copy includes all exercises and settings, and the default naming convention '<name> (Copy)' mirrors the app. It omits whether the source routine is untouched, permissions required, and whether the copy inherits sharing/coach scope.

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?

One sentence, front-loaded with the core action, no filler. Slightly overloaded with the app-parity clause but still tight.

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?

No output schema, and annotations cover the safety profile, so the remaining burden is moderate. The description covers what is copied and the naming default, but leaves the id semantics, scope of the copy, and any returned identifier unresolved for a mutation 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?

Schema coverage is 0%, so the description must carry both parameters. It does well for 'name' (explicit default of '<name> (Copy)'), but for the required 'id' it only says 'under a new id', leaving ambiguous whether the caller supplies the source routine id or the new one. Partial compensation only.

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?

States a specific verb (copy) and resource (routine) and even says what gets carried over — exercises and settings — which distinguishes it from write_routine and delete_routine. It does not explicitly name a sibling alternative, but the 'copy' semantics are unambiguous.

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?

Usage is implied by the verb: this is the tool for duplicating a routine rather than editing it. There is no explicit when-to-use vs. write_routine guidance and no prerequisites (auth, ownership) stated.

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