A Model Context Protocol (MCP) server that connects Claude to the XERT API, providing access to your fitness signature, training load, workouts, and activities. - ๐ Fitness Signature - Get your current FTP, LTP, HIE, and Peak Power - ๐ฏ Training Status - Check freshness, training load, and recommended XSS - ๐๏ธ Workout of the Day - AI-powered workout recommendations - ๐ Workouts - List, view det
Add this skill
npx mdskills install Milofax/xert-mcpWell-documented MCP server providing comprehensive access to cycling fitness metrics and training data
A Model Context Protocol (MCP) server that connects Claude to the XERT API, providing access to your fitness signature, training load, workouts, and activities.
Clone the repository:
git clone https://github.com/Milofax/xert-mcp.git
cd xert-mcp
Install dependencies:
npm install
Authenticate with XERT:
npm run setup-auth
Enter your XERT email and password when prompted. Tokens will be saved to .env.
Build the project:
npm run build
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"xert": {
"command": "node",
"args": ["/path/to/xert-mcp/dist/server.js"]
}
}
}
Replace /path/to/xert-mcp with the actual path to your installation.
Restart Claude Desktop to load the server.
You can also run the server via Docker:
docker build -t xert-mcp .
Run the setup script locally first to authenticate:
npm install
npm run setup-auth
This creates xert-tokens.json with your access and refresh tokens.
{
"mcpServers": {
"xert": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "XERT_ACCESS_TOKEN",
"-e", "XERT_REFRESH_TOKEN",
"xert-mcp"
],
"env": {
"XERT_ACCESS_TOKEN": "your-access-token-from-xert-tokens.json",
"XERT_REFRESH_TOKEN": "your-refresh-token-from-xert-tokens.json"
}
}
}
}
Note: Access tokens expire after 7 days. When they expire, run npm run setup-auth again and update the tokens in your config.
| Tool | Description |
|---|---|
xert-get-training-info | Get fitness signature, training status, load, and WOTD |
xert-list-workouts | List all your saved workouts |
xert-get-workout | Get detailed workout intervals |
xert-download-workout | Export workout as ZWO or ERG file |
xert-list-activities | List activities in a time range |
xert-get-activity | Get activity details with XSS metrics |
xert-upload-fit | Upload a FIT file for analysis |
Ask Claude questions like:
# Run in development mode
npm run dev
# Build for production
npm run build
# Start production server
npm start
The server handles tokens automatically:
xert-tokens.json (created automatically)If authentication fails completely, run npm run setup-auth again.
When using mcp-funnel or similar tools, tokens from xert-tokens.json take priority over environment variables. This ensures refreshed tokens are used even when env vars contain outdated values.
MIT
Install via CLI
npx mdskills install Milofax/xert-mcpXERT MCP Server is a free, open-source AI agent skill. A Model Context Protocol (MCP) server that connects Claude to the XERT API, providing access to your fitness signature, training load, workouts, and activities. - ๐ Fitness Signature - Get your current FTP, LTP, HIE, and Peak Power - ๐ฏ Training Status - Check freshness, training load, and recommended XSS - ๐๏ธ Workout of the Day - AI-powered workout recommendations - ๐ Workouts - List, view det
Install XERT MCP Server with a single command:
npx mdskills install Milofax/xert-mcpThis downloads the skill files into your project and your AI agent picks them up automatically.
XERT MCP Server works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Gemini Cli, Amp, Roo Code, Goose. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.