Setup (Claude Desktop)
import { Steps, Aside } from ‘@astrojs/starlight/components’;
-
Generate an API key
Open FitRepo Settings and scroll to the MCP API Key card.
Click Generate Key. Your key is displayed once — copy it now and store it somewhere safe (e.g. a password manager). FitRepo only stores a hash; if you lose the key you’ll need to regenerate it.
-
Install the MCP server
The server is distributed as an npm package. No global install is needed — Claude Desktop will invoke it with
npx.Verify Node.js 18+ is available:
Terminal window node --version# v20.x.x or similar -
Edit Claude Desktop config
Open (or create) the Claude Desktop MCP configuration file:
Platform Path macOS ~/Library/Application Support/Claude/claude_desktop_config.jsonWindows %APPDATA%\Claude\claude_desktop_config.jsonAdd the FitRepo server to the
mcpServersobject:{"mcpServers": {"fitrepo": {"command": "npx","args": ["-y", "@fitrepo/mcp-server"],"env": {"FITREPO_API_KEY": "your-api-key-here"}}}}Replace
your-api-key-herewith the key you copied in step 1. -
Restart Claude Desktop
Fully quit and relaunch Claude Desktop. The FitRepo server icon should appear in the toolbar (a plug icon).
-
Test the connection
Ask Claude:
“How many activities do I have in FitRepo?”
Claude will call
list_activitiesand report the total. If you see an error, check the troubleshooting section below.
Custom base URL
Section titled “Custom base URL”If you’re self-hosting FitRepo, set FITREPO_BASE_URL to point at your instance:
{ "mcpServers": { "fitrepo": { "command": "npx", "args": ["-y", "@fitrepo/mcp-server"], "env": { "FITREPO_API_KEY": "your-api-key-here", "FITREPO_BASE_URL": "https://your-instance.example.com" } } }}Revoking access
Section titled “Revoking access”Go to Settings → MCP API Key and click Revoke Key. The key is immediately invalidated — any running MCP server will start receiving 401 errors on the next tool call.
Troubleshooting
Section titled “Troubleshooting”“Unauthorized” errors
: Check that FITREPO_API_KEY in your config matches the key shown when you generated it. Keys are case-sensitive. Try regenerating a new key in Settings.
Server doesn’t appear in Claude : Make sure you fully quit Claude (not just closed the window) and relaunched. Check that your JSON config is valid — use a JSON validator if unsure.
npx not found
: Claude Desktop may not inherit your shell PATH. Add the full path to npx: "/usr/local/bin/npx" (find it with which npx).
Stale data : The MCP server fetches live from the API on every tool call — there’s no local cache. If data looks stale, check that your Strava/Wahoo connection is healthy in Settings.