Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Hyperhuman is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Create, personalize and deliver branded workouts and programs from any AI assistant.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http hyperhuman-mcp https://mcp.hyperhuman.cc/mcp
# 2 — ask your agent for something these tools do
# get_integration_plan, list_sample_workouts, get_workout_details and 42 more
Hyperhuman costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http hyperhuman-mcp https://mcp.hyperhuman.cc/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
45 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| platform | string | no | — |
| use_case | string | no | — |
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 (
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category_id | string | no | — |
| difficulty | string | no | — |
| duration_min | integer | no | — |
| duration_max | integer | no | — |
| locale | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workout_id | string | yes | — |
| locale | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workout_id | string | yes | — |
| locale | string | no | — |
| browse_tool | string | no | — |
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 A
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workout_id | string | no | — |
| program_id | string | no | — |
| sample_type | string | no | — |
| browse_tool | string | no | — |
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| per_page | integer | no | — |
| page | integer | no | — |
| sort_by | string | no | — |
| sort_order | string | no | — |
| search_text | string | no | — |
| locale | string | no | — |
Returns full details of a workout from the team. Use when the user selects a workout or asks for details about a specific workout.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| workout_id | string | yes | — |
| locale | string | no | — |
Returns workout programs (collections) for the authenticated user's team. Use when the user asks to see programs, training plans, or workout collections.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| per_page | integer | no | — |
| page | integer | no | — |
| search_text | string | no | — |
| sort_by | string | no | — |
| sort_order | string | no | — |
| locale | string | no | — |
Returns full details of a workout program from the team. Use when the user selects a program or asks for program structure.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| program_id | string | yes | — |
| locale | string | no | — |
Returns fitness goals available for programs. Use when creating or generating programs to get valid goal IDs.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| locale | string | no | — |
Returns workout categories for workouts. Use when creating or updating workouts to get valid category_ids.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| locale | string | no | — |
Returns muscle groups for exercises. Use when updating exercise metadata or filtering exercises.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| locale | string | no | — |
Returns equipment for exercises. Use when updating exercise metadata or filtering exercises.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| locale | string | no | — |
| category_id | string | no | — |
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.
No parameter schema on file.
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.
No parameter schema on file.
Returns API key usage statistics for the current user's team. Use when the user asks about API usage, request counts, or rate limits.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| granularity | string | no | — |
| start_date | string | no | — |
| end_date | string | no | — |
Returns social drops (videos, covers, copy) for the team. Use when the user asks about drops, social assets, or ready-to-download content.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| per_page | integer | no | — |
| page | integer | no | — |
| status | string | no | — |
| sort_by | string | no | — |
| sort_order | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | — |
| include_youtube_stats | boolean | no | — |
| include_workouts | boolean | no | — |
| include_ai_clips | boolean | no | — |
| days_back | integer | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| source_type | string | yes | — |
| source_id | string | no | — |
| source_ids | array | no | — |
| locale | string | no | — |
| title | string | no | — |
Regenerates AI copy pack (hook, caption, hashtags, CTA) for a drop. Use when the user wants to refresh or improve the social copy.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| drop_id | string | yes | — |
| channel_preset | string | no | — |
Regenerates AI cover image for a drop. Use when the user wants a new cover for the social asset.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| drop_id | string | yes | — |
| aspect_ratio | string | no | — |
| duration | integer | no | — |
| channel_preset | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| drop_id | string | yes | — |
| channel_preset | string | no | — |
| aspect_ratio | string | no | — |
| duration | integer | no | — |
Generates an AI training program using team workouts. Use when the user wants to create a multi-week program from their workout library.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| goal_ids | array | no | — |
| difficulty | string | no | — |
| workouts_per_week | integer | no | — |
| min_weeks | integer | no | — |
| max_weeks | integer | no | — |
| end_user_age | integer | no | — |
| end_user_gender | string | no | — |
| end_user_fitness_levels | array | no | — |
| end_user_goal_ids | array | no | — |
| end_user_training_days_per_week | integer | no | — |
| user_requirements | string | no | — |
| locale | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| name | string | yes | — |
| description | string | no | — |
| difficulty | string | no | — |
| visibility | string | no | — |
| category_ids | array | no | — |
| exercise_map | array | no | — |
| instances | array | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| workout_id | string | yes | — |
| name | string | no | — |
| description | string | no | — |
| difficulty | string | no | — |
| visibility | string | no | — |
| category_ids | array | no | — |
| instances | array | no | — |
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| name | string | yes | — |
| description | string | no | — |
| visibility | string | no | — |
| difficulty | string | no | — |
| goal_ids | array | no | — |
| duration_in_weeks | integer | no | — |
| workouts_per_week | integer | no | — |
| workout_ids | array | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| program_id | string | yes | — |
| name | string | no | — |
| description | string | no | — |
| visibility | string | no | — |
| difficulty | string | no | — |
| goal_ids | array | no | — |
| workout_ids | array | no | — |
| duration_in_weeks | integer | no | — |
| workouts_per_week | integer | no | — |
Updates an exercise group. Use when the user wants to change name, exercises, rounds, or rest time.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| group_id | string | yes | — |
| name | string | no | — |
| exercise_ids | array | no | — |
| group_type | string | no | — |
| rounds | integer | no | — |
| rest_seconds | integer | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| exercise_id | string | yes | — |
| name | string | no | — |
| muscle_group_ids | array | no | — |
| category_ids | array | no | — |
| equipment_ids | array | no | — |
| skill_level | string | no | — |
Returns platform stock programs (publisher programs). Use when the user wants to browse or clone stock programs.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| per_page | integer | no | — |
| page | integer | no | — |
| search_text | string | no | — |
| sort_by | string | no | — |
| sort_order | string | no | — |
| duration_in_weeks | integer | no | — |
| workouts_per_week | integer | no | — |
| difficulties | array | no | — |
| goal_ids | array | no | — |
| locale | string | no | — |
Clones stock programs to the user's team. Use when the user wants to add publisher programs to their library.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| program_ids | array | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| drop_id | string | yes | — |
| title | string | no | — |
| channel_preset | string | no | — |
Returns exercises from the team library. Use when the user wants to browse exercises, find exercises for workouts, or manage the library.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| per_page | integer | no | — |
| page | integer | no | — |
| search_text | string | no | — |
| availability | string | no | — |
| muscle_group_ids | array | no | — |
| equipment_ids | array | no | — |
| coach | string | no | — |
| skill_level | string | no | — |
| categories | array | no | — |
| collection_names | array | no | — |
| locale | string | no | — |
Returns full details of an exercise from the team library. Use when the user selects an exercise or asks for exercise details.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| exercise_id | string | yes | — |
| locale | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| exercise_id | string | yes | — |
| time_based | boolean | yes | — |
| duration_seconds | integer | no | — |
| reps | integer | no | — |
| pace | string | no | — |
| weight_level | string | no | — |
| rpe | integer | no | — |
| skip_intro | boolean | no | — |
| amrap | boolean | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| duration_seconds | integer | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| name | string | yes | — |
| exercise_ids | array | yes | — |
| group_type | string | no | — |
| rounds | integer | no | — |
| rest_seconds | integer | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| exercise_id | string | yes | — |
| trainer_image_url | string | no | — |
| trainer_image_id | string | no | — |
| exercise_description | string | no | — |
| exercise_type | string | no | — |
| target_muscles | array | no | — |
| equipment | array | no | — |
| user_requirements | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | — |
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| category_id | string | yes | — |
| duration_min | integer | no | — |
| duration_max | integer | no | — |
| difficulty | string | no | — |
| end_user_age | integer | no | — |
| end_user_gender | string | no | — |
| end_user_fitness_levels | array | no | — |
| end_user_goal_ids | array | no | — |
| exercise_sources | array | no | — |
| user_requirements | string | no | — |
| locale | string | no | — |
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| limit | integer | no | — |
| end_user_age | integer | no | — |
| end_user_gender | string | no | — |
| end_user_fitness_levels | array | no | — |
| end_user_goal_ids | array | no | — |
| locale | string | no | — |
Adapts an existing workout for a user profile. Use when the user wants to customize a workout (duration, difficulty, equipment) without generating from scratch.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| workout_id | string | yes | — |
| end_user_age | integer | no | — |
| end_user_gender | string | no | — |
| end_user_fitness_levels | array | no | — |
| duration_min | integer | no | — |
| duration_max | integer | no | — |
| user_requirements | string | no | — |
| locale | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| limit | integer | no | — |
| end_user_age | integer | no | — |
| end_user_gender | string | no | — |
| end_user_fitness_levels | array | no | — |
| end_user_goal_ids | array | no | — |
| locale | string | no | — |
Adapts an existing program for a user profile. Use when the user wants to customize a program.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| team_id | string | no | — |
| plan_id | string | yes | — |
| end_user_age | integer | no | — |
| end_user_gender | string | no | — |
| end_user_fitness_levels | array | no | — |
| min_weeks | integer | no | — |
| max_weeks | integer | no | — |
| workouts_per_week | integer | no | — |
| user_requirements | string | no | — |
| locale | string | no | — |
Returns MCP server readiness status with a fixed ready message. Use when the user asks if the Hyperhuman app is working, reachable, or connected.
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Hyperhuman or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| get_integration_plan | no tags | |
| list_sample_workouts | no tags | |
| get_workout_details | no tags | |
| get_workout_playlist | no tags | |
| get_embed_code_samples | no tags | |
| list_team_workouts | no tags | |
| get_team_workout | no tags | |
| list_team_programs | no tags | |
| get_team_program | no tags | |
| list_team_goals | no tags | |
| list_workout_categories | no tags | |
| list_muscle_groups | no tags | |
| list_equipment | no tags | |
| get_team_usage | no tags | |
| get_session_summary | no tags | |
| get_api_usage_stats | no tags | |
| list_team_drops | untrusted-input | untrusted-input: keyword "download" |
| get_dashboard_summary | untrusted-input | untrusted-input: keyword "download" |
| create_drop | state-write | state-write: declares readOnlyHint: false |
| regenerate_drop_copy | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| regenerate_drop_cover | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| export_drop | untrusted-inputstate-write | untrusted-input: keyword "download"; state-write: declares readOnlyHint: false |
| generate_program | state-write | state-write: declares readOnlyHint: false |
| create_workout | state-write | state-write: declares readOnlyHint: false |
| update_workout | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| create_program | state-write | state-write: declares readOnlyHint: false |
| update_program | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| update_exercise_group | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| update_exercise_metadata | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| list_stock_programs | untrusted-input | untrusted-input: keyword "browse" |
| clone_stock_programs | state-write | state-write: declares readOnlyHint: false |
| update_drop | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| list_team_exercises | untrusted-input | untrusted-input: keyword "browse" |
| get_team_exercise | no tags | |
| create_exercise_instance | state-write | state-write: declares readOnlyHint: false |
| create_rest_instance | state-write | state-write: declares readOnlyHint: false |
| create_exercise_group | state-write | state-write: declares readOnlyHint: false |
| generate_video_clip | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| get_video_generation_status | no tags | |
| generate_workout | state-write | state-write: declares readOnlyHint: false |
| recommend_workouts | no tags | |
| adapt_workout | state-write | state-write: declares readOnlyHint: false |
| recommend_plans | no tags | |
| adapt_plan | state-write | state-write: declares readOnlyHint: false |
| health_check | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.1.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Hyperhuman can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.