mcpField
E
exercisedb

exercisedb

ローカル
github.com/CloudCorpRecordsヘルスケア01 週間前に更新

exercisedb について

exercisedbは、トレーニングアプリやエージェント向けのYMove運動APIを扱うMCPサーバー兼CLIです。動画付き種目の検索や、ワークアウト・複数週のプログラム生成ができ、上流のJSONをそのまま返します。

主な機能

  1. 01条件を指定した種目検索
  2. 02種目の詳細と動画URLの取得
  3. 03セット数・回数付きワークアウト生成
  4. 04複数週のトレーニングプログラム生成
  5. 05筋群と種目タイプの一覧取得

活用シーン

  1. 01筋群・器具・難易度で動画種目を検索
  2. 02指定した筋群のワークアウト作成
  3. 03周期化された複数週プランの作成

MCP 対応

YMove APIの6つの操作をMCPクライアント向けツールとして公開します。種目検索、ワークアウトやプログラムの生成、カタログ語彙の参照に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-exercisedb": {
"command": "npx",
"args": [
"-y",
"@reneturcios/exercisedb"
]
}
}
}
起動コマンドnpx -y @reneturcios/exercisedb

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/exercisedb0.1.0
ocighcr.io/cloudcorprecords/exercisedb:0.1.0

ツール

6

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
pageintegerいいえページ番号。
searchstringいいえフリーテキスト検索。
hasVideobooleanいいえ動画付きのエクササイズのみ。
pageSizeintegerいいえ1 ページあたりの結果数。
equipmentstringいいえ器具の絞り込み条件。
difficultystringいいえ難易度の絞り込み条件。
muscleGroupstringいいえ筋肉群の絞り込み条件。
exerciseTypestringいいえエクササイズの種類の絞り込み条件。

詳細

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。