Pacevera について
Paceveraは、ローカルMCPクライアントでトレーニングの証拠と予定セッションを評価する、決定論的なフィットネス判断エンジンです。回復状態やトレーニング状態を計算し、モデルに判断を生成させず、追跡可能なセッション判断やプランを返します。
主な機能
- 01回復・準備度・疲労を計算
- 02予定セッションの扱いを判断
- 03トレーニングプランの生成と調整
- 04けが・器具・時間の制約を考慮
- 05ルールと根拠のトレースを提示
活用シーン
- 01ワークアウトを維持・調整するか評価
- 02けがや器具の制約に合わせて調整
- 03期分けトレーニングプランを作成
MCP 対応
Paceveraは、フィットネス評価、セッション判断、エクササイズ代替、プラン作成と補助ツールをMCP経由で提供します。クライアントが根拠を渡し、Paceveraが決定論的な計算とルール評価を行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Pacevera フィットネス判定エンジン
Pacevera は、Model Context Protocol(MCP)を通じて公開される決定論的なフィットネス判定エンジンです。呼び出し元の AI ホストから提供された正規化済みのトレーニングおよび健康データを受け取り、回復状況とトレーニング上の制約を評価して、構造化された判定を返します。
主な操作は、既存の予定セッションを評価することです。判定では、予定セッションから結果のセッションへの変更内容が示されます。
scheduled session (from) -> resulting session (to)
各判定には、関連するデータ、適用されたルール、信頼度、シグナルの網羅状況、および制限事項が含まれます。
対象範囲
Pacevera は次の機能を提供します。
- 回復状態、準備度、筋群の疲労度、トレーニング負荷の決定論的な計算。
keep、adjust、substitute、defer、advanceタイプのセッション判定。- けが、器具、利用可能な時間、エクササイズの代替に関する制約の処理。
- トレーニングプランの生成、およびプレビューと確定の操作による、呼び出し元が所有するプランの調整。
- ルール識別子、測定値、情報源、バージョンメタデータを用いた、構造化された判定根拠の提示。
- Apple Health、Google Health Takeout、Garmin、Strava、Oura、WHOOP のデータ形式の正規化に対応。
Pacevera はユーザーに代わってこれらのプロバイダーに接続しません。呼び出し元のホストは、プロバイダーのエクスポートデータまたは API レスポンスを取得して正規化し、MCP ツールに渡す必要があります。
アーキテクチャ
AI host
└─ Collects the user's question and evidence
└─ MCP server / desktop extension
├─ Evidence normalization
├─ Fitness-state calculation
├─ Training-load calculation
├─ Deterministic rule evaluation
├─ Decision and plan operations
└─ Structured result: Decision / Action / Reason
AI ホストは、ユーザーのリクエストの解釈、データの収集、ツールの選択、結果の提示を担当します。Pacevera は計算とルールの評価を行いますが、判定の生成にモデルを呼び出すことはありません。同じコード、ルールセット、入力が与えられた場合、結果は決定論的です。
判定と推奨
| タイプ | 説明 |
|---|---|
| 推奨 | 事前のセッションまたはプランを必要とせずに生成されるトレーニングの提案です。 |
| 判定 | 既存の予定セッションまたはプランに適用される、追跡可能な変更です。 |
decide_session では、以前の状態を確定するために scheduledSession が必要です。予定セッションが指定されていない場合、ツールはセッションを作成せず、no_scheduled_session を返します。プランが必要な場合は generate_plan を使用してください。
判定の出力は、次の5つのレイヤーで構成されます。
Evidence -> Fitness State -> Decision -> Action -> Reason
判定の意図と、結果として実行されるアクションは別々のフィールドです。同じ意図でも、ユーザーの器具、利用可能な時間、けがの状況、予定セッションによって、実行されるアクションは異なる場合があります。
MCP ツール
判定およびプランニングツール
| ツール | 説明 |
|---|---|
assess_fitness_state | 回復状態、準備度、筋群の疲労度、トレーニング負荷の状態を返します。 |
decide_session | 予定セッションを評価し、結果のセッションを返します。 |
decide_exercise_substitution | けがと器具の制約を考慮して、代替の動作を選択します。 |
generate_plan | 期分けされたトレーニングプランを生成します。 |
preview_adjust_plan | 呼び出し元が所有するプランに対する、決定論的なパッチと差分を返します。 |
commit_adjust_plan | プランのバージョンを検証し、呼び出し元が所有するパッチを適用します。 |
補助ツールおよび参照ツール
| ツール | 説明 |
|---|---|
get_evidence_coverage | 利用可能なシグナルと不足しているシグナルを報告します。 |
explain_decision | 以前の判定について、プロセス内のルールと情報源のトレースを返します。 |
submit_outcome | 以前のケースで観測された結果を受け付けます。保存データは、設定された環境内にローカルで保持され、上限が設けられています。 |
search_exercises / get_exercise | エクササイズカタログとグラフ上の関連情報を検索します。 |
search_workouts / get_workout | 構造化されたワークアウトコンテンツを検索します。 |
get_user_profile | 呼び出し元から提供されたユーザーの制約とトレーニング設定を返します。 |
get_training_history / get_training_context | トレーニング履歴と関連コンテキストを返します。 |
エビデンスと出力
エビデンスは呼び出し元のホストから提供されます。回復測定値、ベンダーが算出した評価、完了したワークアウト、予定されたセッション、目標、制約などが含まれる場合があります。
重要な入力ルール:
- 測定済み、または明示的に提供された値のみを送信してください。欠落しているシグナルは
signalCoverageに報告され、confidenceが低下する場合があります。 - トレーニング負荷の値がないワークアウトは、負荷ゼロとして扱われず、筋群の疲労計算から除外されます。
- RPE はエビデンスとして保持できますが、トレーニング負荷や筋疲労の計算には使用されません。
- 準備状態、回復、Body Battery などのベンダー算出値は、報告された値のまま使用され、Pacevera が再計算することはありません。
一般的な decide_session のレスポンスは、次の形式です。
{
"decision": { "type": "adjust", "intent": "reduce_today_intensity" },
"action": {
"from": { "focus": "Tempo Run", "durationMinutes": 50, "intensity": "high" },
"to": { "focus": "Moderate run", "durationMinutes": 50, "intensity": "moderate" },
"changed": ["focus", "intensity"]
},
"confidence": "high",
"signalCoverage": {
"recovery": { "usable": ["readiness"], "missing": ["sleep"] },
"training": { "usable": ["trainingLoad"], "missing": [] }
},
"decisionBasis": {
"governingRule": {
"ruleId": "EVD-R-002",
"measured": { "quantity": "readiness_score", "value": 48 }
}
}
}
Pacevera は、欠落している値をデフォルト値で補いません。signalCoverage.recovery は現在の回復シグナルの利用可能状況を示し、signalCoverage.training は、直近のワークアウトに疲労計算に必要なトレーニング負荷データが含まれているかを示します。
デプロイ状況
| デプロイモード | 状況 | 範囲 |
|---|---|---|
| ローカルデスクトップ拡張機能 | 利用可能 | ユーザーのコンピューター上で stdio を介して実行されます。Pacevera のプロセスは、プロバイダーデータの取得、エビデンスの永続化、モデル呼び出しを行いません。 |
| ユーザー管理のプライベートデプロイ | 予定 | ユーザーまたは組織が管理するデバイス、プライベートネットワーク、VPC での実行を想定しています。 |
| ホスト型リモートデプロイ | 利用不可 | リポジトリにはリソースサーバーの準備コードが含まれていますが、本番環境へのデプロイ、認可インフラストラクチャ、ホスト型プライバシー管理はまだ完成していません。 |
デスクトップ拡張機能には、Node.js 標準ライブラリ以外の実行時依存関係はありません。アナリティクス、テレメトリー、クラッシュレポート、プロバイダーアカウント、プロバイダーの OAuth トークンは使用しません。
プライバシー
デスクトップ拡張機能は、要求されたフィットネスに関する判断に必要な、呼び出し元から提供された最小限の健康関連エビデンスを処理します。エビデンスを保持、販売、モデルのトレーニングに利用することはなく、無関係な目的にも使用しません。
拡張機能は外部ネットワークリクエストを行わず、エビデンスをどこにも送信しません。ユーザー自身のコンピューター上には、上限のある継続性レコードと、生成した判断、ユーザーが報告した結果、それらの基盤となる派生状態を保存するローカル SQLite ストアを永続的に保持します。どちらもユーザーがエクスポートまたは削除できます。AI ホスト、オペレーティングシステム、インポートされたファイル、ホストの会話履歴は拡張機能の管理対象外であり、それぞれのポリシーが適用されます。
完全なポリシーとデプロイ範囲については PRIVACY.md を、利用規約については TERMS.md をご覧ください。正式版は https://pacevera.com/privacy および https://pacevera.com/terms で公開されています。
Pacevera は医療機器ではなく、医療上の助言を提供するものではありません。一般的なフィットネスおよびトレーニングのみを目的としています。
インストール
Pacevera は Claude Desktop 拡張機能(.mcpb)として配布されています。
-
Releases から
pacevera.mcpbをダウンロードします。 -
必要に応じて、リリースノートに掲載されている SHA-256 チェックサムを確認します。
shasum -a 256 pacevera.mcpb -
Claude Desktop で Settings -> Extensions を開き、ファイルをインストールします。
-
拡張機能のインストールまたはアップグレード後、Claude Desktop を再起動します。
この拡張機能には Node.js 20 以降が必要です。意思決定の記録と結果をローカルに保存するには、node:sqlite が利用可能な Node.js 22.5 以降が必要です。Node.js 20 または 21 では拡張機能をインストールして実行できますが、この機能は利用できません。選択したエクスポートフォルダーから意思決定に必要なデータを読み取る処理には影響しません。このマシンにプランとそのコンテキストが保存されている場合にのみ、ローカルプランの意思決定が表示されるため、新規インストール時には表示されません。これは Node.js のバージョンではなく、保存されている内容によって決まります。
デスクトップ拡張機能を通じて、Claude Desktop およびその他のローカル MCP ホストを利用できます。また、Claude 独自の Dispatch を使えば、リモート環境に何もデプロイすることなく、インストール済みの拡張機能をスマートフォンから操作できます。利用には、デスクトップアプリが起動していること、Pro または Max プランに加入していること、およびこの機能が利用可能であることが必要です。Pacevera が運用するホスト型リモートデプロイは、引き続き一般公開されていません。
リリース状況
現在の公開リリースは v0.5.8 で、Decision Engine 1.12.0 と [email protected] を使用しています。公開ツール 10 個、制限付きのローカル継続性、個人向けの単一ワークアウト生成、意思決定の記録、パッケージの検証/ドライラン/ロールバック、任意で利用できるローカルの Google Health 接続が含まれています。Oura と WHOOP のリーダーは公開 API 仕様に基づいて実装されており、実際のレスポンスを使った検証はまだ行われていません。Apple Health、Garmin、Google Health、Strava のリーダーは、実際のエクスポートファイルを使って開発されました。
サポート
- バグ報告と技術的な質問:GitHub Issues
- プライバシーに関するお問い合わせ:[email protected]
ライセンス
Pacevera はプロプライエタリソフトウェアです。適用される条件については、LICENSE をご覧ください。
Pacevera v0.5.8
Claude Desktop 拡張機能には、今日のブリーフィング、エビデンスを優先するローカルエクスポートの読み取り、わかりやすいツール名が含まれています。インストール時に Your exported health data folder を選択し、次の任意のサブフォルダーを含む親フォルダーを指定してください。
Your exported health data folder/
├── export_apple_health/ # Apple Health export.xml
├── export_garmin/ # Garmin Export Your Data / DI_CONNECT
├── export_strava/ # Strava activities.csv
└── export_google_health/ # raw/ for JSON you pulled yourself,
# normalized/ for what the connection wrote
Pacevera は選択したフォルダーをローカルで読み取ります。不足しているデータソースは推測せず、利用不可として報告します。MCPB のチェックサムはリリースノートに掲載されています。
v0.5.8 には、お使いのコンピューター上で動作する任意の Google Health 接続機能が含まれています。ご自身のブラウザーで承認するか、スマートフォンで QR コードをスキャンして承認できます。ブラウザーを使う場合、通信経路上に Pacevera のサーバーを介さずに Google に接続します。QR コードを使う場合は、短時間のみ有効な認証の引き継ぎだけを処理する Pacevera のリレーを経由します。リレーが健康データ、トークン、お使いのコンピューター上で交換を完了する PKCE シークレットを扱うことはありません。どちらかの方法で接続を完了すると、もう一方はキャンセルされます。
v0.5.8 では、Google Health の各レスポンスをメモリ上で正規化し、その結果得られたエビデンスだけを書き込みます。プロバイダーからのレスポンス自体がディスクに書き込まれることはありません。また、アプリ内から接続を解除できます。解除すると、Google で許可が取り消され、保存された認証情報と、以前の同期で書き込まれたエビデンスが削除され、ローカルストアから派生レコードが消去されます。ご自身でフォルダーに置いたファイルは削除せず、削除対象としてお知らせします。
この接続は100アカウントまでに制限されており、Googleからアプリが未確認であることを警告されます。 PaceveraのGoogleアプリは2026-08-20にTestingからProductionへ移行したため、招待は不要になりました。ただし、ヘルススコープに関するGoogleの審査は完了していません。審査が完了するまでは、同意する前にGoogle独自の「Google hasn't verified this app」という画面が表示されます。また、このアプリの全利用期間を通じて、接続を承認できるアカウントは最大100件です。エクスポートしたフォルダーの読み取り、AIホストを通じたエビデンスの提供、すべての判断ツールには影響ありません。
v0.5.8では、判断が裏付けられない内容を伝えていた3つの点を修正しました。除外した動作によってセッションが空になったとき、Paceveraが提案する代替動作は、同じ制限に照らして確認されていませんでした。たとえば、スクワットができないと伝えると、バーベルスクワットが2つとも除かれる一方で、自重スクワットが追加され、理由の文には除かれた動作だけが記載されていました。代替動作にも同じチェックを行うようになり、条件を満たすものがない場合は動作を挙げず、作り上げるのではなく、その理由を制限事項として説明します。また、その動作が自分のプランから選ばれたものではなく、代替案であることも伝えるようになりました。これまでは、その点にまったく触れていませんでした。どのルールも適用されない場合、締めくくりの文で、すべての測定値が基準内だとは言わなくなりました。すでに軽めの日に回復値が60を下回った場合や、負荷の高い日ではない日に筋群の疲労度が40に達した場合など、ルールが適用されなくても基準を超えることがあります。今後は、その測定値、基準、そして介入しなかった理由を文中で示します。また、記録されたトレーニングがまったくない週について、直近の週に対象筋群への負荷がなかったとは言わなくなりました。読み取る記録がなかったというのは別の意味であり、今後はそのように伝えます。
Today's Briefは会話の言語に合わせます。繁体字中国語で尋ねるとカードも繁体字中国語で表示され、英語で尋ねると英語で表示されます。v0.5.7では、話している言語に関係なく、デスクトップアプリの表示言語に合わせていました。
Paceveraは、Garminに修復すべき接続があるかのように示すこともなくなりました。Garminの測定値は、フォルダーに置いたエクスポートからのみ取り込まれます。リンクするアカウントも確認すべき同期もありません。存在しない同期を調べると申し出るのではなく、そのことをアシスタントに伝えるようになりました。
v0.5.7では、どちらもv0.5.6に存在していた、拡張機能が応答を停止する2つの問題を修正しました。新しい回復値が届かなかった日、つまり判断を求める価値が最も高い日に、保存済みプランから今日の判断を尋ねても、何も返ってきませんでした。エンジンが意図的に報告する空のレディネスをローカルストアが記録できなかったためです。既存のストアは、保存済みの行を保ったまま、その場で修復されます。また、非常に大きく深くネストされたリクエストを1つ送るだけで拡張機能が終了し、外部からはコネクター全体が消えたように見えることがありました。今後は、問題のあるリクエストだけが失敗し、拡張機能は動作を続けます。セッションの強度を上げる唯一のルールは、信頼度が低いときには強度を上げなくなりました。エビデンスが乏しい場合は、セッションを維持するか負荷を下げることはあっても、負荷を追加することはありません。カバレッジも、より明確に報告されます。実際に使用したベンダースコアを明記し、最大値を超えることのある数値ではなく、5種類のエビデンスに対する割合でカバレッジを示します。フォルダーの読み取りでは、Garminから取り込んだ内容を記録しますが、フォルダーのパスやファイルのフィンガープリントをAIホストに渡すことはありません。(このリリースでは、Today's Briefが話している言語に合わせて表示されると説明されていました。これは誤りです。v0.5.7では、カードはデスクトップアプリの表示言語に合わせて表示されます。会話の言語に合わせるのはv0.5.8です。) v0.5.6では、HRVを固定の基準値ではなく、直近の夜のデータと比較します。また、お使いのデバイスですでにレディネススコアやHRVスコアが計算されている場合は、生の測定値をもう一度スコア化せず、そのスコアを使用します。生の測定値は保持され、何に置き換えられたかを併記して「置き換え済み」として報告されるため、測定値を提供したにもかかわらず、判断で測定値がないとされることはありません。Google Healthへの接続、同期、保存済みプランから今日の判断を求める際に、アカウント識別子を尋ねられることもなくなりました。Paceveraはそのような識別子を発行しておらず、後の会話で再び尋ねられることで、正常に機能している接続が期限切れのように見えていたためです。このマシンに複数のプロファイルがある場合は、推測せず、名前を示してどれを使うか尋ねます。
v0.5.2では、すべての測定値にソースの経路が追加されました。Paceveraがどこから測定値を読み取ったか、どのアプリが書き込んだかが記録されるため、Garminの数値がApple Healthに同期された場合も、Apple Health独自の測定値として報告されることはありません。エクスポートに書き込み元の名前がない測定値は、推測せず「名前なし」として報告されます。また、判断には小さな継続性の記録が含まれ、後の会話で渡せるようになりました。Paceveraは、その記録が現在の状態を引き続き表しているかを確認し、そうでない場合はその旨を伝えます。確認は行いますが、統合はしません。判断は常に、現在保持している根拠に基づいて行われます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。