Skip to main content
Glama

Valeo Connector (MCP) — MVP

Valeo HealthのメンバーデータをClaudeコネクタに変える、最小構成のリモートMCPサーバーです。 Function Healthコネクタと同じ仕組みで動作します。

  • 依存関係ゼロ。 標準ライブラリのPythonのみ。macOS標準のpython3で動作します。

  • トランスポート: Streamable HTTP(MCP仕様2025-06-18)、単一の/mcpエンドポイント。

  • 認証: まだなし(デモ用)。すべてのデータはsample_data.pyから取得します。

  • 読み取り専用。 すべてのツールにreadOnlyHint: trueが付与されています。

ライブデモエンドポイント(サンプルデータ、認証なし):

https://valeo-connector.onrender.com/mcp

Claudeの「設定 > コネクタ > カスタムコネクタを追加」でこれを追加してください。ヘルスチェック: https://valeo-connector.onrender.com/health。無料インスタンスのため、約15分アイドル状態が続くとスリープし、 スリープ後の最初の呼び出しは30〜60秒かかります — デモの前にヘルスURLを開いてウォームアップしてください。

Deploy to Render

ファイル

ファイル

内容

server.py

コネクタ全体: HTTPトランスポート + JSON-RPCディスパッチ + 5つのツール

sample_data.py

唯一のフェイク部分。このルックアップを実際のValeo API呼び出しに置き換えれば本番稼働できます

test_server.py

プロトコルと全ツールの22項目のスモークテスト

.mcp.json

プロジェクトスコープの設定。Claude Codeがローカルサーバーを自動的に認識します

run.sh

./run.shで起動

assets/

ブランドアイコンと、ワードマークから再生成するmake_icon.py(Pillowが必要。サーバー側では不要)

Related MCP server: health-mcp

ツール

ツール

回答する質問の例

パラメータ

get_lab_summary

「検査結果はどうですか?」「何に注意が必要ですか?」

categories、out_of_range_only、include_trends

get_category_breakdown

「心臓の健康状態は?」「どの領域が異常ですか?」

categories

get_programs

「Metabolic Resetの進捗は?」「計画通りですか?」

status

get_appointments

「次の予約はいつ?」「絶食が必要ですか?」

include_past

get_supplement_plan

「どのサプリメントをなぜ飲んでいますか?」

—

サンプルパネルの健康カテゴリ: Heart、Metabolic、Vitamins & Minerals、Thyroid、Liver、 Kidney、Blood & Immunity、Hormones、Male Health。

Function Healthと同様に、このコネクタは意図的にサマリーレベルのデータのみを公開します — 件数、カテゴリ、フラグ、方向性(「Vitamin D、低、要注意」)などであり、生の検査値は公開しません。

アイコン

サーバーはMCPアイコンフィールド(SEP-973)に従い、serverInfoに正方形のブランドアイコンを データURIとして公開し、/icon.png、/icon-128.png、/favicon.icoでも配信します。

Claude.aiはカスタムコネクタではこれをまだ表示しません — カスタムコネクタはサーバーが宣言する内容に かかわらず汎用アイコンを表示します (claude-ai-mcp#152)。宣言しても コストはかからず、対応が入り次第すぐに機能し始めます。ブランドアイコンを表示するには現在、 Connectors Directoryへの登録が必要で、その際に提出時にアイコンをアップロードします。

実行方法

./run.sh

その後、別のターミナルで:

python3 test_server.py

ヘルスチェック: http://127.0.0.1:8787/health

デモ経路1 — Claude Code(最速、約30秒)

.mcp.jsonはすでにhttp://127.0.0.1:8787/mcpを指しています。サーバーを起動し、このフォルダで Claude Codeを開き、プロンプトが表示されたらvaleoサーバーを承認して、次のように質問してください:

検査結果はどうですか?プログラムの進捗はどうですか?

デモ経路2 — Claudeサブスクリプションをお持ちの方(公開URL)

Claudeのサーバーがあなたのエンドポイントを呼び出すため、安定した公開HTTPS URLが必要です。 localhostや再起動で消えるトンネルでは不十分です。リポジトリをデプロイすれば、有料Claudeプラン (Pro、Max、Team、Enterprise)の誰でも自分で追加できます:

Claude → 設定 → コネクタ → カスタムコネクタを追加 → 貼り付け

https://valeo-connector.onrender.com/mcp

デプロイ

render.yamlとDockerfileはどちらもリポジトリ内にあり、server.pyをそのまま実行します。

Render(CLI不要、無料、カード不要):

  1. このREADME上部のDeploy to Renderボタンをクリックするか、render.com → New → Blueprint → このリポジトリを選択 → Apply。どちらの方法でもrender.yamlが読み込まれます。

  2. GitHubでサインインし、リポジトリへのアクセスを承認します。

  3. https://valeo-connector.onrender.comが発行されます(名前が使われている場合、Renderがサフィックスを追加することがあります)。 コネクタURLはそれに/mcpを付けたものです。mainへのプッシュで自動再デプロイされます。

Claudeに接続する前にデプロイを検証してください:

python3 test_server.py https://valeo-connector.onrender.com

22項目すべてのチェックが、ローカルとまったく同じようにライブURLに対して成功するはずです。

無料インスタンスは約15分のアイドル後にスリープするため、スリープ後の最初の呼び出しは30〜60秒かかります (Claudeのツールタイムアウトは300秒なので、動作はします — ただ遅く感じるだけです)。$7プランまたは Valeo自身のインフラストラクチャでこの問題は解消されます。

任意のコンテナホスト(Cloud Run、Fly、Railway)はDockerfileで動作します。HOST=0.0.0.0を設定してください。 サーバーは環境変数PORTを読み取ります。

最終的にはValeo自身のドメインで運用すべきです — Function Healthは https://services.functionhealth.com/ai-chat/mcpで配信しています。

URLを共有する前に知っておくべき2つのこと

  1. まだ認証がないため、すべてのユーザーが同じ架空のメンバーを見ることになります。 デモとしては問題なく、 サーバー自身のClaudeへの指示にも明記されています。実際のメンバーデータを扱う前に必ず変更すべき唯一の点です。

  2. ClaudeのConnectors Directoryへの掲載は別のステップです — Anthropicへの申請が必要です。 掲載がなくてもコネクタは動作します。ユーザーはディレクトリで見つける代わりにURLを手動で追加するだけです。

MVP後に追加すべきこと

  1. OAuth 2.0 — 各メンバーが自分のデータのみを参照できるようにします。ClaudeはDynamic Client Registrationをサポートしています。ホスト型サーフェスのコールバックはhttps://claude.ai/api/mcp/auth_callbackです。 /.well-known/oauth-protected-resource(RFC 9728)を提供し、トークンにスコープを設定します (read:labs、read:programs、read:appointments)。

  2. 実データ: sample_data.pyを、トークンに紐づく認証付きValeo API呼び出しに置き換えます。

  3. 安定したホスティング: 依存関係がないため、任意のPythonホストで動作します。

  4. ドキュメントページをFunction Healthと同様に作成し、Connectors Directoryに申請します。

知っておくべき制限

制約

上限

Claude.ai / Desktopのツール結果サイズ

約150,000文字

Claude.ai / Desktopのツールタイムアウト

300秒

トランスポート

Streamable HTTP(レガシーHTTP+SSEは非推奨)

医学的アドバイスではありません。サマリーレベルのデータのみです。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for connecting Claude Desktop to FHIRfly healthcare reference data APIs, enabling lookup of drugs, providers, clinical codes, and more.
    101 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server enabling natural language querying of personal health and cultural activity scores from the health.ojimpo.com dashboard via Claude.
    5
    8 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server for accessing Oura Ring data from Claude Code and claude.ai, providing summarized health metrics and raw API data.
    11
    27 PyPI
    MIT