Workout MCP Server について
Workout MCP Serverは、LLM向けにサイクリングのワークアウトデータとトレーニング分析を提供します。ワークアウトの取得に加え、フィットネス、疲労、フォームの指標を計算できます。
主な機能
- 01最近のワークアウト履歴の取得
- 02IDによるワークアウト検索
- 0342日間のフィットネス(CTL)計算
- 047日間の疲労(ATL)計算
- 05フォーム(TSB)の計算
活用シーン
- 01最近のサイクリング履歴の確認
- 02現在のトレーニング週の分析
- 03フィットネスと疲労指標の追跡
- 04TSSに基づくトレーニングバランスの評価
MCP 対応
ワークアウトの取得とトレーニング指標の計算を、MCPクライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Workout MCP Server
サイクリングのワークアウト分析ツールを提供する Model Context Protocol(MCP)サーバーです。LLM がフィットネスデータを分析し、トレーニング指標を計算して、競技パフォーマンスに関する洞察を得られるようにします。
機能
Workout MCP Server は、次のツールを提供します。
- ワークアウト履歴の取得(直近 50 件または直近 7 件)
- ID による特定のワークアウトの検索
- フィットネス指標の計算:
- フィットネス(CTL):慢性トレーニング負荷 — 42 日間の指数加重移動平均
- 疲労(ATL):急性トレーニング負荷 — 7 日間の指数加重移動平均
- フォーム(TSB):トレーニングストレスバランス — フィットネスと疲労の差
インストール
uv を使用する場合(推奨)
uv を使用する場合、特別なインストールは必要ありません。
uvx を使って workout_mcp_server を直接実行します。
PIP を使用する場合
または、pip を使って workout_mcp_server をインストールできます。
pip install workout_mcp_server
インストール後、モジュールとして次のように実行できます。
python -m workout_mcp_server
設定
Claude Desktop での設定
claude_desktop_config.json に次の内容を追加します。
uvx を使用する場合
"mcpServers": {
"workout_mcp_server": {
"command": "uvx",
"args": ["workout_mcp_server"]
}
}
pip でインストールする場合
"mcpServers": {
"workout_mcp_server": {
"command": "python",
"args": ["-m", "workout_mcp_server"]
}
}
VSCode MCP クライアントでの設定
settings.json に次の内容を追加します。
uvx を使用する場合
"mcp.servers": {
"workout_mcp_server": {
"command": "uvx",
"args": ["workout_mcp_server"]
}
}
pip でインストールする場合
"mcp.servers": {
"workout_mcp_server": {
"command": "python",
"args": ["-m", "workout_mcp_server"]
}
}
利用可能なツール
get_last_50_workouts
データセット内の 50 件すべてのワークアウトを、日付順(新しいものから)に取得します。
get_last_7_workouts
直近 7 件のワークアウトを取得します。現在のトレーニング週の分析に役立ちます。
get_workout_by_id
一意の ID を指定して、特定のワークアウトを取得します。
入力:
workout_id(文字列):ワークアウトの一意の識別子
compute_fitness
Training Stress Score(TSS)の 42 日間の指数加重移動平均に基づいて、現在のフィットネススコア(慢性トレーニング負荷)を計算します。
compute_fatigue
TSS の 7 日間の指数加重移動平均に基づいて、現在の疲労スコア(急性トレーニング負荷)を計算します。
compute_form
フィットネスと疲労の差として、現在のフォームスコア(トレーニングストレスバランス)を計算します。正の値は良好なフォームを示し、負の値は疲労の蓄積を示します。
データ構造
各ワークアウトには次の情報が含まれます。
id:ワークアウトの一意の識別子date:ワークアウトの日付(ISO 形式)duration_minutes:ワークアウト時間(分)distance_km:走行距離(キロメートル)avg_power_watts:平均出力(ワット)tss:Training Stress Scoreworkout_type:ワークアウトの種類(例:「エンデュランス」、「インターバル」、「リカバリー」)
開発
ソースからのビルド
- リポジトリをクローンします
- 依存関係をインストールします:
pip install -e . - サーバーを実行します:
python -m workout_mcp_server
テスト
次のコマンドでテストを実行します:pytest
ライセンス
MIT License — 詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。