Skip to main content
Glama
mattjoyce

Senechal MCP Server

by mattjoyce

Senechal MCP サーバー

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

概要

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

  • リソース: LLM のコンテキストにロードできる健康データ

  • ツール: LLM が健康データを取得するために呼び出すことができる関数

  • プロンプト: 健康データを分析するための再利用可能なテンプレート

Related MCP server: OpenAPI MCP Server

インストール

  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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattjoyce/senechal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server