Swiss Health Mcp

io.github.remoprinzPublished by GitHub account remoprinzv1.0.8Updated Oct 24, 2026

Swiss health insurance premiums (Krankenkassen-Prämien) 2016-2026. 1.6M records from BAG.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

A local MCP server that lets an assistant query 1.6 million Swiss health insurance premium records (2016–2026) to find and compare insurers.

What you can do
Find the cheapest insurers for a canton, year, age band, deductible and insurance model, with optional accident coverage and fuzzy insurer name matching across 55+ insurers and sub-brands. Compare selected insurers side by side for the same profile. Retrieve a single insurer's price history with year-over-year percentage change over a chosen year range. Read coverage statistics and metadata about the dataset. Every response carries BAG Priminfo attribution and an informational-only notice.
When to use it
Useful when someone wants to compare Swiss health insurance premiums, find the cheapest option for a given canton and deductible, or see how an insurer's prices changed over the years. It is a read-only reference tool for Swiss premium data, not a purchasing or advisory service.
Requirements
Runs locally via npx or a global npm install, requiring Node.js 18+. Needs a Supabase project URL in SUPABASE_URL and a Supabase service role key in SUPABASE_SERVICE_ROLE_KEY, both set in the client configuration. Network access to Supabase is required.
Before you install
The server requires a Supabase service role key, a privileged credential that bypasses row-level security; supply a key scoped to the intended project and keep it out of shared configs. Access is described as read-only with no write operations and no personal data, and premiums are informational only, not binding offers.

Installation

In SourceWeft

  1. Open Swiss Health Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Swiss Health MCP Server

[npm version] [License: MIT]

An MCP server that gives AI assistants structured access to 1.6 million Swiss health insurance premium records -- 55 insurers, 26 cantons, 11 years of official government data.

Built on the Model Context Protocol. Data sourced from BAG Priminfo (Swiss Federal Office of Public Health, 2016--2026). This is the MCP companion to the KrankenkassenGPT REST API.

Quick Start

Add this to your Claude Desktop config (claude_desktop_config.json) or Cursor settings (.cursor/mcp.json):

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"      }    }  }}

Or install globally:

bash
npm install -g @prinz_esox/swiss-health-mcp

The server is also available on the Smithery registry and the MCP Registry.

Tools

get_cheapest_insurers

Find the top 5 cheapest health insurers for a given profile.

ParameterTypeRequiredDescription
cantonstringyesCanton code (e.g. ZH, BE, GE)
yearnumberyesYear (2016--2026)
age_bandstringyeschild (0--18), young_adult (19--25), adult (26+)
franchise_chfnumberyesDeductible: 0, 100, 200, 300, 400, 500, 600, 1000, 1500, 2000, 2500
model_typestringnostandard (default), hmo, telmed, family_doctor, diverse
accident_coveredbooleannoInclude accident coverage (default: true)

compare_insurers

Side-by-side comparison of specific insurers for the same profile.

ParameterTypeRequiredDescription
insurer_namesstring[]yesInsurer names (e.g. ["CSS", "Helsana", "Swica"])
cantonstringyesCanton code
yearnumberyesYear (2016--2026)
age_bandstringyesAge group
franchise_chfnumberyesDeductible in CHF

get_price_history

10-year price development for a single insurer with year-over-year percentage change.

ParameterTypeRequiredDescription
insurer_namestringyesInsurer name (e.g. CSS, Helsana)
cantonstringyesCanton code
age_bandstringyesAge group
franchise_chfnumberyesDeductible in CHF
start_yearnumbernoStart year (default: 2016)
end_yearnumbernoEnd year (default: 2026)

get_database_stats

Returns coverage statistics and metadata. No parameters.

Data

DimensionCoverage
Records1,611,386+
Insurers55 (CSS, Helsana, Swica, Assura, KPT, Groupe Mutuel, Sanitas, ...)
Cantons26 (all Swiss cantons)
Years11 (2016--2026)
Franchise levels11 (CHF 0--2,500)
Insurance models5 (standard, HMO, telmed, family doctor, diverse)
Age bands3 (child, young adult, adult)

All data comes from BAG Priminfo, the official database of the Swiss Federal Office of Public Health.

Features

  • Intelligent insurer name resolution -- fuzzy matching across 55+ insurers and their sub-brands. Ask for "Helsana" and the server resolves all associated insurer IDs automatically.
  • Automatic disclaimer -- every response includes BAG Priminfo attribution and a notice that premiums are informational only.
  • Read-only access -- no write operations, no personal data.
  • Percentage change calculations -- price history includes year-over-year trends.

Example Prompts

"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?"

Environment Variables

VariableRequiredDescription
SUPABASE_URLyesSupabase project URL
SUPABASE_SERVICE_ROLE_KEYyesSupabase service role key for database access

Tech Stack

  • Protocol: MCP SDK v1.0.0 (stdio transport)
  • Language: TypeScript
  • Database: Supabase (PostgreSQL)
  • Runtime: Node.js 18+
  • Package: @prinz_esox/swiss-health-mcp
  • Registry ID: io.github.remoprinz/swiss-health-mcp

Development

bash
git clone https://github.com/remoprinz/swiss-health-mcp.gitcd swiss-health-mcpnpm installnpm run dev     # Start with tsxnpm run build   # Compile TypeScript

Project Structure

src/index.ts       # Complete server implementation (~530 lines)server.json        # MCP registry manifestsmithery.yaml      # Smithery registry configllms.txt           # LLM-readable project descriptionCITATION.cff       # Citation metadata

License

MIT -- Remo Prinz

Links

Source: README.md at commit 3dd3d60

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.8LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts