Skip to main content
Glama
elias-ramzi

ClaudeCyclingMCP

by elias-ramzi

render_zwo

Convert cycling workout specs to MyWhoosh .zwo files, outputting XML and a filename; optionally write to disk.

Instructions

Render a workout spec to a MyWhoosh-compatible .zwo file.

Returns the XML and the filename to upload it under. That filename matters: MyWhoosh takes the workout's library name from the uploaded filename, not from the tag inside the file. Set the spec's "filename" field to control it.

Ramps are emitted as explicit and repeats are flattened into individual blocks, both so the result stays unambiguous and editable inside MyWhoosh's editor.

Pass out_path to also write the file to disk; the content is returned either way. Writing is the only filesystem access this server performs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
specYes
out_pathNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/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 returned XML/filename, the filename-based naming quirk, explicit Ramp block emission, repeat flattening, and the optional disk write—going well beyond a basic mutation/render 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 front-loaded with a one-sentence purpose, then each subsequent paragraph adds meaningful behavioral detail. No sentence is wasted; it covers output, naming, rendering quirks, and side effects without padding.

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

Completeness5/5

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

Given the tool has an output schema and rich behavioral description, the return format, filename significance, rendering transformations, and filesystem side effect are all addressed. The sibling tool set (render_garmin, validate_spec, etc.) provides enough surrounding context for a capable agent to select and invoke this tool correctly.

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?

Schema description coverage is 0%, so the description must compensate. It clearly explains out_path ('pass out_path to also write the file to disk; the content is returned either way') and highlights spec.filename as the control for the upload name. The remaining spec structure is delegated to a linked spec_schema tool, but the key parameter behaviors are covered.

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 opens with a specific verb+resource+format: 'Render a workout spec to a MyWhoosh-compatible .zwo file.' This clearly distinguishes it from the sibling render_garmin tool by target platform and output format.

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: this is for MyWhoosh-compatible .zwo output, and it highlights important usage details like the filename controlling the library name and optional out_path for disk writes. It does not explicitly contrast with render_garmin or state when not to use it, so it stops 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.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/elias-ramzi/ClaudeCyclingMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server