Skip to main content
Glama
JJRPF

Garmin MCP Server

by JJRPF

get_power_duration_curve

Compute a power duration curve from recent cycling activities. Use the 20-minute output to estimate FTP without a formal test.

Instructions

Get season-best Power Duration Curve across recent activities.

Downloads FIT files for recent cycling activities and computes best mean maximal power at each standard duration. Returns season bests with which activity and date each best came from.

Durations: 5s (sprint), 30s, 1min, 5min (VO2 max proxy), 10min, 20min (FTP proxy), 60min

Use the 20-minute best × 0.95 as a strong FTP estimate without a formal test.

Warning: downloads multiple FIT files — may take 30-60 seconds for 20 activities.

Args: num_activities: Number of recent activities to analyze (default 20, max 50) activity_type: Activity type to filter (default "cycling")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
activity_typeNocycling
num_activitiesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explicitly discloses that the tool downloads multiple FIT files, may take 30-60 seconds, filters by activity type, and returns provenance (activity and date) for each best. It could be more transparent about edge cases like missing power data or invalid activity types, but it covers the main cost and behavior well.

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 organized into clear sections: purpose, durations, practical FTP guidance, a performance warning, and parameter docs. Every sentence adds value—nothing is filler. The most important scoping and behavior information is front-loaded before the parameter details.

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?

Given the output schema exists, the description correctly focuses on process and usage rather than return fields. It covers durations, FTP interpretation, latency, and parameters. Missing context is relatively minor: what 'season' means, how 'recent' is defined beyond num_activities, and behavior when there is insufficient power data. These are gaps but not crippling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/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 fully document parameters. It does: num_activities is explained as 'Number of recent activities to analyze' with default 20 and max 50, and activity_type is explained as the filter with default 'cycling'. This adds meaning beyond the bare schema, including the max constraint not present in the schema.

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 and resource: 'Get season-best Power Duration Curve across recent activities.' It then explains the computation pipeline (downloads FIT files, computes best mean maximal power) and return value (season bests with activity and date). This clearly distinguishes it from sibling tools like get_activity_power_in_timezones and get_cycling_ftp by describing its unique output and process.

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 gives clear context for when this tool is useful, especially the practical tip to use the 20-minute best × 0.95 as an FTP estimate without a formal test. It also warns about the 30-60 second latency, letting the agent judge against faster alternatives. However, it does not explicitly name sibling alternatives or state when not to use this tool.

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/JJRPF/garmin_mcp'

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