{"name":"net.exercisebank/exercisebank-mcp","slug":"exercisebank-mcp","title":"ExerciseBank","description":"Search 1,492 filmed exercises by muscle, equipment, pattern and joints to avoid; get substitutes.","url":"https://mcp.market/server/exercisebank-mcp","rating":null,"grade":"A","score":85,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-20T20:27:12.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/exercisebank/examples","website":"https://exercisebank.net","version":"0.1.1","remotes":[],"packages":[{"registryType":"npm","identifier":"exercisebank-mcp","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your ExerciseBank API key. Free sandbox key, no card: https://exercisebank.net/signup","isRequired":true,"isSecret":true,"name":"EB_KEY"},{"description":"Optional. An opaque id for the person at this machine; enables get_media_urls (signed video and still URLs). Counts as an end user on the plan.","name":"EB_END_USER"}]}],"tools":[{"name":"get_exercise","description":"The full record for one exercise id: description, coaching cues, French, classification, which media exists.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_media_urls","description":"Short-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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_substitutes","description":"Ranked 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_vocabulary","description":"The 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_exercises","description":"Search 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.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":85,"grade":"A","scanned_at":"2026-09-20T20:55:48.736Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:55:48.723Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","website matches verified namespace"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"exercisebank-mcp","version":"0.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-20T20:31:09.571Z","repositoryUrl":"git+https://github.com/exercisebank/examples.git"}],"repo":{"found":true,"owner":"exercisebank","repo":"examples","archived":false,"pushedAt":"2026-09-20T20:27:12Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/331679629?v=4","ownerCreatedAt":"2026-09-20T15:32:05Z","license":"NOASSERTION"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-09-20T20:27:12.000Z","score":18}}}},"grade_history":[],"reviews":[]}