{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_myf5kmpv4695","handle":"workoutx-exercise-api","url":"https://wellknown.network/agents/workoutx-exercise-api","links":{"self":"https://wellknown.network/agents/workoutx-exercise-api/record.json","html":"https://wellknown.network/agents/workoutx-exercise-api","markdown":"https://wellknown.network/agents/workoutx-exercise-api/record.md","api":"https://wellknown.network/api/v1/agents/workoutx-exercise-api","status":"https://wellknown.network/api/v1/agents/workoutx-exercise-api/status","claim":"https://wellknown.network/agents/workoutx-exercise-api/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/workoutx-exercise-api/claim.json","badge":"https://wellknown.network/agents/workoutx-exercise-api/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/workoutx-exercise-api/history","tools":"https://wellknown.network/api/v1/agents/workoutx-exercise-api/tools"},"ard":{"identifier":"urn:air:api.workoutxapp.com:server:workoutx-exercise-api","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"WorkoutX Exercise API","summary":"Exercise API MCP: 1,900+ exercises with video, workout generator, supplements, dev tools.","description":"Exercise API MCP: 1,900+ exercises with video, workout generator, supplements, dev tools.","publisher":{"name":"furkanuruk","url":null},"homepage":"https://workoutxapp.com/mcp.html","repository":"https://github.com/furkanuruk/workoutx-mcp","version":"2.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.workoutxapp.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:workoutx-mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-29T04:15:54.836926Z","publishedAt":"2026-10-29T04:15:54.836926Z","registryName":"io.github.furkanuruk/workoutx"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.525,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"},{"slug":"data.apis","name":"API Access","confidence":0.51,"provenance":"derived"}],"categories":["commerce","data","dev"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 29m ago.","lastOkAt":"2026-11-04T14:23:17.868Z","lastProbedAt":"2026-11-04T14:23:17.868Z","statusComputedAt":"2026-11-04T14:26:15.391Z","reliability30d":{"probes":18,"successRate":1,"p50Ms":16,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":18,"ok":18,"authBoundaryOk":0,"serviceOk":18,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-04T14:23:17.868Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-04T06:26:57.811Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-03T22:28:56.945Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-03T14:25:52.996Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":13,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-03T06:33:28.860Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-02T22:26:29.676Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":13,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-02T13:27:07.408Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":16,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-02T05:27:32.787Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T21:29:22.689Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":27,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T13:28:54.768Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":27,"error":null,"detail":{"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"toolCount":20,"toolsHash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","serverName":"workoutx","capabilities":["tools"],"serverVersion":"2.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_exercise_filters","description":"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":"search_exercises","description":"Search 1,900+ exercises. Filters are optional and case-insensitive; combining two or more filters needs the Starter plan or higher. Results include instructions"},{"name":"get_exercise","description":"One exercise by v2 id: instructions, tips, muscles, equipment, sets/reps guidance, calories and signed media links."},{"name":"get_exercise_media","description":"Fresh signed MP4 and thumbnail links for one exercise (links expire; call again rather than storing them)."},{"name":"find_exercise_alternatives","description":"Ranked swaps that train the same muscles, e.g. when equipment is missing. Optionally require or exclude equipment."},{"name":"find_similar_exercises","description":"Exercises most similar to the given one (same pattern, muscles and equipment), ranked by score."},{"name":"estimate_calories","description":"Calories burned for an exercise from its MET value, body weight and duration."},{"name":"map_v1_exercise","description":"Find the v2 exercise for an old v1 id (e.g. \"0025\"), with the match quality: exact, equivalent, alternative, closest or none."},{"name":"generate_workout","description":"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":"generate_program","description":"A multi-week program with periodisation, deloads and weekly volume targets. Needs the Scale plan."},{"name":"search_supplements","description":"Supplements with evidence ratings, dosage and timing. Filter by category, goal, timing, evidence or free text. Needs the Growth plan or higher."},{"name":"get_supplement_stack","description":"A recommended stack for a goal with dosages and timing. Needs the Scale plan."},{"name":"export_exercise_seed","description":"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."},{"name":"get_usage_stats","description":"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 m"},{"name":"get_trending_exercises","description":"The exercises and filters (body parts, muscles, equipment, categories) requested most across WorkoutX apps in the last 30 days. Anonymised: only values at least"},{"name":"get_endpoint_reference","description":"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 requ"},{"name":"generate_types","description":"Ready-to-paste TypeScript, Swift (Codable), Kotlin (kotlinx.serialization) or Dart models for v2 responses, generated from the OpenAPI spec. Uses one request."},{"name":"get_code_example","description":"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 an"},{"name":"diagnose_request","description":"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, m"},{"name":"check_api_key","description":"Confirm the configured API key works and show the plan and remaining quota. Uses one request."}],"package":null,"toolSurface":{"id":"ts_2u2hxrw65ss5","endpointId":"ep_99phkc3ywjwc","hash":"c9eb54e09442b2d11a0549c97e1ffca8acada6313413228cd6d31e8aef2fa892","toolCount":20,"serverName":"workoutx","serverVersion":"2.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-30T01:26:35.488Z","lastSeenAt":"2026-11-04T14:23:17.857Z","observations":18,"toolNames":["list_exercise_filters","search_exercises","get_exercise","get_exercise_media","find_exercise_alternatives","find_similar_exercises","estimate_calories","map_v1_exercise","generate_workout","generate_program","search_supplements","get_supplement_stack","export_exercise_seed","get_usage_stats","get_trending_exercises","get_endpoint_reference","generate_types","get_code_example","diagnose_request","check_api_key"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_99phkc3ywjwc","url":"https://api.workoutxapp.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-11-02T22:26:29.706Z","auth":{"observedAt":"2026-11-02T22:26:29.715Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-11-02T22:26:29.722Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.workoutxapp.com","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-09-17T17:52:30.000Z","validTo":"2026-12-16T17:52:29.000Z","daysToExpiry":42,"sanCount":1,"fingerprint256":"BC:9B:9A:D7:1C:67:7D:D7:EC:76:7A:65:2F:09:53:8F:01:AB:17:80:83:5D:84:1D:AA:84:21:19:21:DA:6A:67"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.furkanuruk/workoutx","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.furkanuruk%2Fworkoutx","firstSeenAt":"2026-10-30T00:20:13.112Z","fetchedAt":"2026-11-02T15:21:14.528Z","normalizedAt":"2026-11-02T15:21:14.528Z"}]},"firstSeenAt":"2026-10-30T00:20:13.112Z","updatedAt":"2026-11-04T14:27:29.473Z"}