WorkoutX Exercise API
REMOTE · API.WORKOUTXAPP.COM · 2 COMPONENTS
Exercise API MCP: 1,900+ exercises with video, workout generator, supplements, dev tools.
Available components
Last scanned (8 hours ago)
Scores higher than 61% of remote servers
Unreachable for 1 day in a row. Last reached 4 Nov 2026.
Category Health and Science
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security11
- TLS not yet verified: we couldn't open a connection to check the certificate. View diagnostics → Unverified
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS not yet verified: we couldn't read the response headers to check for it. View diagnostics → Unverified
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but we couldn't connect to verify it. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Endpoint reachability: reachable → unreachable ▼ security
- Authorization: partial → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- TLS certificate: pass → unverified ▼ security
- HSTS header: pass → unverified ▼ security
- Stability: 0.20 → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 29 Oct 26 71
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://api.workoutxapp.com/mcp
TLS unreached
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.workoutxapp.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| workoutxapp.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.workoutxapp.com/mcp | Unreachable | ||
| http (plaintext) | http://api.workoutxapp.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_api_key Check API key ~27
Confirm the configured API key works and show the plan and remaining quota. Uses one request.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
diagnose_request Diagnose a request ~140
Paste 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.
| Name | Type | Req | Description |
|---|---|---|---|
| request | string | yes | curl command, URL or "GET /v2/..." line, with headers if you have them |
| response | string | – | Response body, if any |
| status | integer | – | – |
No output schema declared.
No examples provided.
estimate_calories Estimate calories ~75
Calories burned for an exercise from its MET value, body weight and duration.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | v2 exercise id, e.g. "ex_GE5XEP" |
| minutes | number | – | Duration in minutes (default 10) |
| weightKg | number | – | Body weight in kg (default 70) |
No output schema declared.
No examples provided.
export_exercise_seed Export exercises for seeding ~177
Exercise 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).
| Name | Type | Req | Description |
|---|---|---|---|
| bodyPart | string | – | – |
| category | string | – | – |
| equipment | string | – | – |
| fields | array | – | Default: name, model, bodyPart, target, equipment, difficulty, category |
| format | string | – | Default json |
| lang | string | – | Language for names, instructions and tips (default en) |
| limit | integer | – | Max results (default 200, plan caps apply) |
| model | string | – | Animation model |
| offset | integer | – | – |
| target | string | – | – |
No output schema declared.
No examples provided.
find_exercise_alternatives Find exercise alternatives ~127
Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment.
| Name | Type | Req | Description |
|---|---|---|---|
| equipment | string | – | Only alternatives using this equipment (comma-separated) |
| excludeEquipment | string | – | Leave out this equipment (comma-separated) |
| id | string | yes | v2 exercise id, e.g. "ex_GE5XEP" |
| lang | string | – | Language for names, instructions and tips (default en) |
| limit | integer | – | Max results (default 10, plan caps apply) |
| model | string | – | – |
No output schema declared.
No examples provided.
find_similar_exercises Find similar exercises ~92
Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | v2 exercise id, e.g. "ex_GE5XEP" |
| lang | string | – | Language for names, instructions and tips (default en) |
| limit | integer | – | Max results (default 10, plan caps apply) |
| model | string | – | – |
No output schema declared.
No examples provided.
generate_program Generate a training program ~147
A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan.
| Name | Type | Req | Description |
|---|---|---|---|
| avoidJoints | array | – | Joints to spare; exercises that load them are left out |
| daysPerWeek | integer | – | Default 3 |
| duration | integer | – | Minutes per session (default 60) |
| equipment | array | – | – |
| format | string | – | – |
| goal | string | – | – |
| lang | string | – | Language for names, instructions and tips (default en) |
| level | string | – | – |
| model | string | – | Animation model |
| seed | string | – | – |
| weeks | integer | – | Default 4 |
No output schema declared.
No examples provided.
generate_types Generate model types ~111
Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | yes | – |
| models | array | – | Default: ExerciseV2, ExercisePageV2, WorkoutV2, ProgramV2. Others: MediaLinksV2, MuscleV2, RankedPageV2, CaloriesV2, SupplementV2, AccountUsageV2, TrendingV2… |
No output schema declared.
No examples provided.
generate_workout Generate a workout ~194
One 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.
| Name | Type | Req | Description |
|---|---|---|---|
| avoidJoints | array | – | Joints to spare; exercises that load them are left out |
| bodyFocus | array | – | Muscles or body parts to emphasise |
| duration | integer | – | Minutes (default 45) |
| equipment | array | – | Available equipment, e.g. ["dumbbell","bench"]; empty = gym |
| exclude | array | – | Exercise ids to leave out |
| format | string | – | – |
| goal | string | – | – |
| lang | string | – | Language for names, instructions and tips (default en) |
| level | string | – | – |
| model | string | – | Animation model |
| seed | string | – | Same seed + same inputs = same workout |
| split | string | – | – |
No output schema declared.
No examples provided.
get_code_example Get a code example ~74
A 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.
| Name | Type | Req | Description |
|---|---|---|---|
| platform | string | yes | – |
| topic | string | yes | – |
No output schema declared.
No examples provided.
get_endpoint_reference Get endpoint reference ~74
Parameters, 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.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | – | e.g. "/v2/exercises", "exercises/{id}/alternatives" or a full URL |
No output schema declared.
No examples provided.
get_exercise Get an exercise ~73
One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | v2 exercise id, e.g. "ex_GE5XEP" |
| lang | string | – | Language for names, instructions and tips (default en) |
No output schema declared.
No examples provided.
get_exercise_media Get exercise media ~52
Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | v2 exercise id, e.g. "ex_GE5XEP" |
No output schema declared.
No examples provided.
get_supplement_stack Build a supplement stack ~42
A recommended stack for a goal with dosages and timing. Needs the Scale plan.
| Name | Type | Req | Description |
|---|---|---|---|
| goal | string | yes | – |
| level | string | – | – |
No output schema declared.
No examples provided.
get_trending_exercises Get trending exercises ~105
The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string | – | Language for names, instructions and tips (default en) |
| limit | integer | – | Max results (default 20, plan caps apply) |
No output schema declared.
No examples provided.
get_usage_stats Get usage statistics ~93
Your 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.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Window in days (default 30, max 60) |
No output schema declared.
No examples provided.
list_exercise_filters List exercise filters ~59
Every valid value (with counts) for body parts, target muscles, equipment, categories and muscles. Call this before search_exercises when unsure of a value.
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string | – | Language for names, instructions and tips (default en) |
No output schema declared.
No examples provided.
map_v1_exercise Map a v1 exercise id to v2 ~82
Find the v2 exercise for an old v1 id (e.g. "0025"), with the match quality: exact, equivalent, alternative, closest or none.
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string | – | Language for names, instructions and tips (default en) |
| v1Id | string | yes | v1 exercise id, e.g. "0025" |
No output schema declared.
No examples provided.
search_exercises Search exercises ~285
Search 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.
| Name | Type | Req | Description |
|---|---|---|---|
| bodyPart | string | – | e.g. Chest, Back, Upper Legs, Waist |
| category | string | – | – |
| difficulty | string | – | – |
| equipment | string | – | e.g. Barbell, Dumbbell, Body Weight, Cable |
| fields | array | – | Only these top-level fields, e.g. ["name","target","equipment"]; id is always included. Smaller answers, fewer tokens. |
| force | string | – | – |
| includeMedia | boolean | – | false: no video links and no use of the distinct-exercise media limit (default true) |
| lang | string | – | Language for names, instructions and tips (default en) |
| limit | integer | – | Max results (default 10, plan caps apply) |
| mechanic | string | – | – |
| model | string | – | Animation model |
| muscle | string | – | Matches primary or secondary muscles |
| name | string | – | Partial name match, e.g. "bench press" |
| offset | integer | – | – |
| target | string | – | Primary target, e.g. Pectorals, Glutes, Lats |
No output schema declared.
No examples provided.
search_supplements Search supplements ~127
Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | e.g. protein, creatine, pre-workout |
| evidence | string | – | e.g. strong, moderate |
| goal | string | – | – |
| limit | integer | – | Max results (default 200, plan caps apply) |
| offset | integer | – | – |
| search | string | – | – |
| timing | string | – | e.g. pre-workout, post-workout, morning |
No output schema declared.
No examples provided.
How do I install the WorkoutX Exercise API MCP server?
WorkoutX Exercise API is a hosted endpoint at https://api.workoutxapp.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.workoutxapp.com
claude mcp add --transport http furkanuruk-workoutx 'https://api.workoutxapp.com/mcp'
What is the WorkoutX Exercise API MCP server?
WorkoutX Exercise API is an MCP server listed in the public MCP registry as io.github.furkanuruk/workoutx. Exercise API MCP: 1,900+ exercises with video, workout generator, supplements, dev tools. This page covers its hosted endpoint (https://api.workoutxapp.com/mcp).
Is the WorkoutX Exercise API MCP server safe to use?
WorkoutX Exercise API scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the WorkoutX Exercise API MCP server expose?
WorkoutX Exercise API exposes 20 tools: list_exercise_filters, search_exercises, get_exercise, get_exercise_media, find_exercise_alternatives, and 15 more. Their descriptions and schemas cost roughly 2,156 tokens of context every time the server is loaded.
Does the WorkoutX Exercise API MCP server require authentication?
Its publisher declares that WorkoutX Exercise API requires credentials, so you will need to authorise it in your MCP client. We have not been able to confirm that against the live endpoint.
Is the WorkoutX Exercise API MCP server still maintained?
WorkoutX Exercise API is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.