igpsport-mcp — Claude Code MCP server: what it does, how to install
Connects cycling logs from an iGPSport account to your AI assistant. It calculates fitness and fatigue metrics locally and helps assemble structured training sessions.
claude mcp add --env IGPSPORT_USERNAME=<IGPSPORT_USERNAME> --env IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> --env IGPSPORT_REGION=<IGPSPORT_REGION> --env IGPSPORT_FTP=<IGPSPORT_FTP> --env IGPSPORT_LTHR=<IGPSPORT_LTHR> --transport stdio igpsport-mcp -- uvx igpsport-mcpWhat igpsport-mcp does
The tool accesses iGPSport by mimicking web client requests over a local stdio connection. Instead of sending raw sensor streams to the model, the server precomputes metrics internally. The LLM directly receives ready values for normalized power, TSS, intensity factor, CTL, ATL, and TSB.
Setup runs through uv. You do not need a pre-existing Python installation because uv downloads and runs the runtime automatically. Credentials can be configured interactively using igpsport-mcp --setup or passed directly as environment variables.
Without an FTP value in your profile or IGPSPORT_FTP, the server cannot compute stress score and fatigue metrics. If you switch to the international edition via IGPSPORT_REGION=intl, segment queries are disabled. Any backend change on iGPSport might break login.
What it helps with
- Calculate training load trends like CTL, ATL, and TSB
- Compare power and heart rate figures across two rides
- Generate target power intervals based on current FTP
- Review annual mileage and personal riding records
Example prompts for the agent
- Compare my long rides from this weekend and last weekend.
- Build a 2x20 sweet spot session based on my FTP and prepare it for my head unit.
How to install igpsport-mcp
Platform CLI
claude mcp add --env IGPSPORT_USERNAME=<IGPSPORT_USERNAME> --env IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> --env IGPSPORT_REGION=<IGPSPORT_REGION> --env IGPSPORT_FTP=<IGPSPORT_FTP> --env IGPSPORT_LTHR=<IGPSPORT_LTHR> --transport stdio igpsport-mcp -- uvx igpsport-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from igpsport-mcp <command>
Platform CLI
codex mcp add igpsport-mcp --env IGPSPORT_USERNAME=<IGPSPORT_USERNAME> --env IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> --env IGPSPORT_REGION=<IGPSPORT_REGION> --env IGPSPORT_FTP=<IGPSPORT_FTP> --env IGPSPORT_LTHR=<IGPSPORT_LTHR> -- uvx igpsport-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from igpsport-mcp <command>
Config file
{
"mcpServers": {
"igpsport-mcp": {
"command": "uvx",
"args": [
"igpsport-mcp"
],
"env": {
"IGPSPORT_USERNAME": "<IGPSPORT_USERNAME>",
"IGPSPORT_PASSWORD": "<IGPSPORT_PASSWORD>",
"IGPSPORT_REGION": "<IGPSPORT_REGION>",
"IGPSPORT_FTP": "<IGPSPORT_FTP>",
"IGPSPORT_LTHR": "<IGPSPORT_LTHR>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from igpsport-mcp <command>
Config file
{
"servers": {
"igpsport-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"igpsport-mcp"
],
"env": {
"IGPSPORT_USERNAME": "<IGPSPORT_USERNAME>",
"IGPSPORT_PASSWORD": "<IGPSPORT_PASSWORD>",
"IGPSPORT_REGION": "<IGPSPORT_REGION>",
"IGPSPORT_FTP": "<IGPSPORT_FTP>",
"IGPSPORT_LTHR": "<IGPSPORT_LTHR>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from igpsport-mcp <command>
Platform CLI
gemini mcp add -e IGPSPORT_USERNAME=<IGPSPORT_USERNAME> -e IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> -e IGPSPORT_REGION=<IGPSPORT_REGION> -e IGPSPORT_FTP=<IGPSPORT_FTP> -e IGPSPORT_LTHR=<IGPSPORT_LTHR> igpsport-mcp uvx igpsport-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from igpsport-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about igpsport-mcp
How to install igpsport-mcp in Claude Code?
Run claude mcp add igpsport-mcp -e IGPSPORT_USERNAME=<IGPSPORT_USERNAME> -e IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> -- uvx igpsport-mcp. Replace placeholders with your actual iGPSport credentials.
What does igpsport-mcp do?
It retrieves cycling activities from iGPSport and calculates metrics such as NP, TSS, CTL, ATL, and TSB. Your assistant can then evaluate your fatigue balance or output structured workouts.
What happens if FTP is missing?
If your profile lacks an FTP setting and IGPSPORT_FTP is empty, metrics like TSS, IF, CTL, ATL, and TSB cannot be calculated. You need to configure FTP in the app or pass it via the environment variable.