Senechal MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports environment variable configuration through .env files for storing API keys and base URLs required to connect to the Senechal health data API.

  • Uses Python for implementing the server, with specific instructions for creating virtual environments and running the server through Python commands.

Senechal MCP サーバー

Senechal プロジェクトの補助として機能し、Senechal API から LLM アプリケーションにヘルスデータを提供するモデル コンテキスト プロトコル (MCP) サーバー。

概要

このサーバーは、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 : 日、週、月、年
      • 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日)にわたる傾向を比較するためのテンプレートを提供します
    • 健康トレンドエンドポイントからのデータで使用することを意図しています

やり取りの例

健康概要データの読み込み

# 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 - 健康統計情報を取得する
-
security - not tested
A
license - permissive license
-
quality - not tested

Senechal API から LLM アプリケーションに健康データを提供し、AI アシスタントが個人の健康情報にアクセスし、分析し、応答できるようにするモデル コンテキスト プロトコル サーバー。

  1. Overview
    1. Installation
      1. Configuration
        1. Windows Configuration
      2. Usage
        1. Testing the Client/Server Setup
        2. Start the Server
        3. Development Mode with MCP Inspector
        4. Install in Claude Desktop
      3. Available Resources
        1. Available Tools
          1. Available Prompts
            1. Example Interactions
              1. Loading Health Summary Data
              2. Calling Health Data Tools
              3. Using Health Analysis Prompts
            2. API Endpoints
              ID: u1e97fslpi