Skip to main content
Glama

Upload workout file

tp_upload_workout_file

Upload a .fit, .tcx, or .gpx file to an existing workout in TrainingPeaks. Provide the workout ID and file path or base64 data to attach it.

Instructions

Upload a workout file (.fit, .tcx, .gpx) to an existing workout.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
athleteNoTarget athlete name or ID (coach accounts only). Omit to use your own profile.
file_pathNoPath to file on disk
workout_idYesWorkout ID
workout_dayNoYYYY-MM-DD or YYYY-MM-DDTHH:MM:SS. Auto-fetched if omitted.
file_data_base64NoBase64-encoded file bytes
Behavior3/5

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

Annotations indicate readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the write nature is already known. The description adds that only .fit, .tcx, and .gpx files are accepted, which is useful, but it does not disclose what happens on overwrite or duplicate uploads, nor any side effects implied by openWorldHint=true. Overall, limited behavioral context beyond the annotation.

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, front-loaded sentence that conveys the action, target, and format constraints with no filler words. Every word earns its place.

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 5 parameters and no output schema. The description covers the core function and allowed formats but does not specify the success/error response, whether the upload replaces an existing file, or any prerequisites beyond the workout existing. While the annotations and schema fill in some gaps, the description alone is not fully complete for a mutation tool.

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 schema already describes all 5 parameters, so baseline is 3. The description enriches the schema by specifying the accepted file extensions for file_path/file_data_base64 and confirming that the workout must already exist, adding value beyond the property descriptions.

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 uses a specific verb 'Upload' with the resource 'workout file' and clarifies allowed formats (.fit, .tcx, .gpx) and that the target is an 'existing workout', clearly distinguishing it from sibling tools like tp_download_workout_file or tp_delete_workout_file.

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 implies the tool is for attaching a file to an already-created workout and implies you should use it when you have a file to upload, but it does not explicitly name alternatives or exclusion criteria. The context is clear, but there is no direct comparison or when-not-to-use guidance.

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/JamsusMaximus/TrainingPeaks-MCP'

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