Skip to main content
Glama

Get Upload Status

strava_get_upload
Read-onlyIdempotent

Read upload processing status directly from Strava (one API request per call, never mirrored). Returns status, error and the resulting activity ID. Poll sparingly; check strava_sync_status or strava://mirror/budget and respect cooldown.

Instructions

Read upload processing status directly from Strava (one API request per call, never mirrored). Returns status, error and the resulting activity ID. Poll sparingly; check strava_sync_status or strava://mirror/budget and respect cooldown.

Input Schema

NameRequiredDescriptionDefault
upload_idYesThe upload ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 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
    • addedInput schema / properties / upload_id / exclusiveMinimum
      Added value: +0
    • addedInput schema / properties / upload_id / maximum
      Added value: +9007199254740991
  2. First observedv1.0.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, open-world behavior, so the description only needs to add cost/latency context. It does: 'one API request per call, never mirrored' discloses quota cost and cache bypass, and the cooldown warning flags rate-limit risk. Exact cooldown values are deferred to another resource rather than spelled out.

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?

Three short sentences, front-loaded with purpose and return values, followed by rate-limit guidance. No restatement of the title or annotations, and every clause carries operational information.

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?

For a one-parameter read tool with full annotation coverage and an inline description of the return payload (status, error, activity ID), the definition is essentially complete; an output schema is not missed. The only soft spot is that the actual cooldown mechanics live behind a URI the agent must resolve separately.

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 100% for the single upload_id parameter, so the structured data already carries the semantics; baseline is 3. The description adds no hint about where upload_id originates (presumably strava_create_upload), which is the one piece of extra meaning it could have provided.

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?

States a specific verb and resource ('Read upload processing status directly from Strava') and immediately names the return payload: status, error, and resulting activity ID. 'Never mirrored' and the pointer to strava_sync_status let an agent distinguish this from the mirror-based status sibling without opening either schema.

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?

Gives concrete operational guidance: poll sparingly, check strava_sync_status or strava://mirror/budget first, respect cooldown. That is a clear when-to-use-which rule, though it frames the alternatives as pre-checks rather than an explicit 'call this instead of X when Y' decision rule.

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