athletedata
Your Garmin, Oura, WHOOP, Hevy and 35 more fitness apps, queryable from your own AI.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http athletedata 'https://mcp.athletedata.health/mcp' --header 'Authorization: <Optional. Bearer + your athletedata API key (sk_soma_...) from https://www.athletedata.health/dashboard/mcp. Clients that support MCP OAuth can leave this out and sign in instead.>'
{
"mcpServers": {
"athletedata": {
"type": "http",
"url": "https://mcp.athletedata.health/mcp",
"headers": {
"Authorization": "<Optional. Bearer + your athletedata API key (sk_soma_...) from https://www.athletedata.health/dashboard/mcp. Clients that support MCP OAuth can leave this out and sign in instead.>"
}
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
athletedata MCP server
Your Garmin, Oura, WHOOP, Hevy and 35 more fitness apps, queryable from your own AI.
athletedata is a hosted MCP server for athletes. Connect your training and health apps once at athletedata.health, then ask your own AI about your data.
It reads 39 apps and computes the numbers on top: training load (CTL, ATL, TSB), HRV and resting heart rate trends, readiness, sleep trends, power and pace curves, race predictions, intensity distribution and load spikes. With your permission it can also write back: push a structured workout to your Garmin or COROS (through Intervals.icu) or Apple Watch (through the athletedata iPhone app), log food, or create a Hevy routine.
Server: https://mcp.athletedata.health/mcp (Streamable HTTP)
Account: start a 7-day free trial, then find your key at www.athletedata.health/dashboard/mcp.
More: athletedata.health/mcp
What it reads
- Activity and power: Garmin, Wahoo, Intervals.icu, TrainingPeaks, Polar, COROS, Suunto, Zepp, Zwift, Rouvy, MyWhoosh, Peloton, TrainerRoad, Hammerhead Karoo, Concept2
- Sleep and recovery: Oura, WHOOP, Ultrahuman, Garmin, Withings, Apple Health, Google Health (Fitbit, Pixel Watch), COROS, Suunto, Zepp, Eight Sleep
- Heart: Frontier X (ECG)
- Strength: Hevy, Strong, Fitbod, Technogym
- Nutrition: Cronometer, MyFitnessPal, Yazio, Lose It!, Lifesum, Fuelin
- Body composition: Renpho, Withings
- Cycle tracking: Clue, Flo
- Calendar and docs: Google Calendar, Apple Calendar, Google Sheets
Strava data is not available over MCP: Strava's API terms do not allow serving it to third-party AI tools.
Two ways to sign in
- OAuth (recommended where the client supports it). Add the bare URL
https://mcp.athletedata.health/mcpand sign in with your athletedata account. The consent screen lists what the app asked for, and you can revoke it any time under Settings, Connected apps. - API key. Send
Authorization: Bearer sk_soma_...with every request. The key is on your MCP page. Treat it like a password.
Setup by client
Claude (claude.ai, Claude Desktop)
Settings, Connectors, Add custom connector, paste https://mcp.athletedata.health/mcp, then sign in.
Guide: athletedata.health/mcp/setup/claude-desktop
No account yet? Start free.
Claude Code
claude mcp add --transport http athletedata https://mcp.athletedata.health/mcp
Then run /mcp inside Claude Code and sign in. No account yet? Start free.
ChatGPT
Guide: athletedata.health/mcp/setup/chatgpt No account yet? Start free.
Cursor
The button adds the server and Cursor asks you to sign in. To use a key
instead, put this in ~/.cursor/mcp.json and set ATHLETEDATA_API_KEY in your environment:
{
"mcpServers": {
"athletedata": {
"url": "https://mcp.athletedata.health/mcp",
"headers": { "Authorization": "Bearer ${env:ATHLETEDATA_API_KEY}" }
}
}
}
This repo is also a Cursor plugin (.cursor-plugin/plugin.json).
No account yet? Start free.
VS Code (GitHub Copilot)
code --add-mcp '{"name":"athletedata","type":"http","url":"https://mcp.athletedata.health/mcp"}'
VS Code asks you to sign in on first use. No account yet? Start free.
Gemini CLI
gemini extensions install https://github.com/athletedata-health/mcp
The installer asks for your API key and keeps it in your system keychain. No account yet? Start free.
OpenClaw
Sign in with OAuth:
openclaw mcp add athletedata --url https://mcp.athletedata.health/mcp --transport streamable-http --auth oauth
openclaw mcp login athletedata
Or with a key (set ATHLETEDATA_API_KEY in your environment; single quotes keep the
placeholder in config, and --no-probe is needed because the add-time probe
does not expand it):
openclaw mcp add athletedata --url https://mcp.athletedata.health/mcp --transport streamable-http --header 'Authorization=Bearer ${ATHLETEDATA_API_KEY}' --no-probe
openclaw mcp probe athletedata
The matching skill tells your agent when to reach for it: clawhub install athletedata.
No account yet? Start free.
Hermes Agent
echo 'ATHLETEDATA_API_KEY=sk_soma_...' >> ~/.hermes/.env
hermes plugins install athletedata-health/mcp
hermes plugins enable athletedata
No account yet? Start free.
Mistral Le Chat
Connectors, Add connector, Custom MCP connector, paste https://mcp.athletedata.health/mcp, then sign in.
No account yet? Start free.
Any other MCP client
URL https://mcp.athletedata.health/mcp, transport Streamable HTTP, header Authorization: Bearer sk_soma_....
Clients that only speak stdio can bridge with npx mcp-remote https://mcp.athletedata.health/mcp --header "Authorization:Bearer ${ATHLETEDATA_API_KEY}".
What is in this repo
Manifests only. The server itself is hosted by athletedata; nothing here runs on your machine.
| File | For |
|---|---|
server.json | Official MCP Registry |
gemini-extension.json, GEMINI.md | Gemini CLI extension |
plugin.json, mcp.json, skills/ | Agent Plugins package (Hermes Agent, Cursor) |
.cursor-plugin/plugin.json | Cursor plugin |
clawhub/athletedata/SKILL.md | ClawHub skill for OpenClaw |
glama.json | Glama listing ownership |
build/build.mjs | Renders all of the above from one source |
Privacy
Your data stays yours: we do not sell it and do not train models on it, and you can delete everything from the dashboard. Details: athletedata.health/trust. Questions: team@athletedata.health
Made by HealthspanOS AG, Zurich.
Frequently asked questions
What is athletedata?
Your Garmin, Oura, WHOOP, Hevy and 35 more fitness apps, queryable from your own AI.
How do I install athletedata?
It runs as a remote server. In Claude Code: claude mcp add --transport http athletedata 'https://mcp.athletedata.health/mcp' --header 'Authorization: <Optional. Bearer + your athletedata API key (sk_soma_...) from https://www.athletedata.health/dashboard/mcp. Clients that support MCP OAuth can leave this out and sign in instead.>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does athletedata need an API key?
Yes. It expects Authorization, which you set in its configuration.
Is athletedata open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains athletedata?
It is published by athletedata-health. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.