Koskamo

Hyperhuman MCP

An official Model Context Protocol server provided by Hyperhuman that enables AI assistants like Claude and Cursor to interact with Hyperhuman's fitness content infrastructure. It allows users to create, personalize, and deliver branded workouts and programs via API integration.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Hyperhuman MCP logo, by HyperhumanVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Hyperhuman
MCP endpoint (Streamable HTTP)
https://mcp.hyperhuman.cc/mcp
Vendor documentation

What you can do with it

  • Create personalized workout programs
  • Deliver branded fitness content
  • Integrate fitness APIs into AI agents

Source and maintenance

Vendor evidenceRegistry 0.1.0

Protocol and capabilities

Server
hyperhuman 0.1.0
MCP protocol
2025-06-18
Tools
45 advertised
Resources
1 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {},
  "resources": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Hyperhuman is fitness content infrastructure: browse sample and team workouts, build and update workouts and programs, adapt sessions for a member, create social drops, and get embed or Content API snippets. Guest tools work without sign-in: health_check, list_sample_workouts, get_integration_plan, get_embed_code_samples, and get_workout_details or get_workout_playlist for sample-* ids. list_sample_workouts returns curated samples for guests (isSampleLibrary) and the connected team's workouts after sign-in. Team tools (list_team_workouts, create_workout, drops and similar) need Hyperhuman sign-in. When one returns an auth challenge, the user connects their account; team data is never available without it. Embed and integration snippets use YOUR_ORG_ID and YOUR_API_KEY placeholders only; real API keys and passwords are never returned. Plans and billing are managed at team.hyperhuman.cc; no purchases happen through these tools. health_check confirms the server is reachable.

Tools

45 advertised

get_integration_plan — Get integration plan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns an integration strategy and step-by-step plan for Hyperhuman workouts or programs: embed (iframe), stream videos (VOD export), or custom player (API + playlist). Use when the user asks how to integrate Hyperhuman or what integration options exist. Pass platform (web/mobile/hardware/cms) and use_case (mvp, programs, ai_generated, corporate_wellness, vod, etc.). Not for copy-paste embed HTML snippets (use get_embed_code_samples for those).

get_integration_plan input schema
{
  "type": "object",
  "properties": {
    "platform": {
      "enum": [
        "web",
        "mobile",
        "hardware",
        "cms"
      ],
      "type": "string",
      "default": "web"
    },
    "use_case": {
      "type": "string",
      "default": "mvp"
    }
  },
  "additionalProperties": false
}
get_integration_plan output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_integration_plan annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_sample_workouts — List sample workouts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns a workout carousel for sample-workout prompts. When the user is connected via OAuth, lists up to 8 team workouts through the Internal API (Bearer token only — no Content API key required). When not connected, returns up to 6 curated guest samples with embedDemoUrl. Use when the user asks for sample workouts, a workout carousel, or embed demo preview. Not for full team-library admin views (use list_team_workouts), integration plans (use get_integration_plan), or copy-paste embed HTML (use get_embed_code_samples).

list_sample_workouts input schema
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string"
    },
    "difficulty": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "category_id": {
      "type": "string"
    },
    "duration_max": {
      "type": "integer",
      "maximum": 120,
      "minimum": 5
    },
    "duration_min": {
      "type": "integer",
      "maximum": 120,
      "minimum": 5
    }
  },
  "description": "Filters for sample workouts. If both duration_min and duration_max are set, duration_min must be <= duration_max.",
  "additionalProperties": false
}
list_sample_workouts output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_sample_workouts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_workout_details — Get workout details
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns workout metadata, preview assets, and summary. Use when the user selects a workout or asks for details about a specific workout. sample-* ids return a curated sample detail (no auth). Connected team workout ids use the Internal API (same data as get_team_workout). Other org ids use the Content API when the team has API entitlement.

get_workout_details input schema
{
  "type": "object",
  "required": [
    "workout_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "workout_id": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
get_workout_details output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_workout_details annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_workout_playlist — Get workout playlist
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns playlist segments with timing and media pointers (progressive MP4/M4A URLs, typically ~7 days). sample-* ids return a curated sample playlist (no auth, no live media URLs). Connected org ids use the Content API when the team has API entitlement. Use when the user wants to see the segment structure or how to play a workout.

get_workout_playlist input schema
{
  "type": "object",
  "required": [
    "workout_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "workout_id": {
      "type": "string",
      "minLength": 1
    },
    "browse_tool": {
      "enum": [
        "list_team_workouts",
        "list_sample_workouts",
        "list_team_programs",
        "list_team_exercises",
        "list_team_drops"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_workout_playlist output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_workout_playlist annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_embed_code_samples — Get embed code samples
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns static copy-paste code templates for workout embeds (keyHandshake iframe), program page embeds, custom player JavaScript, or Content API cURL snippets. All samples contain only placeholder values (YOUR_ORG_ID, YOUR_API_KEY) — no real credentials are fetched or transmitted. Defaults sample_type to embed_prebuilt when omitted. Primary tool when the user asks for embed code, iframe HTML, or API snippet examples. Not for integration strategy or step-by-step plans (use get_integration_plan).

get_embed_code_samples input schema
{
  "type": "object",
  "properties": {
    "program_id": {
      "type": "string"
    },
    "workout_id": {
      "type": "string"
    },
    "browse_tool": {
      "enum": [
        "list_team_workouts",
        "list_sample_workouts",
        "list_team_programs",
        "list_team_exercises",
        "list_team_drops"
      ],
      "type": "string"
    },
    "sample_type": {
      "enum": [
        "embed_prebuilt",
        "embed_ai_generated",
        "custom_progress",
        "custom_navigation",
        "custom_integration_flow",
        "content_api_list_plans",
        "content_api_list_workouts",
        "content_api_list_groups",
        "embed_program_page",
        "content_api_plan_workouts"
      ],
      "type": "string",
      "default": "embed_prebuilt"
    }
  },
  "additionalProperties": false
}
get_embed_code_samples output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_embed_code_samples annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_team_workouts — List team workouts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns workouts for the authenticated user's team via Internal API. Use when the user asks to see my team's workouts, my team workouts, or their organization workout library. Requires OAuth. Not for curated sample workouts or guest embed demo (use list_sample_workouts).

list_team_workouts input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "locale": {
      "type": "string"
    },
    "sort_by": {
      "enum": [
        "duration",
        "updatedAt",
        "name",
        "difficulty",
        "visibility"
      ],
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "per_page": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "sort_order": {
      "enum": [
        "ascend",
        "descend"
      ],
      "type": "string"
    },
    "search_text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_team_workouts output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_team_workouts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_team_workout — Get team workout
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns full details of a workout from the team. Use when the user selects a workout or asks for details about a specific workout.

get_team_workout input schema
{
  "type": "object",
  "required": [
    "workout_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "workout_id": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
get_team_workout output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_team_workout annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_team_programs — List team programs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns workout programs (collections) for the authenticated user's team. Use when the user asks to see programs, training plans, or workout collections.

list_team_programs input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "locale": {
      "type": "string"
    },
    "sort_by": {
      "enum": [
        "name",
        "updatedAt",
        "durationInWeeks",
        "workoutsPerWeek",
        "difficulty"
      ],
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "per_page": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "sort_order": {
      "enum": [
        "ascend",
        "descend"
      ],
      "type": "string"
    },
    "search_text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_team_programs output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_team_programs annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_team_program — Get team program
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns full details of a workout program from the team. Use when the user selects a program or asks for program structure.

get_team_program input schema
{
  "type": "object",
  "required": [
    "program_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "program_id": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
get_team_program output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_team_program annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_team_goals — List team goals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns fitness goals available for programs. Use when creating or generating programs to get valid goal IDs.

list_team_goals input schema
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_team_goals output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_team_goals annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_workout_categories — List workout categories
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns workout categories for workouts. Use when creating or updating workouts to get valid category_ids.

list_workout_categories input schema
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_workout_categories output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_workout_categories annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_muscle_groups — List muscle groups
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns muscle groups for exercises. Use when updating exercise metadata or filtering exercises.

list_muscle_groups input schema
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_muscle_groups output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_muscle_groups annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_equipment — List equipment
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns equipment for exercises. Use when updating exercise metadata or filtering exercises.

list_equipment input schema
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string"
    },
    "category_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_equipment output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_equipment annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_team_usage — Get team usage
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns usage quotas for the authenticated team (e.g. social drop export count and limits). Use when the user asks about usage, quotas, or limits.

get_team_usage input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_team_usage output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_team_usage annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_session_summary — Get session summary
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns team name, plan label, and usage limits for the connected account. Use only when the user explicitly asks about their team, plan, or usage quotas.

get_session_summary input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_session_summary output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_session_summary annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_api_usage_stats — Get API usage stats
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns API key usage statistics for the current user's team. Use when the user asks about API usage, request counts, or rate limits.

get_api_usage_stats input schema
{
  "type": "object",
  "properties": {
    "end_date": {
      "type": "string"
    },
    "start_date": {
      "type": "string"
    },
    "granularity": {
      "enum": [
        "hourly",
        "daily"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_api_usage_stats output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_api_usage_stats annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_team_drops — List team drops
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns social drops (videos, covers, copy) for the team. Use when the user asks about drops, social assets, or ready-to-download content.

list_team_drops input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "status": {
      "type": "string"
    },
    "sort_by": {
      "enum": [
        "updatedAt",
        "createdAt",
        "status"
      ],
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "per_page": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "sort_order": {
      "enum": [
        "ascend",
        "descend"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_team_drops output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_team_drops annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_dashboard_summary — Get dashboard summary
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns dashboard summary: latest created workouts with stats and ready-to-download items. Use when the user asks about dashboard, recent workouts, or content ready for download.

get_dashboard_summary input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1
    },
    "days_back": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1
    },
    "include_ai_clips": {
      "type": "boolean"
    },
    "include_workouts": {
      "type": "boolean"
    },
    "include_youtube_stats": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
get_dashboard_summary output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_dashboard_summary annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
create_drop — Create drop
Advertised by the server during the last successful anonymous check.

Creates a social drop from an exercise, exercise group, workout, or program. Use when the user wants to create social media content from existing content.

create_drop input schema
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "source_id"
      ]
    },
    {
      "required": [
        "source_ids"
      ],
      "properties": {
        "source_ids": {
          "minItems": 1
        }
      }
    }
  ],
  "required": [
    "source_type"
  ],
  "properties": {
    "title": {
      "type": "string"
    },
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "source_id": {
      "type": "string"
    },
    "source_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 7
    },
    "source_type": {
      "enum": [
        "exercise",
        "exerciseCollection",
        "workout",
        "workoutCollection"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
create_drop output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
create_drop annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
regenerate_drop_copy — Regenerate drop copy
Advertised by the server during the last successful anonymous check.
Advertised destructive

Regenerates AI copy pack (hook, caption, hashtags, CTA) for a drop. Use when the user wants to refresh or improve the social copy.

regenerate_drop_copy input schema
{
  "type": "object",
  "required": [
    "drop_id"
  ],
  "properties": {
    "drop_id": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "channel_preset": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
regenerate_drop_copy output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
regenerate_drop_copy annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
regenerate_drop_cover — Regenerate drop cover
Advertised by the server during the last successful anonymous check.
Advertised destructive

Regenerates AI cover image for a drop. Use when the user wants a new cover for the social asset.

regenerate_drop_cover input schema
{
  "type": "object",
  "required": [
    "drop_id"
  ],
  "properties": {
    "drop_id": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "duration": {
      "type": "integer",
      "maximum": 60,
      "minimum": 15
    },
    "aspect_ratio": {
      "enum": [
        "9:16",
        "1:1",
        "16:9"
      ],
      "type": "string"
    },
    "channel_preset": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
regenerate_drop_cover output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
regenerate_drop_cover annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
export_drop — Export drop
Advertised by the server during the last successful anonymous check.

Exports drop assets for a channel (video URL, cover URL, copy pack). Use when the user wants to download assets or prepare a drop for external publishing.

export_drop input schema
{
  "type": "object",
  "required": [
    "drop_id"
  ],
  "properties": {
    "drop_id": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "duration": {
      "type": "integer",
      "maximum": 60,
      "minimum": 15
    },
    "aspect_ratio": {
      "enum": [
        "9:16",
        "1:1",
        "16:9"
      ],
      "type": "string"
    },
    "channel_preset": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
export_drop output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
export_drop annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
generate_program — Generate program
Advertised by the server during the last successful anonymous check.

Generates an AI training program using team workouts. Use when the user wants to create a multi-week program from their workout library.

generate_program input schema
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "max_weeks": {
      "type": "integer",
      "maximum": 24,
      "minimum": 1
    },
    "min_weeks": {
      "type": "integer",
      "maximum": 24,
      "minimum": 1
    },
    "difficulty": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "end_user_age": {
      "type": "integer",
      "maximum": 100,
      "minimum": 16
    },
    "end_user_gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "end_user_goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "user_requirements": {
      "type": "string",
      "maxLength": 2000
    },
    "workouts_per_week": {
      "type": "integer",
      "maximum": 7,
      "minimum": 1
    },
    "end_user_fitness_levels": {
      "type": "array",
      "items": {
        "enum": [
          "beginner",
          "intermediate",
          "advanced"
        ],
        "type": "string"
      }
    },
    "end_user_training_days_per_week": {
      "type": "integer",
      "maximum": 7,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
generate_program output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
generate_program annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
create_workout — Create workout
Advertised by the server during the last successful anonymous check.

Creates a workout from exercise and rest instances. Use when the user wants to build a custom workout. Provide either exercise_map (ordered array of instance IDs from create_exercise_instance and create_rest_instance) or instances (raw instance objects). Workout cannot start or end with rest.

create_workout input schema
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "exercise_map"
      ]
    },
    {
      "required": [
        "instances"
      ]
    }
  ],
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "instances": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": {}
      }
    },
    "difficulty": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "visibility": {
      "enum": [
        "public",
        "private"
      ],
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "category_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "exercise_map": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "instance_id"
        ],
        "properties": {
          "instance_id": {
            "type": "string",
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    }
  },
  "additionalProperties": false
}
create_workout output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
create_workout annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
update_workout — Update workout
Advertised by the server during the last successful anonymous check.
Advertised destructive

Updates an existing workout. Use when the user wants to change workout name, description, difficulty, visibility, or exercise structure. When only partial fields are provided (e.g. name), the current workout data is fetched and merged automatically.

update_workout input schema
{
  "type": "object",
  "required": [
    "workout_id"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "instances": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": {}
      }
    },
    "difficulty": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "visibility": {
      "enum": [
        "public",
        "private"
      ],
      "type": "string"
    },
    "workout_id": {
      "type": "string",
      "minLength": 1
    },
    "description": {
      "type": "string"
    },
    "category_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
update_workout output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
update_workout annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
create_program — Create program
Advertised by the server during the last successful anonymous check.

Creates a workout program from team workouts. Use when the user wants to organize workouts into a multi-week program. Requires goal_ids (1-2) and workout_ids (min 2).

create_program input schema
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 2,
      "minItems": 1
    },
    "difficulty": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "visibility": {
      "enum": [
        "public",
        "private"
      ],
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "workout_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2
    },
    "duration_in_weeks": {
      "type": "integer",
      "maximum": 52,
      "minimum": 1
    },
    "workouts_per_week": {
      "type": "integer",
      "maximum": 7,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
create_program output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
create_program annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
update_program — Update program
Advertised by the server during the last successful anonymous check.
Advertised destructive

Updates an existing program. Use when the user wants to set duration, workouts per week, or edit program metadata. When updating, provide full program data (goal_ids, workout_ids, visibility, difficulty) from get_team_program and merge your changes.

update_program input schema
{
  "type": "object",
  "required": [
    "program_id"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 2,
      "minItems": 1
    },
    "difficulty": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "program_id": {
      "type": "string",
      "minLength": 1
    },
    "visibility": {
      "enum": [
        "public",
        "private"
      ],
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "workout_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2
    },
    "duration_in_weeks": {
      "type": "integer",
      "maximum": 52,
      "minimum": 1
    },
    "workouts_per_week": {
      "type": "integer",
      "maximum": 7,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
update_program output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
update_program annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
update_exercise_group — Update exercise group
Advertised by the server during the last successful anonymous check.
Advertised destructive

Updates an exercise group. Use when the user wants to change name, exercises, rounds, or rest time.

update_exercise_group input schema
{
  "type": "object",
  "required": [
    "group_id"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "rounds": {
      "type": "integer",
      "minimum": 1
    },
    "team_id": {
      "type": "string"
    },
    "group_id": {
      "type": "string",
      "minLength": 1
    },
    "group_type": {
      "enum": [
        "circuit",
        "sets"
      ],
      "type": "string"
    },
    "exercise_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rest_seconds": {
      "type": "integer",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
update_exercise_group output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
update_exercise_group annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
update_exercise_metadata — Update exercise metadata
Advertised by the server during the last successful anonymous check.
Advertised destructive

Updates exercise metadata (name, muscle groups, categories, equipment, skill level). Use when the user wants to fix or improve exercise tagging. Only team-owned exercises can be updated; stock exercises are read-only. Provide at least one field to update besides exercise_id.

update_exercise_metadata input schema
{
  "type": "object",
  "required": [
    "exercise_id"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "exercise_id": {
      "type": "string",
      "minLength": 1
    },
    "skill_level": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "category_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "equipment_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "muscle_group_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
update_exercise_metadata output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
update_exercise_metadata annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
list_stock_programs — List stock programs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns platform stock programs (publisher programs). Use when the user wants to browse or clone stock programs.

list_stock_programs input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "locale": {
      "type": "string"
    },
    "sort_by": {
      "enum": [
        "name",
        "createdAt",
        "updatedAt",
        "durationInWeeks",
        "workoutsPerWeek",
        "difficulty"
      ],
      "type": "string"
    },
    "goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "per_page": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "sort_order": {
      "enum": [
        "ascend",
        "descend"
      ],
      "type": "string"
    },
    "search_text": {
      "type": "string"
    },
    "difficulties": {
      "type": "array",
      "items": {
        "enum": [
          "beginner",
          "intermediate",
          "advanced"
        ],
        "type": "string"
      }
    },
    "duration_in_weeks": {
      "type": "integer"
    },
    "workouts_per_week": {
      "type": "integer"
    }
  },
  "additionalProperties": false
}
list_stock_programs output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_stock_programs annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
clone_stock_programs — Clone stock programs
Advertised by the server during the last successful anonymous check.

Clones stock programs to the user's team. Use when the user wants to add publisher programs to their library.

clone_stock_programs input schema
{
  "type": "object",
  "required": [
    "program_ids"
  ],
  "properties": {
    "program_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "minItems": 1
    }
  },
  "additionalProperties": false
}
clone_stock_programs output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
clone_stock_programs annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
update_drop — Update drop
Advertised by the server during the last successful anonymous check.
Advertised destructive

Updates a drop title or channel preset. Use when the user wants to change drop display title or default export channel. For copy changes use regenerate_drop_copy.

update_drop input schema
{
  "type": "object",
  "required": [
    "drop_id"
  ],
  "properties": {
    "title": {
      "type": "string"
    },
    "drop_id": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "channel_preset": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
update_drop output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
update_drop annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
list_team_exercises — List team exercises
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns exercises from the team library. Use when the user wants to browse exercises, find exercises for workouts, or manage the library.

list_team_exercises input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "coach": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "per_page": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "search_text": {
      "type": "string"
    },
    "skill_level": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "availability": {
      "enum": [
        "all",
        "team",
        "free-stock",
        "premium-stock",
        "all-stock"
      ],
      "type": "string"
    },
    "equipment_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "collection_names": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "muscle_group_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
list_team_exercises output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
list_team_exercises annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_team_exercise — Get team exercise
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns full details of an exercise from the team library. Use when the user selects an exercise or asks for exercise details.

get_team_exercise input schema
{
  "type": "object",
  "required": [
    "exercise_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "exercise_id": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
get_team_exercise output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_team_exercise annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
create_exercise_instance — Create exercise instance
Advertised by the server during the last successful anonymous check.

Creates an exercise instance with duration/reps, pace, weight, RPE. Use when building a workout manually - create instances for each exercise, then pass instance IDs to create_workout. Stock and team exercises can be used directly via exercise_id.

create_exercise_instance input schema
{
  "if": {
    "required": [
      "time_based"
    ],
    "properties": {
      "time_based": {
        "const": true
      }
    }
  },
  "else": {
    "required": [
      "reps"
    ]
  },
  "then": {
    "required": [
      "duration_seconds"
    ]
  },
  "type": "object",
  "required": [
    "exercise_id",
    "time_based"
  ],
  "properties": {
    "rpe": {
      "type": "integer",
      "maximum": 10,
      "minimum": 0
    },
    "pace": {
      "enum": [
        "slow",
        "normal",
        "fast"
      ],
      "type": "string"
    },
    "reps": {
      "type": "integer",
      "minimum": 1
    },
    "amrap": {
      "type": "boolean"
    },
    "team_id": {
      "type": "string"
    },
    "skip_intro": {
      "type": "boolean"
    },
    "time_based": {
      "type": "boolean"
    },
    "exercise_id": {
      "type": "string",
      "minLength": 1
    },
    "weight_level": {
      "enum": [
        "light",
        "medium",
        "heavy"
      ],
      "type": "string"
    },
    "duration_seconds": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false
}
create_exercise_instance output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
create_exercise_instance annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
create_rest_instance — Create rest instance
Advertised by the server during the last successful anonymous check.

Creates a rest/break instance for use between exercises in a workout. Use when building a workout manually - create rest instances, then include their IDs in create_workout exercise_map. Workout cannot start or end with rest.

create_rest_instance input schema
{
  "type": "object",
  "required": [
    "duration_seconds"
  ],
  "properties": {
    "team_id": {
      "type": "string"
    },
    "duration_seconds": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false
}
create_rest_instance output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
create_rest_instance annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
create_exercise_group — Create exercise group
Advertised by the server during the last successful anonymous check.

Creates an exercise group (circuit or sets). Use when the user wants to group exercises for circuits or micro-workouts. Requires at least 2 exercise IDs.

create_exercise_group input schema
{
  "type": "object",
  "required": [
    "name",
    "exercise_ids"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "rounds": {
      "type": "integer",
      "minimum": 1
    },
    "team_id": {
      "type": "string"
    },
    "group_type": {
      "enum": [
        "circuit",
        "sets"
      ],
      "type": "string"
    },
    "exercise_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2
    },
    "rest_seconds": {
      "type": "integer",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
create_exercise_group output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
create_exercise_group annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
generate_video_clip — Generate video clip
Advertised by the server during the last successful anonymous check.
Open-world

Generates an AI exercise video from a trainer photo (CloneMotion). Use when the user wants to create exercise videos without filming. Before calling, ensure you have the target exercise and image source (upload URL or saved trainer image ID); optionally ask for specific video requirements. Accepts trainer_image_url (HTTP URL or data:image/... base64) or trainer_image_id from Workout Defaults.

generate_video_clip input schema
{
  "type": "object",
  "required": [
    "exercise_id"
  ],
  "properties": {
    "team_id": {
      "type": "string"
    },
    "equipment": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "exercise_id": {
      "type": "string",
      "minLength": 1
    },
    "exercise_type": {
      "type": "string"
    },
    "target_muscles": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "trainer_image_id": {
      "type": "string"
    },
    "trainer_image_url": {
      "type": "string",
      "pattern": "^(https?:\\/\\/|data:image\\/).+"
    },
    "user_requirements": {
      "type": "string",
      "maxLength": 2000
    },
    "exercise_description": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
generate_video_clip output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
generate_video_clip annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "destructiveHint": false
}
get_video_generation_status — Get video generation status
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns status and result of a CloneMotion video generation job. Use when the user wants to check if a generated video is ready or view the generated variants. Generation can take a few minutes; if status is pending or running, ask the user to check again after waiting.

get_video_generation_status input schema
{
  "type": "object",
  "required": [
    "job_id"
  ],
  "properties": {
    "job_id": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
get_video_generation_status output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_video_generation_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
generate_workout — Generate workout
Advertised by the server during the last successful anonymous check.

Generates an AI workout via Content API. Use when the user wants to create a personalized workout on-the-fly. Returns workout structure (not persisted to team library by default).

generate_workout input schema
{
  "type": "object",
  "required": [
    "category_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "difficulty": {
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string"
    },
    "category_id": {
      "type": "string",
      "minLength": 1
    },
    "duration_max": {
      "type": "integer",
      "maximum": 90,
      "minimum": 10
    },
    "duration_min": {
      "type": "integer",
      "maximum": 90,
      "minimum": 10
    },
    "end_user_age": {
      "type": "integer",
      "maximum": 100,
      "minimum": 16
    },
    "end_user_gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "exercise_sources": {
      "type": "array",
      "items": {
        "enum": [
          "premium_stock",
          "free_stock",
          "team_exercises"
        ],
        "type": "string"
      }
    },
    "end_user_goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "user_requirements": {
      "type": "string",
      "maxLength": 2000
    },
    "end_user_fitness_levels": {
      "type": "array",
      "items": {
        "enum": [
          "beginner",
          "intermediate",
          "advanced"
        ],
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
generate_workout output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
generate_workout annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
recommend_workouts — Recommend workouts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns ranked workout recommendations from the organization library (up to 12 workouts in the tool response; optional limit up to 20 is sent to the API). Use when the user wants instant suggestions based on profile (faster than generate).

recommend_workouts input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1
    },
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "end_user_age": {
      "type": "integer",
      "maximum": 100,
      "minimum": 16
    },
    "end_user_gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "end_user_goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "end_user_fitness_levels": {
      "type": "array",
      "items": {
        "enum": [
          "beginner",
          "intermediate",
          "advanced"
        ],
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
recommend_workouts output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
recommend_workouts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
adapt_workout — Adapt workout
Advertised by the server during the last successful anonymous check.

Adapts an existing workout for a user profile. Use when the user wants to customize a workout (duration, difficulty, equipment) without generating from scratch.

adapt_workout input schema
{
  "type": "object",
  "required": [
    "workout_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "workout_id": {
      "type": "string",
      "minLength": 1
    },
    "duration_max": {
      "type": "integer",
      "maximum": 90,
      "minimum": 10
    },
    "duration_min": {
      "type": "integer",
      "maximum": 90,
      "minimum": 10
    },
    "end_user_age": {
      "type": "integer",
      "maximum": 100,
      "minimum": 16
    },
    "end_user_gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "user_requirements": {
      "type": "string",
      "maxLength": 2000
    },
    "end_user_fitness_levels": {
      "type": "array",
      "items": {
        "enum": [
          "beginner",
          "intermediate",
          "advanced"
        ],
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
adapt_workout output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
adapt_workout annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
recommend_plans — Recommend plans
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns ranked program recommendations from the organization library (up to 12 programs in the tool response; optional limit up to 20 is sent to the API). Use when the user wants instant program suggestions.

recommend_plans input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1
    },
    "locale": {
      "type": "string"
    },
    "team_id": {
      "type": "string"
    },
    "end_user_age": {
      "type": "integer",
      "maximum": 100,
      "minimum": 16
    },
    "end_user_gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "end_user_goal_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "end_user_fitness_levels": {
      "type": "array",
      "items": {
        "enum": [
          "beginner",
          "intermediate",
          "advanced"
        ],
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
recommend_plans output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
recommend_plans annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
adapt_plan — Adapt plan
Advertised by the server during the last successful anonymous check.

Adapts an existing program for a user profile. Use when the user wants to customize a program.

adapt_plan input schema
{
  "type": "object",
  "required": [
    "plan_id"
  ],
  "properties": {
    "locale": {
      "type": "string"
    },
    "plan_id": {
      "type": "string",
      "minLength": 1
    },
    "team_id": {
      "type": "string"
    },
    "max_weeks": {
      "type": "integer",
      "maximum": 52,
      "minimum": 1
    },
    "min_weeks": {
      "type": "integer",
      "maximum": 52,
      "minimum": 1
    },
    "end_user_age": {
      "type": "integer",
      "maximum": 100,
      "minimum": 16
    },
    "end_user_gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "user_requirements": {
      "type": "string",
      "maxLength": 2000
    },
    "workouts_per_week": {
      "type": "integer",
      "maximum": 7,
      "minimum": 1
    },
    "end_user_fitness_levels": {
      "type": "array",
      "items": {
        "enum": [
          "beginner",
          "intermediate",
          "advanced"
        ],
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
adapt_plan output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
adapt_plan annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
health_check — Health check
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns MCP server readiness status with a fixed ready message. Use when the user asks if the Hyperhuman app is working, reachable, or connected.

health_check input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
health_check output schema
{
  "type": "object",
  "required": [
    "_viewType"
  ],
  "properties": {
    "_viewType": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
health_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

Hyperhuman ChatGPT app widget

Advertised by the server during the last successful anonymous check.

Interactive UI for Hyperhuman team content, workouts, programs, and developer integration outputs

Hyperhuman ChatGPT app widget URI
ui://widget/hyperhuman-app.html

MIME type: text/html;profile=mcp-app

Hyperhuman ChatGPT app widget template

Advertised by the server during the last successful anonymous check.

Interactive UI for Hyperhuman team content, workouts, programs, and developer integration outputs

Hyperhuman ChatGPT app widget template URI template
ui://widget/hyperhuman-app.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
678 ms
95th percentile latency
678 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 678 ms · metadata changed · 45 tool(s), 1 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http hyperhuman-mcp https://mcp.hyperhuman.cc/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add hyperhuman-mcp --url https://mcp.hyperhuman.cc/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable hyperhuman-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "hyperhuman-mcp": {
      "url": "https://mcp.hyperhuman.cc/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "hyperhuman-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.hyperhuman.cc/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start hyperhuman-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "hyperhuman-mcp": {
      "type": "http",
      "url": "https://mcp.hyperhuman.cc/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http hyperhuman-mcp https://mcp.hyperhuman.cc/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "hyperhuman-mcp": {
      "url": "https://mcp.hyperhuman.cc/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "hyperhuman-mcp": {
      "serverUrl": "https://mcp.hyperhuman.cc/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Hyperhuman MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Hyperhuman MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing