The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Swiss Health MCP listing page.
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.
Add this to your Claude Desktop config (claude_desktop_config.json) or Cursor settings (.cursor/mcp.json):
Or install globally:
The server is also available on the Smithery registry and the MCP Registry.
get_cheapest_insurersFind the top 5 cheapest health insurers for a given profile.
| Parameter | Type | Required | Description |
|---|---|---|---|
canton | string | yes | Canton code (e.g. ZH, BE, GE) |
year | number | yes | Year (2016--2026) |
age_band | string | yes | child (0--18), young_adult (19--25), adult (26+) |
franchise_chf | number | yes | Deductible: 0, 100, 200, 300, 400, 500, 600, 1000, 1500, 2000, 2500 |
model_type | string | no | standard (default), hmo, telmed, family_doctor, diverse |
accident_covered | boolean | no | Include accident coverage (default: true) |
compare_insurersSide-by-side comparison of specific insurers for the same profile.
| Parameter | Type | Required | Description |
|---|---|---|---|
insurer_names | string[] | yes | Insurer names (e.g. ["CSS", "Helsana", "Swica"]) |
canton | string | yes | Canton code |
year | number | yes | Year (2016--2026) |
age_band | string | yes | Age group |
franchise_chf | number | yes | Deductible in CHF |
get_price_history10-year price development for a single insurer with year-over-year percentage change.
| Parameter | Type | Required | Description |
|---|---|---|---|
insurer_name | string | yes | Insurer name (e.g. CSS, Helsana) |
canton | string | yes | Canton code |
age_band | string | yes | Age group |
franchise_chf | number | yes | Deductible in CHF |
start_year | number | no | Start year (default: 2016) |
end_year | number | no | End year (default: 2026) |
get_database_statsReturns coverage statistics and metadata. No parameters.
| Dimension | Coverage |
|---|---|
| Records | 1,611,386+ |
| Insurers | 55 (CSS, Helsana, Swica, Assura, KPT, Groupe Mutuel, Sanitas, ...) |
| Cantons | 26 (all Swiss cantons) |
| Years | 11 (2016--2026) |
| Franchise levels | 11 (CHF 0--2,500) |
| Insurance models | 5 (standard, HMO, telmed, family doctor, diverse) |
| Age bands | 3 (child, young adult, adult) |
All data comes from BAG Priminfo, the official database of the Swiss Federal Office of Public Health.
| Variable | Required | Description |
|---|---|---|
SUPABASE_URL | yes | Supabase project URL |
SUPABASE_SERVICE_ROLE_KEY | yes | Supabase service role key for database access |
io.github.remoprinz/swiss-health-mcpMIT -- Remo Prinz