Local MCP server exposing iGPSport cycling data with server-side training metrics (NP/IF/TSS/CTL/ATL/TSB).
Server has 19 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions are present but brief (avg ~60 chars, below the 194-char baseline). All tools are READ_ONLY or WRITE/DESTRUCTIVE with clear risk labels. Parameter descriptions are minimal. Output schemas are not documented in the source. Error handling and recovery guidance are absent. Tool composition is sound (single responsibility), but descriptions lack LLM-optimization guidance (e.g., 'when to use', 'prerequisites', 'what it returns').
Analyze a single activity and compute training metrics (NP/IF/TSS/work/zone time)
Compute training load metrics (CTL/ATL/TSB) from daily TSS values
Create a custom workout
Delete a custom workout
Download or return cached FIT file for a ride
Estimate FTP and LTHR from recent activities' mean-max curves
Get member statistics and personal records
Tool descriptions are too brief (avg ~60 chars vs. 194-char baseline). Missing context on WHEN to use each tool, WHAT it returns, and prerequisites. E.g., 'List activities from iGPSport account with pagination support' lacks guidance on use cases or return structure.
Output schemas are not documented. LLMs cannot infer what fields each tool returns, forcing them to guess downstream field names and risk broken tool chains. E.g., does list_activities return 'activities' or 'rides'? Does it include 'activity_id' or 'ride_id'?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Get detailed information for a specific segment
Get overview information for a specific segment
Get ranking information for segments
Get recent records for a specific segment
Get top records for a specific segment
Get athlete training parameters (FTP/LTHR/maxHR/weight and configured zones)
Get detailed information for a specific workout
List activities from iGPSport account with pagination support
List collected or created segments
List workouts from iGPSport account
Query detailed information for a specific activity
Query lap data for a specific activity
Parameter descriptions are minimal or missing. E.g., 'page_no' and 'page_size' lack guidance on valid ranges, defaults, or constraints. 'steps' in create_workout has no structure documentation. LLMs cannot validate inputs without explicit constraints.
No error handling or recovery guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., if download_fit fails due to network timeout, should the agent retry or ask the user?
Destructive tool (delete_workout) lacks confirmation or dry-run support. Agents can accidentally delete workouts without a safety gate. No documentation of irreversible consequences.