Skip to main content
Glama

List Athlete Routes

strava_list_athlete_routes
Read-onlyIdempotent

Page through stored routes. Refresh fetches all upstream pages; local per_page does not cap API request cost.

Instructions

Page through stored routes. Refresh fetches all upstream pages; local per_page does not cap API request cost.

Input Schema

NameRequiredDescriptionDefault
pageNoLocal page number (1-1000000, default 1); upstream refresh may traverse all pages
per_pageNoResults per page (1-200, default 30)
athlete_idNoIgnored: Strava serves only the authenticated athlete's routes, which the mirror holds. Kept for compatibility.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv4.4.1
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / athlete_id / description
      Previous value: -"The athlete ID"New value: +"Ignored: Strava serves only the authenticated athlete's routes, which the mirror holds. Kept for compatibility."
    • addedInput schema / properties / athlete_id / exclusiveMinimum
      Added value: +0
    • addedInput schema / properties / athlete_id / maximum
      Added value: +9007199254740991
    • changedInput schema / properties / page / description
      Previous value: -"Page number (default 1)"New value: +"Local page number (1-1000000, default 1); upstream refresh may traverse all pages"
    • addedInput schema / properties / page / maximum
      Added value: +1000000
    • removedInput schema / required
      Removed value: -[
      -  "athlete_id"
      -]
  2. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the baseline burden is lower. The description adds useful cost context with 'local per_page does not cap API request cost,' but the reference to 'Refresh' is undefined and no refresh parameter exists, leaving the behavioral note somewhat ambiguous.

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?

Two tightly packed sentences with no filler; the core paging operation is front-loaded and the cost caveat follows immediately.

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?

For a simple three-parameter list tool with rich annotations and a fully described schema, the description is adequate but still omits key context: it does not clarify that results are for the authenticated athlete, and 'Refresh' is never defined as an action or parameter.

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 coverage is 100%, so the schema already defines page, per_page, and the ignored athlete_id. The description adds meaning beyond the schema by warning that local per_page does not cap upstream API request cost, which is directly relevant to parameter usage.

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 specific verb and resource: 'Page through stored routes.' That clearly identifies a paginated list operation, though it does not explicitly scope the result to the authenticated athlete or distinguish it from siblings such as strava_get_route.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like strava_get_route, strava_list_starred_segments, or the sync-status tools. The second sentence describes behavior but does not help an agent choose this tool.

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