Igpsport MCP server
io.github.dengxuhui/igpsport-mcp·v0.7.1·4 starsiGPSport cycling data with training metrics (NP/IF/TSS/CTL/ATL/TSB) and workout generation
4 stars30 downloads/wk
Reviews
Write oneNobody has reviewed Igpsport yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Igpsport tools (17, 2 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
analyze_training_loadCTL/ATL/TSB daily trend + current form interpretation over the last N days.
compare_activitiesCompare 2-5 rides across metrics with per-metric delta% and a narrative hint.
create_workoutwrite actionCreate a training workout from an LLM-friendly IR.
delete_workoutwrite actionDelete a custom workout from the iGPSport server.
estimate_thresholdsEstimate FTP & LTHR from recent rides' mean-max curves, for riders who haven't done a formal test.
get_activity_lapsPer-lap splits with per-lap NP computed from the record stream.
get_activity_streamsTime-series channels as compact bare arrays. Channels default to power+hr; resolution one of 1s/5s/10s/30s/1min (default 10s to keep tokens sane).
get_activity_summaryDerived metrics for one ride: NP/IF/TSS/work, HR & power zone time.
get_athlete_profileAthlete training parameters (FTP/LTHR from config) with HR/power zone bounds.
get_athlete_statsAggregate distance/duration/elevation over week|month|year|all.
get_member_statisticsOfficial yearly stats & achievements: totals, per-month distance, milestones, PRs.
get_segment_detailSegment detail: name, distance, grade, KOM, fastest times & your PR.
get_segment_rankSegment leaderboard. queryType: 1=all-time, 2=yearly (or other dim).
get_workout_detailFetch full detail (including structure) of a workout from server.
list_activitiesList rides with optional ISO-8601 date range and paging (cached, units fixed).
list_segments_collectedList your collected (starred) segments with best times.
list_workoutsList all custom workouts from iGPSport server (live, not cached).
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan40 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 88 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Igpsport compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 57% of 48,255 servers
- Tools
- 17
- the typical server has 7
- Tools that change things
- 12%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 4
- more than 82% of 28,688 servers
- Downloads a week
- 30
- more than 18% of 12,191 servers with a package
What its tools let an agent do: 15 read · 1 create · 1 delete
Install Igpsport in Claude Code, Cursor or VS Code
claude mcp add igpsport-mcp -- uvx igpsport-mcp
What the publisher says
From the Igpsport repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.dengxuhui/igpsport-mcp -->
igpsport-mcp
English | 简体中文
A local MCP server that connects your iGPSport cycling data to LLM clients like Claude. Analyze your training in natural language: "How's my training load this week?" "Compare my two long rides from last week and this week." "What's my ranking on that climb I starred?" "How many kilometers did I ride this year, and what are my personal bests?" — and even have Claude prescribe workouts for you: "Build me a 2×20 SST session based on my FTP and push it to my head unit."
Key differentiator: Derived training metrics — NP / IF / TSS / CTL / ATL / TSB — are computed server-side in the MCP layer before being returned. The LLM receives story-ready numbers, not raw stream data.
You: What's my training load trend over the last 90 days? Should I back off?
Claude (via analyze_training_load):
Current CTL (Fitness) 72, ATL (Fatigue) 91, TSB (Form) -19 — you're in a significant fatigue hole.
TSS has been above CTL for the past two weeks. Consider a 3–5 day recovery block to get TSB back above -5…Demo
⚠️ Unofficial project. This tool works by simulating iGPSport web client requests. iGPSport may change their API at any time, which could break functionality. Please evaluate account risk yourself — use at your own risk. Runs entirely locally over stdio — your data never touches any third-party server.
Quick Start (Recommended)
This tool is an MCP server and requires an MCP-capable client (e.g. Claude Desktop / Claude Code / Cursor). Once you have a client ready, three steps:
1. Install uv (a standalone tool — you do not need Python pre-installed, uv handles the runtime automatically):
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"2. Install globally and run the setup wizard (interactively enter your phone/email and password — credentials stay local). The commands are the same on both systems; run them in Terminal on macOS or PowerShell on Windows:
uv tool install igpsport-mcp
igpsport-mcp --setupIf igpsport-mcp is not found after installation, open a new terminal/PowerShell window so PATH updates take effect (uv places executables in ~/.local/bin on macOS, %USERPROFILE%\.local\bin on Windows).
The wizard saves credentials to a config file (owner-readable only) and prints a copy-paste ready MCP configuration block. Config file locations:
- macOS: ~/.igpsport-mcp/config.json
- Windows: C:\Users\YourName\.igpsport-mcp\config.json
3. Paste the printed config into your client, then restart the client (see "Connect to Claude" below).
Want to verify your credentials before pasting? Run igpsport-mcp --check — it performs a real login and prints ✅ success or ❌ the reason for failure, so you don't add it to your client only to find it broken.
Need to print the config snippet again later? igpsport-mcp --mcp-config anytime.
Developers / users with an existing Python environment: use uvx igpsport-mcp for one-shot runs, or configure via environment variables below instead of the wizard.
CLI Usage
Running with no arguments starts the MCP server in stdio mode (this is what your MCP client invokes — you normally don't run it manually). Other subcommands:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Igpsport: common questions
- Is Igpsport MCP server safe?
- Mostly: it is graded B (78/100). Read the Igpsport safety report
- How do I install Igpsport?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Igpsport need an API key?
- Yes. The registry entry asks for
IGPSPORT_USERNAME,IGPSPORT_PASSWORD. - Is Igpsport maintained?
- The last commit was 127 days ago (2026-06-30). The latest release is v0.7.1.
- How does Igpsport compare with other MCP servers?
- safety score 78/100 (higher than 57% of 48,255 servers); tools 17 (the typical server has 7); tools that change things 12% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.