swiss-health-mcp について
swiss-health-mcp は、BAG Priminfo のスイス公式健康保険料データを検索する MCP サーバーです。州、年齢層、年、免責額、保険モデルごとに保険会社を比較し、価格推移を確認できます。
主な機能
- 01条件に合う保険料の安い5社を検索
- 02指定した保険会社を比較
- 03保険料の履歴と年間変化を確認
- 04ブランドをまたいだ保険会社名の解決
- 05データベースの収録状況を表示
活用シーン
- 01州内の保険会社間で保険料を比較
- 02複数年にわたる保険料の推移を確認
- 03年齢と免責額に合う低価格の保険を探す
MCP 対応
MCP クライアントに、保険料比較、価格履歴、データベース統計の読み取り専用ツールを提供します。データは BAG Priminfo から取得しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @prinz_esox/swiss-health-mcpSUPABASE_URLSupabase Project URL (e.g. https://xxx.supabase.co)SUPABASE_SERVICE_ROLE_KEYシークレットSupabase Service Role Key for database accessローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| year | number | はい | 年(2016-2026) |
| canton | string | はい | 州(2 文字のコード。例:'ZH'、'BE'、'GE') |
| age_band | enum | はい | 年齢層:child(0-18)、young_adult(19-25)、adult(26+)child | young_adult | adult |
| model_type | enum | いいえ | 保険モデル(任意、デフォルト:standard)standard | hmo | telmed | family_doctor | diverse |
| franchise_chf | enum | はい | 免責額(CHF)0 | 100 | 200 | 300 | 400 | 500 | 600 | 1000 | 1500 | 2000 | 2500 |
| accident_covered | boolean | いいえ | 傷害補償を含む(任意、デフォルト:true) |
詳細
スイスの医療保険 MCP サーバー
AI アシスタントがスイスの医療保険料に関する160万件の記録に構造化された形式でアクセスできる MCP サーバーです。55の保険会社、26の州、政府の公式データ11年分を収録しています。
Model Context Protocolを基盤としています。データはBAG Priminfo(スイス連邦公衆衛生局、2016~2026年)から取得しています。KrankenkassenGPT REST APIに対応するMCPです。
クイックスタート
Claude Desktopの設定(claude_desktop_config.json)またはCursorの設定(.cursor/mcp.json)に以下を追加します。
{
"mcpServers": {
"swiss-health": {
"command": "npx",
"args": ["-y", "@prinz_esox/swiss-health-mcp"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
}
}
}
}
または、グローバルにインストールします。
npm install -g @prinz_esox/swiss-health-mcp
このサーバーはSmitheryレジストリとMCP Registryでも利用できます。
ツール
get_cheapest_insurers
指定したプロフィールに基づき、保険料が最も安い上位5社を検索します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
canton | string | はい | 州コード(例:ZH、BE、GE) |
year | number | はい | 年(2016~2026年) |
age_band | string | はい | child(0~18歳)、young_adult(19~25歳)、adult(26歳以上) |
franchise_chf | number | はい | 免責額:0、100、200、300、400、500、600、1000、1500、2000、2500 |
model_type | string | いいえ | standard(デフォルト)、hmo、telmed、family_doctor、diverse |
accident_covered | boolean | いいえ | 傷害保険を含めるかどうか(デフォルト:true) |
compare_insurers
同じプロフィールについて、指定した保険会社を並べて比較します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
insurer_names | string[] | はい | 保険会社名(例:["CSS", "Helsana", "Swica"]) |
canton | string | はい | 州コード |
year | number | はい | 年(2016~2026年) |
age_band | string | はい | 年齢グループ |
franchise_chf | number | はい | 免責額(CHF) |
get_price_history
1社の10年間の価格推移と、前年比の変化率を取得します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
insurer_name | string | はい | 保険会社名(例:CSS、Helsana) |
canton | string | はい | 州コード |
age_band | string | はい | 年齢グループ |
franchise_chf | number | はい | 免責額(CHF) |
start_year | number | いいえ | 開始年(デフォルト:2016年) |
end_year | number | いいえ | 終了年(デフォルト:2026年) |
get_database_stats
データの対象範囲に関する統計とメタデータを返します。パラメーターはありません。
データ
| 項目 | 対象範囲 |
|---|---|
| レコード | 1,611,386件以上 |
| 保険会社 | 55社(CSS、Helsana、Swica、Assura、KPT、Groupe Mutuel、Sanitasなど) |
| 州 | 26(スイス全州) |
| 年数 | 11年(2016~2026年) |
| 免責額の段階 | 11段階(CHF 0~2,500) |
| 保険モデル | 5種(標準、HMO、telmed、かかりつけ医、多様型) |
| 年齢グループ | 3種(子ども、若年成人、成人) |
すべてのデータは、スイス連邦公衆衛生局の公式データベースであるBAG Priminfoから取得しています。
特長
- 保険会社名のインテリジェントな解決 -- 55社以上の保険会社とそのサブブランドを対象に、あいまい検索を行います。「Helsana」と指定すると、関連する保険会社IDをすべて自動的に解決します。
- 免責事項の自動付与 -- すべての応答にBAG Priminfoの出典表記と、保険料は参考情報にすぎない旨の注意書きが含まれます。
- 読み取り専用アクセス -- 書き込み操作はなく、個人データも扱いません。
- 変化率の計算 -- 価格履歴には前年比の傾向が含まれます。
プロンプトの例
"What are the cheapest health insurers in Zurich for 2026?"
"Compare CSS, Helsana and Swica in Bern for an adult with CHF 300 deductible"
"How did Assura premiums develop from 2016 to 2026?"
"Which insurer had the smallest price increase over the last 10 years in Basel?"
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
SUPABASE_URL | はい | Supabase プロジェクトの URL |
SUPABASE_SERVICE_ROLE_KEY | はい | データベースアクセス用の Supabase サービスロールキー |
技術スタック
- プロトコル: MCP SDK v1.0.0(stdio トランスポート)
- 言語: TypeScript
- データベース: Supabase(PostgreSQL)
- ランタイム: Node.js 18+
- パッケージ: @prinz_esox/swiss-health-mcp
- レジストリ ID:
io.github.remoprinz/swiss-health-mcp
開発
git clone https://github.com/remoprinz/swiss-health-mcp.git
cd swiss-health-mcp
npm install
npm run dev # Start with tsx
npm run build # Compile TypeScript
プロジェクト構成
src/index.ts # Complete server implementation (~530 lines)
server.json # MCP registry manifest
smithery.yaml # Smithery registry config
llms.txt # LLM-readable project description
CITATION.cff # Citation metadata
ライセンス
MIT -- Remo Prinz
リンク
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。