ExerciseBank

net.exercisebankPublished by exercisebank.netv0.1.1Updated Oct 24, 2026

Search 1,492 filmed exercises by muscle, equipment, pattern and joints to avoid; get substitutes.

VerifiedSTDIODesktop onlyLocation & LifestyleDeveloper Tools

Overview

AI-generated overview

Local MCP server that lets an assistant search a catalogue of 1,492 filmed exercises by muscle, equipment, pattern and joints to avoid, and find substitutes.

What you can do
Look up the exact filter vocabulary: muscles, equipment, movement patterns, joints, impact, catalogue version and sandbox media ids. Search and filter exercises by query, muscle, available gear, pattern, difficulty range, joints to avoid, impact and unilateral. Read a full exercise record with description, coaching cues, French and classification. Get ranked substitute exercises with a score and a reason each, filtered by gear and joints to avoid. Fetch signed video and still URLs when an end-user id is configured.
When to use it
Useful while building an integration on the ExerciseBank API, letting a coding agent explore the catalogue and vocabulary, or when prototyping a workout generator before writing code. It is aimed at the developer's desk rather than production products.
Requirements
Runs locally over stdio via npx, so Node 18 or later is needed. Requires an ExerciseBank API key in the EB_KEY environment variable; a free sandbox key is available without a card. Optionally set EB_END_USER to an opaque id to enable signed media URLs. Network access to the ExerciseBank API.
Before you install
The API key in EB_KEY is a secret kept in the client configuration. Setting EB_END_USER counts that person as an end user on the plan, which affects pricing. Media URLs expire after 15 minutes, and a sandbox key only gets media for a 50-exercise sample; full media needs a paid plan. The server is intended for development use, not for calling from a product's backend.

Installation

In SourceWeft

  1. Open ExerciseBank in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

exercisebank-mcp

A Model Context Protocol server for the ExerciseBank API: 1,492 studio-filmed exercises with a hand-checked classification and a ranked map of which exercises can replace which. It lets Claude, Cursor and other MCP clients search real exercises by muscle, equipment, movement pattern, difficulty and joints to avoid, so a plan is built from exercises that exist, with videos your app is licensed to show.

Use it while you build on the API (your coding agent explores the catalogue and the vocabulary as it writes your integration) or to prototype a workout generator before writing any code.

Install

Get a free sandbox key (no card) at https://exercisebank.net/signup, then:

Claude Code

bash
claude mcp add exercisebank --env EB_KEY=eb_live_… -- npx -y exercisebank-mcp

Claude Desktop, Cursor, Windsurf and other clients (claude_desktop_config.json, .cursor/mcp.json, …)

json
{  "mcpServers": {    "exercisebank": {      "command": "npx",      "args": ["-y", "exercisebank-mcp"],      "env": { "EB_KEY": "eb_live_…" }    }  }}

It runs on your machine over stdio; the key stays in your client's configuration. Node 18 or later.

Tools

ToolWhat it does
get_vocabularyThe exact filter values: muscles, equipment, movement patterns, joints, impact; the catalogue version; the ids a sandbox key gets video for
search_exercisesSearch and filter: q, muscle, equipment (the gear the person has), pattern, minDifficulty, maxDifficulty, excludeJoints, impact, unilateral, limit, offset
get_exerciseThe full record: description, coaching cues, French, classification
get_substitutesRanked replacements with a score and a reason each, filtered by gear and joints to avoid
get_media_urlsSigned video and still URLs. Only when EB_END_USER is set (below)

Video

ExerciseBank signs media only for a named person, and that person counts as an end user on the plan. To get get_media_urls, add an opaque id for whoever is at this machine:

json
"env": { "EB_KEY": "eb_live_…", "EB_END_USER": "dev-laptop-anna" }

URLs expire after 15 minutes. A sandbox key gets media for the 50-exercise sample listed by get_vocabulary; a paid plan gets all 1,492.

In your product

This server is for the developer's desk. A product calls the API from its own backend, with its own users' ids: use the exercisebank client and see the guide, an AI workout generator with Claude.

MIT licensed. The library itself is licensed through a plan: https://exercisebank.net/license

Source: packages/exercisebank-mcp/README.md at commit 3d7718b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 21, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.