Swiss health insurance premiums (Krankenkassen-Prämien) 2016-2026. 1.6M records from BAG.
Swiss health insurance premiums (Krankenkassen-Prämien) 2016-2026. 1.6M records from BAG. This MCP server provides structured access to a large health-insurance dataset, enabling AI assistants to query premium data by year, insurer, cantons, and official government sources.
🛠️ Key Features
Provides 1.6 million premium records across 55 insurers and 26 cantons
Coverage for 2016–2026 with official BAG Priminfo data sourcing
Built on the Model Context Protocol (MCP) for structured access
Documentation and npm package integration available
🚀 Use Cases
Retrieve premiums by year, insurer, or canton
Feed AI assistants with defensible, government-sourced health data
Integrate MCP server data into analytics or decision-support workflows
⚡ Developer Benefits
Clear MCP-based data access model for conversational AI
Open-source MIT-licensed repository with npm integration
Readme excerpts and provenance from BAG Priminfo
⚠️ Limitations
Data limited to 2016–2026 as provided by BAG Priminfo
Coverage corresponds to 55 insurers and 26 cantons; not all entities may be represented equally across years
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.
standard (default), hmo, telmed, family_doctor, diverse
accident_covered
boolean
no
Include accident coverage (default: true)
compare_insurers
Side-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_history
10-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_stats
Returns coverage statistics and metadata. No parameters.
Data
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.
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
code
"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?"
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