Propusher MCP server

Coach with your AI assistant

The Propusher MCP server lets ChatGPT, Claude, Grok and any other MCP client read and write your exercises, workouts, questionnaires and programs. Describe what you want in plain language — it builds it in your Propusher account.

Server URL

Your AI client opens a browser window where you sign in with your Propusher account (OAuth). From then on it acts as you, inside your own library.

What you can do

Type a request the way you would brief an assistant coach. A few ideas to start with:

  • Build a program

    “Build a 4-week lower-body strength program, three sessions a week, using exercises from my library. Add an easy 30-minute run every Saturday.”

  • Create an exercise with a 3D animation

    “Create a "Bulgarian split squat" exercise for quads and glutes with coaching cues, then animate it with the rear foot on a box. Show me a preview before you save it.”

  • Turn notes into a questionnaire

    “Here are my intake notes: … Turn them into a new-client questionnaire with a pain body map, a 1–10 energy scale and a free-text goals question.”

  • Find and tidy workouts

    “List my workouts with "mobility" in the title and give each one a short description my clients will understand.”

  • Rework a workout

    “Open my "Upper body A" workout, swap the barbell bench press for a dumbbell variation and drop every set to 3 for a deload week.”

  • Schedule check-ins

    “Add my weekly check-in questionnaire to every Sunday at 18:00 in my "Off-season block" program.”

Set it up

The server works with any client that supports remote MCP servers. Pick yours:

ChatGPT

  1. Open the Propusher app in ChatGPT and press Install plugin.
  2. Sign in with your Propusher account and approve access.
  3. In a chat, pick the Propusher app (or just mention Propusher) and ask away.

Claude

  1. On claude.ai open Settings → Connectors and add a custom connector.
  2. Name it Propusher, paste the server URL and save. Claude Desktop uses the same connectors as your claude.ai account.
  3. Press Connect, sign in with your Propusher account and approve access.
  4. In a chat, make sure the Propusher connector is enabled and ask away.

Grok

  1. In Grok find the Plugins section.
  2. Add a custom plugin, name it Propusher and paste the server URL.
  3. Sign in with your Propusher account and approve access.
  4. In a new chat, turn on the Propusher plugin and ask away.

Any other MCP client

  1. Propusher is a remote MCP server over streamable HTTP, with OAuth sign-in.
  2. Add a remote (HTTP) MCP server in your client and paste the server URL.
  3. Your client opens a browser window — sign in with your Propusher account and approve access.
  4. Where exactly the setting lives differs per client — check your client's own documentation.

Tools

Everything the assistant can do in your account. Library content (from the public Propusher library) is read-only; only your own items can be edited.

Exercises

list_exercises
List exercises (id, title, description, muscle groups), optionally filtered by muscle group. Use get_exercise for full data.
get_exercise
Fetch one exercise in full: its variations (the saved prescriptions), its demo videos, and its 3D animation as key poses you can edit and re-save. Works on library exercises too — the quickest way to see the numbers behind a pose that already looks right.
create_exercise
Create an exercise in the coach's library (title, description, muscle groups). It starts with no 3D animation; add one with set_exercise_animation.
update_exercise
Edit one of the coach's own exercises (library exercises are read-only). Every field is optional; only what you send changes. Leaves the exercise's 3D animation alone — that's set_exercise_animation's job.

3D animations

describe_animation_format
The full guide to authoring an exercise 3D animation: scene axes, the 23 joints, the frame format, equipment, and worked examples. Read this before your first call to preview_animation or set_exercise_animation.
preview_animation
Render key poses so you can SEE them, without saving anything. Returns one image per frame (at most 6), in order. Use it to check a pose before set_exercise_animation, and again after any fix.
set_exercise_animation
Save a 3D animation onto one of the coach's own exercises, replacing any it already has. It becomes the exercise thumbnail and plays wherever the exercise appears. Preview it first — this overwrites what is there.

Workouts

list_workouts
List workout templates (id, title, description, duration). Use get_workout for the ordered exercises.
get_workout
Fetch one workout in full, with its ordered exercises (sets, reps, weight, duration).
create_workout
Create a workout template in the coach's library from library/own exercises, in one call. Look up real ids with list_exercises first — invented ids are rejected and nothing is written.
update_workout
Edit one of the coach's own workout templates (library workouts are read-only). Every field is optional; only what you send changes. Sending exercises REPLACES the whole list — send the full set you want, not just the changed ones. Call get_workout first to see the current state. To change one exercise's notes: send every exercise back as { id } from get_workout, with description (or any other field) added on the one that changes.

Questionnaires

list_questionnaires
List questionnaire templates (id, title, question count). Use get_questionnaire for the full question list.
get_questionnaire
Fetch one questionnaire template in full, with its questions.
create_questionnaire
Create a questionnaire template in the coach's library — a form clients fill out (check-ins, intake, RPE, etc).
update_questionnaire
Edit one of the coach's own questionnaires (library questionnaires are read-only). Every field is optional; only what you send changes. Sending inputs REPLACES the whole question list — send the full set you want, not just the changed ones. Echo each unchanged question back with its own _id so it keeps its identity instead of being re-created. Call get_questionnaire first to see the current state.

Programs

list_programs
List multi-week programs (id, title, description). Use get_program for the ordered workouts.
get_program
Fetch one program in full, with its ordered workouts.
create_program
Create a program in the coach's library, with its workouts, in one call. Each slot either reuses an existing workout (workoutId) or defines a new one from library exercises (exercises). Workouts are stored as snapshots inside the program — nothing is added to the coach's workout library. Questionnaires (from list_questionnaires) and activities (a sport or session the client does outside Propusher) can be scheduled onto the same calendar. Look up real ids with list_exercises / list_workouts / list_questionnaires first — invented ids are rejected and nothing is written.
update_program
Edit one of the coach's own programs (library programs are read-only). Every field is optional; only what you send changes. Sending workouts REPLACES the whole calendar — send the full set of slots you want, not just the changed ones. Sending questionnaires REPLACES only the scheduled questionnaires, and sending activities REPLACES only the scheduled activities — the other kind is left untouched. Each workout is a snapshot inside the program; the coach's workout library is never touched. Call get_program first to see the current state.

Frequently asked questions

What can the assistant see?
Only your own library — exercises, workouts, questionnaires and programs — plus the public Propusher library. No client data (names, contacts, logged sessions or results) is shared with it.
Can it change things in my account?
Yes. It acts as you and can create and edit items in your library, so review its work in Propusher before assigning anything to clients. Library items from the public Propusher library are read-only.
How do I disconnect it?
Remove the Propusher connector (or MCP server entry) in your AI client. To cut off access on the Propusher side too, revoke the app under Connected apps on your Propusher account page.
Which clients are supported?
Any client that supports remote MCP servers over streamable HTTP with OAuth — including ChatGPT, Claude and Grok.
Where do I get help?
See the help page or email support@propusher.com.