mcpField
S
Senechal MCP Server

Senechal MCP Server

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

Senechal MCP Server について

Senechal MCP Serverは、Senechal APIの健康データをLLMアプリケーションに提供します。リソース、ツール、再利用可能なプロンプトを通じて、概要、測定値、傾向、統計を取得できます。

主な機能

  1. 01健康概要とプロフィールの取得
  2. 02現在の健康測定値の取得
  3. 03健康傾向と統計の照会
  4. 04健康分析プロンプトの提供

活用シーン

  1. 01LLMアプリで定期的な健康概要を読み込む
  2. 02指定した現在の測定値を取得する
  3. 03期間ごとの健康傾向を分析する
  4. 04プロンプトで健康指標を分析する

MCP 対応

Senechal APIの健康データをリソースとツールとして公開し、健康データ分析用のプロンプトも提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Senechal MCP サーバー

Senechal API から健康データを提供する、Senechal プロジェクトの補助となる Model Context Protocol(MCP)サーバーです。LLM アプリケーション向けに健康データを提供します。

概要

このサーバーは、LLM が Senechal API から健康データにアクセスするための標準化されたインターフェースを提供します。以下を公開します。

  • リソース:LLM のコンテキストに読み込める健康データ
  • ツール:LLM が呼び出して健康データを取得できる関数
  • プロンプト:健康データの分析に使える再利用可能なテンプレート

インストール

  1. このリポジトリをクローンします
  2. 仮想環境を作成します。
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 依存関係をインストールします。
    pip install -r requirements.txt
    

設定

.env.example ファイルを .env にコピーし、Senechal API キーと URL を追加します。

# Required: Senechal API Key
SENECHAL_API_KEY=your_api_key_here

# Required: API base URL
SENECHAL_API_BASE_URL=https://your-api-host/api/senechal

サーバーを機能させるには、API キーと API URL の両方が必要です。

Windows の設定

Windows で実行する場合は、次の点に注意してください。

  1. 設定ではバックスラッシュを使用するか、パスを適切にエスケープしてください
  2. claude-desktop-config.json には、Python 仮想環境のフルパスを指定してください。
{
    "mcpServers": {
        "senechal-health": {
            "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
            "args": [
                "C:\\path\\to\\senechal_mcp_server.py"
            ],
            "env": {
                "SENECHAL_API_KEY": "your_api_key_here"
            }
        }
    }
}

MCP 設定の環境変数では .env ファイルが使用されないため、設定ファイルで明示的に指定する必要があります。

使用方法

クライアント/サーバー設定のテスト

設定をテストする最も簡単な方法は、サンプルクライアントを実行することです。

# In one terminal, start the server
python senechal_mcp_server.py

# In another terminal, run the example client
python example_client.py
サーバーを起動する
python senechal_mcp_server.py
MCP Inspector を使用した開発モード
mcp dev senechal_mcp_server.py
Claude Desktop にインストールする

このサーバーには、Claude Desktop 用の設定ファイルが含まれています。

mcp install senechal_mcp_server.py

その後、Claude Desktop のツールメニューから「Senechal Health」を選択できます。

利用可能なリソース

  • senechal://health/summary/{period} - 日、週、月、年単位の健康サマリーを取得します

    • 例:senechal://health/summary/day?span=7&metrics=all
    • パラメーター:
      • period:day、week、month、year
      • span:期間数(デフォルト:1)
      • metrics:カンマ区切りのリスト、または「all」(デフォルト)
      • 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:グループ化の間隔 - day、week、month(デフォルト:day)
  • senechal://health/stats - 健康指標の統計分析を取得します

    • 例:senechal://health/stats?days=30&types=1,2,3
    • パラメーター:
      • days:分析期間の日数(デフォルト:30)
      • types:測定タイプ ID の任意のカンマ区切りリスト

利用可能なツール

  • fetch_health_summary - 指定した期間の健康サマリーを取得します

    • パラメーター:
      • period(必須):day、week、month、year
      • metrics(任意):カンマ区切りの指標、または「all」(デフォルト)
      • span(任意):取得する期間数(デフォルト:1)
      • offset(任意):オフセット期間数(デフォルト:0)
  • fetch_health_profile - ユーザーの健康プロフィールを取得します

    • パラメーターは不要です
  • fetch_current_health - 最新の健康測定値を取得します

    • パラメーター:
      • types(任意):絞り込みに使用する測定タイプ ID のリスト
  • fetch_health_trends - 健康傾向データを取得します

    • パラメーター:
      • days(任意):分析する日数(デフォルト:30)
      • types(任意):絞り込みに使用する測定タイプ ID のリスト
      • interval(任意):グループ化の間隔 - day、week、month(デフォルト:day)
  • fetch_health_stats - 健康指標の統計分析を取得します

    • パラメーター:
      • days(任意):分析期間の日数(デフォルト:30)
      • types(任意):絞り込みに使用する測定タイプ ID のリスト

利用可能なプロンプト

  • analyze_health_summary - 健康サマリーを分析するプロンプト

    • 異常な測定値や傾向を特定し、アクションを提案するためのテンプレートを提供します
    • senechal://health/summary/day?span=7 のデータと併用することを想定しています
  • compare_health_trends - 異なる期間の健康傾向を比較するプロンプト

    • 異なる期間(7日、30日、90日)の傾向を比較するためのテンプレートを提供します
    • 健康傾向のエンドポイントから取得したデータと併用することを想定しています

使用例

健康サマリーデータの読み込み
# In an LLM application, load a week of health summaries
content, mime_type = await session.read_resource("senechal://health/summary/day?span=7")
健康データツールの呼び出し
# In an LLM conversation
result = await session.call_tool(
    "fetch_health_trends", 
    arguments={
        "days": 30, 
        "interval": "day"
    }
)

# More complex example combining tools and resources
profile = await session.call_tool("fetch_health_profile")
trends = await session.call_tool(
    "fetch_health_trends", 
    arguments={"days": 90, "interval": "week"}
)
健康分析プロンプトの使用
# Get a prompt for analyzing health data
prompt_result = await session.get_prompt("analyze_health_summary")
for message in prompt_result.messages:
    print(f"[{message.role}]: {message.content.text}")

完全な動作例については、example_client.py ファイルを参照してください。

API エンドポイント

Senechal MCP サーバーは、次の Senechal API エンドポイントと通信します。

  • /health/summary/{period} - 健康サマリーを取得
  • /health/profile - 健康プロフィールを取得
  • /health/current - 現在の測定値を取得
  • /health/trends - 健康傾向を取得
  • /health/stats - 健康統計を取得

変更履歴

CHANGELOG.md を参照してください。

コメント

MCP は初めてですか?

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

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