{
  "$schema": "https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json",
  "version": "1.0",
  "protocolVersion": "2025-06-18",
  "serverInfo": {
    "name": "workoutx",
    "title": "WorkoutX Exercise API",
    "version": "2.1.0"
  },
  "description": "1,900+ exercises with 720p MP4 animations, a workout and program generator and supplements, plus developer tools: endpoint reference, typed models, code examples, request diagnosis, usage stats and database seeding.",
  "documentationUrl": "https://workoutxapp.com/mcp.html",
  "websiteUrl": "https://workoutxapp.com",
  "iconUrl": "https://workoutxapp.com/favicon-512x512.png",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://api.workoutxapp.com/mcp"
  },
  "authentication": {
    "required": true,
    "schemes": [
      "api-key",
      "bearer"
    ],
    "header": "X-WorkoutX-Key",
    "description": "WorkoutX API key in the X-WorkoutX-Key header, or Authorization: Bearer <key>. Free key (500 requests in total, no card): https://workoutxapp.com/dashboard.html. initialize and tools/list work without a key; every tool call needs one and counts as one request."
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "get_endpoint_reference",
      "description": "Parameters, response shape and curl example for any v2 endpoint."
    },
    {
      "name": "generate_types",
      "description": "TypeScript, Swift, Kotlin or Dart models for v2 responses."
    },
    {
      "name": "get_code_example",
      "description": "Snippets for React Native, Swift, Flutter, Next.js, Node and Python."
    },
    {
      "name": "diagnose_request",
      "description": "Explains a failing request and how to fix it; never sends it."
    },
    {
      "name": "get_usage_stats",
      "description": "Your requests, errors, latency, top endpoints, quota and media limits."
    },
    {
      "name": "export_exercise_seed",
      "description": "Exercise ids, names, muscles and equipment as JSON or CSV, without media."
    },
    {
      "name": "get_trending_exercises",
      "description": "Most requested exercises and filters across WorkoutX apps, anonymised."
    },
    {
      "name": "search_exercises",
      "description": "Search and filter 1,900+ exercises with signed MP4 links."
    },
    {
      "name": "get_exercise",
      "description": "One exercise: instructions, tips, muscles, calories, media."
    },
    {
      "name": "get_exercise_media",
      "description": "Fresh signed MP4 and thumbnail links."
    },
    {
      "name": "list_exercise_filters",
      "description": "Valid body parts, targets, equipment, categories, muscles."
    },
    {
      "name": "find_exercise_alternatives",
      "description": "Swaps for the same muscles, optionally by equipment."
    },
    {
      "name": "find_similar_exercises",
      "description": "Most similar exercises, ranked."
    },
    {
      "name": "estimate_calories",
      "description": "Calories from body weight and duration."
    },
    {
      "name": "map_v1_exercise",
      "description": "v1 exercise id to v2 exercise."
    },
    {
      "name": "generate_workout",
      "description": "One full session with warm-up, sets, reps, rest and cool-down."
    },
    {
      "name": "generate_program",
      "description": "Multi-week program with periodisation and deloads."
    },
    {
      "name": "search_supplements",
      "description": "Supplements with evidence, dosage and timing."
    },
    {
      "name": "get_supplement_stack",
      "description": "Recommended supplement stack for a goal."
    },
    {
      "name": "check_api_key",
      "description": "Plan and remaining quota."
    }
  ],
  "packages": [
    {
      "registryType": "npm",
      "identifier": "workoutx-mcp",
      "version": "2.0.0",
      "transport": {
        "type": "stdio"
      }
    }
  ]
}
