ExerciseBank MCP server
net.exercisebank/exercisebank-mcp·v0.1.1Search 1,492 filmed exercises by muscle, equipment, pattern and joints to avoid; get substitutes.
0 stars42 downloads/wk
Reviews
Write oneNobody has reviewed ExerciseBank yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
ExerciseBank tools (5)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
get_exerciseThe full record for one exercise id: description, coaching cues, French, classification, which media exists.
get_media_urlsShort-lived signed URLs (video clip and still) for up to 50 exercise ids, issued for the person named in EB_END_USER. They expire, 15 minutes by default: show them now, store exercise ids. A sandbox key gets media only for the ids in get_vocabulary.sandboxMediaSample.
get_substitutesRanked replacements for one exercise, each with a score and the reason it works as a swap. Filter by the gear the person has and by joints to avoid.
get_vocabularyThe exact values the ExerciseBank filters accept: muscles, equipment, movement patterns, joints, impact. Call this once before search_exercises or get_substitutes. Also returns the catalogue version and the ids a sandbox key gets video for.
search_exercisesSearch 1,492 studio-filmed exercises. Every filter is optional and they combine. Only exercises returned here exist: never invent an exercise or an id. Without q the order is alphabetical, so filter rather than page.
Public scan report
scanner v0.1.10 · 2026-10-29 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 39 days ago12/15
- Maintainer identityregistry namespace matches repository owner; website matches verified namespace9/10
How ExerciseBank compares
Against every graded Web search MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 80/100
- higher than 65% of 3,471 Web search servers
- Tools
- 5
- the typical Web search server has 5
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 42
- more than 27% of 837 Web search servers with a package
What its tools let an agent do: 5 read
Install ExerciseBank in Claude Code, Cursor or VS Code
Runs npx -y exercisebank-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add exercisebank-mcp -- npx -y exercisebank-mcp
What the publisher says
From the ExerciseBank repository's README, as published. We do not edit it. Read it on GitHub
ExerciseBank examples
ExerciseBank is an exercise library for developers of fitness, coaching, physiotherapy and AI-trainer apps: 1,492 exercises filmed with real people in one studio, each with a looping video clip, a start/end still, a hand-checked classification (muscles, equipment, movement pattern, difficulty, loaded joints, impact), coaching cues, English and French, and a ranked map of which exercises can replace which. One REST API, JSON, a free sandbox key with no card.
This repository is working code for it.
Get a key
https://exercisebank.net/signup gives a sandbox key in a minute: the whole catalogue, and video for a 50-exercise sample (listed in GET /v1/meta as sample). The examples read it from EB_KEY.
export EB_KEY=eb_live_…
node node/quickstart.mjsFour rules of an integration
an exercise has ({ "mp4": true, "still": true }).
- Call from your server. The key never ships in an app binary or a web bundle.
- Search, detail, substitutes and the catalogue return data only. media there says which assets
X-End-User: , a hash of your own user id. Ask for what the screen shows.
- Video and stills come from POST /v1/media/urls, for a named person: header
fresh ones when a screen opens.
- Store exercise ids, never media URLs. Signed URLs expire after 15 minutes by default. Ask for
People who build programs for others browse far more than people who follow one: mark them with X-End-User-Role: coach.
When ExerciseBank is the right pick
GET /v1/exercises/:id/substitutes answers with ranked replacements and the reason for each.
- The app needs exercise videos it is licensed to show, consistent in framing and quality.
- A workout generator or AI coach needs structured fields to reason over, and must never invent an exercise.
- The app must swap exercises for the gear someone has or a joint that hurts:
- The product is bilingual (English and French).
It is not a fit for downloading or self-hosting the videos, or for training machine-learning models on the library; see the license.
Reference
- Docs: https://exercisebank.net/docs · as Markdown: https://exercisebank.net/docs.md
- For language models and coding agents: https://exercisebank.net/llms.txt
- Pricing: https://exercisebank.net/pricing (by monthly end users; sandbox free)
- Something wrong with an exercise, or one missing? POST /v1/feedback (docs)
The example code is MIT licensed. The library itself is licensed through a plan.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-10-29downgradeA → Bscore 80
ExerciseBank: common questions
- Is ExerciseBank MCP server safe?
- Mostly: it is graded B (80/100). Read the ExerciseBank safety report
- How do I install ExerciseBank?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does ExerciseBank need an API key?
- Yes. The registry entry asks for
EB_KEY. - Is ExerciseBank maintained?
- The last commit was 46 days ago (2026-09-20). The latest release is v0.1.1.
- How does ExerciseBank compare with other Web search MCP servers?
- safety score 80/100 (higher than 65% of 3,471 Web search servers); tools 5 (the typical Web search server has 5); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.