WorkoutX Exercise API
io.github.furkanuruk/workoutxVersion 2.1.0Exercise API MCP: 1,900+ exercises with video, workout generator, supplements, dev tools.
Status
Responds289 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:51 UTC
- Latency
- 289 ms
- Remotes responding
- 1 of 1
- Sign-in
- API key
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://api.workoutxapp.com/mcpResponds289 msNo sign-in
Claude Code
claude mcp add --transport http workoutx https://api.workoutxapp.com/mcp --header 'X-WorkoutX-Key: <YOUR_X_WORKOUTX_KEY>'Replace <YOUR_X_WORKOUTX_KEY> before running.
Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: workoutx
Remote MCP server URL: https://api.workoutxapp.com/mcp
This server expects the header X-WorkoutX-Key.Cursor
{
"mcpServers": {
"workoutx": {
"url": "https://api.workoutxapp.com/mcp",
"headers": {
"X-WorkoutX-Key": "<YOUR_X_WORKOUTX_KEY>"
}
}
}
}Replace <YOUR_X_WORKOUTX_KEY> before running.
VS Code
code --add-mcp '{"name":"workoutx","type":"http","url":"https://api.workoutxapp.com/mcp","headers":{"X-WorkoutX-Key":"<YOUR_X_WORKOUTX_KEY>"}}'Replace <YOUR_X_WORKOUTX_KEY> before running.
Streamable HTTP
npm: workoutx-mcp 2.1.0Package only
npm (npx)
claude mcp add workoutx -e 'WORKOUTX_API_KEY=<YOUR_WORKOUTX_API_KEY>' -- npx -y workoutx-mcp@2.1.0Replace <YOUR_WORKOUTX_API_KEY> before running.
Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
23 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
check_api_keyConfirm the configured API key works and show the plan and remaining quota. Uses one request. | Not declared | Yes | Not declared | No |
diagnose_requestPaste a failing WorkoutX request (curl, URL or "GET /v2/...") and optionally the status and response body: explains what is wrong (wrong host, key in the URL, missing header, unknown or repeated parameter, invalid value, v1 id, plan gate, rate limit, quota, expired media link) and how to fix it. Only reads the text; never sends the request. Uses one request. | Not declared | Yes | Not declared | No |
estimate_body_fatBody fat estimates from published equations using tape measurements: Relative Fat Mass (height, waist), U.S. Navy (adds neck, plus hip for women) and Deurenberg (adds weight, age). For adults and general wellness only, not medical advice. No photo needed. | Not declared | Yes | Not declared | No |
estimate_caloriesCalories burned for an exercise from its MET value, body weight and duration. | Not declared | Yes | Not declared | No |
export_exercise_seedExercise ids, names, muscles and equipment without media, as JSON or CSV, to seed your own database or fixtures. Does not use the distinct-exercise media limit. Page with offset; plan caps per call apply (Free 10, Starter 100, others 200). | Not declared | Yes | Not declared | No |
find_exercise_alternativesRanked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment. | Not declared | Yes | Not declared | No |
find_similar_exercisesExercises most similar to the given one (same pattern, muscles and equipment), ranked by score. | Not declared | Yes | Not declared | No |
generate_programA multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan. | Not declared | Yes | Not declared | No |
generate_typesReady-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request. | Not declared | Yes | Not declared | No |
generate_workoutOne complete session built from movement patterns: warm-up, main work with sets/reps/rest, cool-down and swap suggestions. Needs the Growth plan or higher. | Not declared | Yes | Not declared | No |
get_body_scan_integrationHow to add the WorkoutX Body Scan API to an app: endpoint, auth, fields, response shape, errors and ready-to-paste code. It returns docs only and never takes a photo: your app sends photos straight to the Body Scan API. | Not declared | Yes | Not declared | No |
get_body_scan_sample_responseA realistic sample of any Body Scan API response, so you can build and test the UI without spending scan credits. Covers success, an unreliable photo, errors and progress results. | Not declared | Yes | Not declared | No |
get_code_exampleA working snippet for a platform and task: listing and paging exercises, playing the looping MP4 and refreshing its signed link, the workout generator, error and rate-limit handling, or a backend proxy that keeps your key off the device. Uses one request. | Not declared | Yes | Not declared | No |
get_endpoint_referenceParameters, response shape, errors and a curl example for any v2 endpoint, straight from the OpenAPI spec. Call with no endpoint to list them all. Uses one request. | Not declared | Yes | Not declared | No |
get_exerciseOne exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links. | Not declared | Yes | Not declared | No |
get_exercise_mediaFresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them). | Not declared | Yes | Not declared | No |
get_supplement_stackA recommended stack for a goal with dosages and timing. Needs the Scale plan. | Not declared | Yes | Not declared | No |
get_trending_exercisesThe exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least 3 different accounts asked for, filters as shares. Good for deciding what to feature in an app. Uses one request. | Not declared | Yes | Not declared | No |
get_usage_statsYour account's API usage: requests, success rate, response times (avg and p95), errors by status code, top endpoints, daily counts, live quota, rate limit and media-limit usage. Use it to answer "why am I getting 429s?" or "when will my quota run out?". Uses one request. | Not declared | Yes | Not declared | No |
list_exercise_filtersEvery valid value (with counts) for body parts, target muscles, equipment, categories and muscles. Call this before search_exercises when unsure of a value. | Not declared | Yes | Not declared | No |
map_v1_exerciseFind the v2 exercise for an old v1 id (e.g. "0025"), with the match quality: exact, equivalent, alternative, closest or none. | Not declared | Yes | Not declared | No |
search_exercisesSearch 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions, tips, muscles, equipment, difficulty, calories and signed MP4/thumbnail links. | Not declared | Yes | Not declared | No |
search_supplementsSupplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher. | Not declared | Yes | Not declared | No |
Details
- Registry status
- Active
- Published
- Oct 29, 2026
- Updated
- Oct 29, 2026
- Categories (suggested)
- Design and mediaSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared