Setup
import { Steps, Aside, Tabs, TabItem } from ‘@astrojs/starlight/components’;
Step 1 — Generate an API key
Section titled “Step 1 — 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.
Step 2 — Connect your client
Section titled “Step 2 — Connect your client”Choose the client you want to use:
-
Open Connectors settings
In claude.ai go to Settings → Connectors → Add custom connector.
-
Enter the connection details
Field Value Name FitRepo(or anything you like)Remote MCP server URL https://mydatafor.life/api/mcp-serverOAuth Client ID fitrepo(required by claude.ai — any non-empty value works)OAuth Client Secret Your API key from Step 1 The connector uses OAuth 2.0 Client Credentials. Your FitRepo API key goes in OAuth Client Secret — the OAuth Client ID field is required by claude.ai but its value doesn’t affect authentication.
-
Save and verify
Click Add. Claude will handshake with the server — you should see a green connected indicator and the 7 FitRepo tools listed.
-
Test it
Start a new conversation and ask:
“How many activities do I have in FitRepo?”
Claude will call
get_activitiesand report back. If you see an error, check the troubleshooting section below.
-
Check Node.js is installed
The local MCP server runs via
npx— Node.js 18+ is required.Terminal window node --version# v20.x.x or similar -
Edit the Claude Desktop config
Open (or create) the 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 it
Ask Claude:
“How many activities do I have in FitRepo?”
Claude will call
get_activitiesand report the count.
-
Add the server
Run this command once — Claude Code will store it in your global MCP config:
Terminal window claude mcp add fitrepo \-t http \https://mydatafor.life/api/mcp-server \--header "Authorization: Bearer your-api-key-here"Replace
your-api-key-herewith the key from Step 1. -
Verify
Terminal window claude mcp list# fitrepo https://mydatafor.life/api/mcp-server http -
Test it
Start a Claude Code session and ask:
“How many activities do I have in FitRepo?”
Revoking access
Section titled “Revoking access”Go to Settings → MCP API Key and click Revoke Key. The key is immediately invalidated — any connected client will start receiving 401 errors on the next tool call.
Troubleshooting
Section titled “Troubleshooting”“Unauthorized” / 401 errors : Check that your API key matches exactly what was shown when you generated it. Keys are case-sensitive. Try regenerating a new key in Settings.
Server doesn’t appear in Claude Desktop : 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)
: Claude Desktop may not inherit your shell PATH. Provide the full path to npx: "/usr/local/bin/npx" (find it with which npx).
Connector shows “failed” in claude.ai
: Confirm the URL is exactly https://mydatafor.life/api/mcp-server (no trailing slash) and your API key is in the OAuth Client Secret field (not Client ID). You can test the OAuth token endpoint directly:
curl -s -X POST https://mydatafor.life/api/oauth/token \ -d 'grant_type=client_credentials&client_secret=YOUR_API_KEY'# Should return: {"access_token":"...","token_type":"Bearer","expires_in":3600}Stale data : The MCP server fetches live from the database on every tool call — there’s no cache. If data looks stale, check that your Wahoo connection is healthy in Settings.