exercisedb について
exercisedbは、トレーニングアプリやエージェント向けのYMove運動APIを扱うMCPサーバー兼CLIです。動画付き種目の検索や、ワークアウト・複数週のプログラム生成ができ、上流のJSONをそのまま返します。
主な機能
- 01条件を指定した種目検索
- 02種目の詳細と動画URLの取得
- 03セット数・回数付きワークアウト生成
- 04複数週のトレーニングプログラム生成
- 05筋群と種目タイプの一覧取得
活用シーン
- 01筋群・器具・難易度で動画種目を検索
- 02指定した筋群のワークアウト作成
- 03周期化された複数週プランの作成
MCP 対応
YMove APIの6つの操作をMCPクライアント向けツールとして公開します。種目検索、ワークアウトやプログラムの生成、カタログ語彙の参照に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| page | integer | いいえ | ページ番号。 |
| search | string | いいえ | フリーテキスト検索。 |
| hasVideo | boolean | いいえ | 動画付きのエクササイズのみ。 |
| pageSize | integer | いいえ | 1 ページあたりの結果数。 |
| equipment | string | いいえ | 器具の絞り込み条件。 |
| difficulty | string | いいえ | 難易度の絞り込み条件。 |
| muscleGroup | string | いいえ | 筋肉群の絞り込み条件。 |
| exerciseType | string | いいえ | エクササイズの種類の絞り込み条件。 |
詳細
exercisedb
YMove のエクササイズ API を利用する MCP サーバーおよび CLI です。動画付きの 1,400 種類を超えるエクササイズを収録しています。6 つのツールで、トレーニングアプリやエージェントがこのカタログについて日常的に尋ねる内容をカバーします。フィルターに合うエクササイズの検索、エクササイズの詳細表示、筋肉群を指定したワークアウトの生成、複数週にわたるプログラム全体の生成、そしてフィルターの選択肢となる 2 つの用語集(筋肉群とエクササイズの種類)のエクササイズ数付き一覧を取得できます。
API の応答は、返された内容がそのまま返されます。各ツールは、上流の JSON を変更せずに含むテキスト項目を 1 つだけ返します。データの再構成、キャッシュ、保存は行わないため、エクササイズの動画 URL など、API 自体のプロパティもそのまま引き継がれます。動画 URL は上流サービスによって署名されており、48 時間で有効期限が切れます。
6 つのツール:
search_exercises— フリーテキスト、筋肉群、エクササイズの種類、器具、難易度でカタログを絞り込み、動画付きのエクササイズだけに限定して、結果をページ送りできます。すべての引数は省略可能です。get_exercise— ID またはスラッグでエクササイズを 1 つ取得します。動画 URL、手順、鍛えられる筋肉を確認できます。generate_workout— セット、回数、休憩時間を含む構造化されたワークアウトを生成します。muscleGroupは必須で、筋肉群の配列を指定します。文字列を 1 つ指定した場合も受け付けられ、要素が 1 つの配列として扱われます。器具、エクササイズの種類、難易度、エクササイズ数、構成、ラウンド数、ウォームアップ/クールダウンのブロックはすべて調整できます。generate_program— 目標、難易度、週あたりの日数、週数、使用可能な器具に応じて、ピリオダイゼーションを取り入れた複数週のトレーニングプログラムを生成します。list_muscle_groups— カタログ内のすべての筋肉群を、それぞれのエクササイズ数とともに取得します。list_exercise_types— すべてのエクササイズの種類を、件数とともに取得します。
REST API のドキュメントには記載されているものの、ツールセットでは公開されていない引数は、意図的に含めていません。検索ツールには、白背景/ジム動画フィルターや、動画リストの含める/除外する切り替え機能はありません。
Configuration
API キーが必要です。実行前に YMove キーを設定してください。
export YMOVE_API_KEY="..."
すべてのリクエストでは、X-API-Key ヘッダーにキーを含めます。キーを指定せずに呼び出すと、リクエストがプロセスの外に送信される前に YMOVE_API_KEY is not set が返されます。検証もすべてリクエスト前に行われます。必須引数がない場合は <tool>: missing required argument: <name> が返され、型が正しくない場合は <tool>: argument <name> has the wrong type が返されます。上流でのエラーは upstream error: HTTP <status> from ymove-api として報告されます。API にまったく接続できない場合は upstream unreachable: ymove-api として報告されます。
CLI
各ツールは、JSON 引数文字列を 1 つ受け取るサブコマンドです。
npx @reneturcios/exercisedb search_exercises '{"muscleGroup":"chest","hasVideo":true}'
npx @reneturcios/exercisedb get_exercise '{"id":"barbell-squat"}'
npx @reneturcios/exercisedb generate_workout '{"muscleGroup":["chest","triceps"],"exerciseCount":8}'
npx @reneturcios/exercisedb generate_program '{"goal":"strength","weeks":6,"daysPerWeek":3}'
npx @reneturcios/exercisedb list_muscle_groups '{}'
npx @reneturcios/exercisedb --version
出力は、変更されていない上流の JSON 本文です。終了コード:成功時は 0、実行時エラー(検証、API キー、上流のエラーを含む)時は 1、使用方法のエラー時は 2 です。
MCP server
npx -y @reneturcios/exercisedb mcp
MCP クライアントの設定:
{
"mcpServers": {
"exercisedb": {
"command": "npx",
"args": ["-y", "@reneturcios/exercisedb", "mcp"],
"env": { "YMOVE_API_KEY": "..." }
}
}
}
Docker
docker run -i -e YMOVE_API_KEY="..." ghcr.io/cloudcorprecords/exercisedb
docker run --rm -e YMOVE_API_KEY="..." ghcr.io/cloudcorprecords/exercisedb list_exercise_types '{}'
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。