Senechal MCP サーバー
Senechal プロジェクトの補助として機能し、Senechal API から LLM アプリケーションにヘルスデータを提供するモデル コンテキスト プロトコル (MCP) サーバー。
概要
このサーバーは、LLMがSenechal APIから健康データにアクセスするための標準化されたインターフェースを提供します。以下の情報が公開されます。
リソース: LLM のコンテキストにロードできる健康データ
ツール: LLM が健康データを取得するために呼び出すことができる関数
プロンプト: 健康データを分析するための再利用可能なテンプレート
Related MCP server: OpenAPI MCP Server
インストール
このリポジトリをクローンする
仮想環境を作成します。
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate依存関係をインストールします:
pip install -r requirements.txt
構成
.env.exampleファイルを.envにコピーし、Senechal API キーと URL を追加します。
サーバーが機能するには、API キーと API URL の両方が必要です。
Windows 構成
Windows で実行する場合は、次の点に注意してください。
設定ではバックスラッシュまたは適切にエスケープされたパスを使用します
claude-desktop-config.json で Python 仮想環境へのフル パスを使用します。
MCP 構成の環境変数は.envファイルを使用しないため、構成で明示的に設定する必要があることに注意してください。
使用法
クライアント/サーバー設定のテスト
セットアップをテストする最も簡単な方法は、サンプル クライアントを実行することです。
サーバーを起動する
MCP Inspectorを使用した開発モード
Claude Desktopにインストール
サーバーには、Claude Desktop の構成ファイルが含まれています。
その後、Claude Desktop のツール メニューから「Senechal Health」を選択できます。
利用可能なリソース
senechal://health/summary/{period}- 日、週、月、または年の健康状態の概要を取得します例:
senechal://health/summary/day?span=7&metrics=allパラメータ:
period: 日、週、月、年span: 期間数(デフォルト: 1)metrics: カンマ区切りのリストまたは「すべて」(デフォルト)offset: 現在からオフセットする期間数(デフォルト: 0)
senechal://health/profile- ユーザーの健康プロフィールを取得する人口統計、医薬品、サプリメントに関する情報が含まれています
senechal://health/current- 現在の健康測定値を取得する例:
senechal://health/current?types=1,2,3パラメータ:
types: 測定タイプIDのコンマ区切りリスト(オプション)
senechal://health/trends- 健康のトレンドを時系列で把握例:
senechal://health/trends?days=30&types=1,2,3&interval=dayパラメータ:
days: 分析する日数(デフォルト: 30)types: 測定タイプIDのコンマ区切りリスト(オプション)interval: グループ化間隔 - 日、週、月(デフォルト: 日)
senechal://health/stats- 健康指標の統計分析を取得します例:
senechal://health/stats?days=30&types=1,2,3パラメータ:
days: 分析期間(日数)(デフォルト: 30)types: 測定タイプIDのコンマ区切りリスト(オプション)
利用可能なツール
fetch_health_summary- 特定の期間のヘルスサマリーを取得しますパラメータ:
period(必須): 日、週、月、年metrics(オプション):カンマ区切りのメトリックまたは「すべて」(デフォルト)span(オプション):返される期間の数(デフォルト:1)offset(オプション):オフセットする期間数(デフォルト:0)
fetch_health_profile- ユーザーの健康プロファイルを取得するパラメータは必要ありません
fetch_current_health- 最新の健康測定値を取得するパラメータ:
types(オプション):フィルタリングする測定タイプIDのリスト
fetch_health_trends- 健康傾向データを取得するパラメータ:
days(オプション):分析する日数(デフォルト:30)types(オプション):フィルタリングする測定タイプIDのリストinterval(オプション):グループ化間隔 - 日、週、月(デフォルト:日)
fetch_health_stats- 健康指標の統計分析を取得しますパラメータ:
days(オプション):分析期間(日数)(デフォルト:30)types(オプション):フィルタリングする測定タイプIDのリスト
利用可能なプロンプト
analyze_health_summary- ヘルスサマリーを分析するためのプロンプト異常な指標や傾向を特定し、アクションを提案するためのテンプレートを提供します
senechal://health/summary/day?span=7のデータで使用することを目的としています
compare_health_trends- 異なる期間の健康傾向を比較するためのプロンプト異なる期間(7、30、90日)にわたる傾向を比較するためのテンプレートを提供します
健康トレンドエンドポイントからのデータで使用することを意図しています
やり取りの例
健康概要データの読み込み
健康データツールを呼び出す
健康分析プロンプトの使用
完全な動作例については、 example_client.pyファイルを参照してください。
APIエンドポイント
Senechal MCP サーバーは、次の Senechal API エンドポイントと通信します。
/health/summary/{period}- ヘルスサマリーを取得する/health/profile- 健康プロファイルを取得する/health/current- 現在の測定値を取得する/health/trends- 健康トレンドを入手/health/stats- 健康統計情報を取得する