swiss-living-index
Official Swiss data for all 26 cantons and 2,100 communes: tax, rent, health premiums, fuel, jobs.
我該用這個嗎
品質與安全性
發現項目(4)
- LOW在 compare_cantons 中
- LOW在 get_payroll_rates 中
- LOW在 get_commune 中
- LOW在 tax_by_commune 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"swiss-living-index": {
"url": "https://swisslivingindex.ch/mcp"
}
}
}遠端端點
https://swisslivingindex.ch/mcpstreamable-http它能做什麼
工具清單
工具(34)
🟢list_metrics
List available metrics for the 26 Swiss cantons (key, label, unit, source, what higher/lower means).
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_canton(canton)
Get all metric values for one canton. canton = 2-letter abbreviation (e.g. ZH, GE, TI). rank 1 = lowest value for cost metrics (dir 'low', e.g. taxes/rent) and highest value for capacity/benefit metrics (dir 'high', e.g. sunshine/jobs). Ranks describe order under the stated scenario, not universal suitability.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
}
},
"required": [
"canton"
]
}🟢rank_by_metric(metric, order)
Rank all cantons by a metric. metric = a key from list_metrics; order = "high" or "low" (default high).
輸入結構描述
{
"type": "object",
"properties": {
"metric": {
"type": "string"
},
"order": {
"type": "string"
}
},
"required": [
"metric"
]
}⚪compare_cantons(cantons)
Compare 2–4 cantons across all metrics. cantons = array of abbreviations.
輸入結構描述
{
"type": "object",
"properties": {
"cantons": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"cantons"
]
}⚪commune_tax(commune, income, married, children, wealth)
Live income+wealth tax for a specific commune & household (official ESTV, year 2026). commune = name or postcode; income in CHF; married bool; children count; wealth in CHF.
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string"
},
"income": {
"type": "number"
},
"married": {
"type": "boolean"
},
"children": {
"type": "number"
},
"wealth": {
"type": "number"
}
},
"required": [
"commune",
"income"
]
}🟢search_commune(query)
Find Swiss communes by name or postcode (official ESTV location register). Returns commune name, canton and postcode — use before commune_tax or estimate_net_move when the spelling is uncertain.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
]
}⚪estimate_net_move(from_commune, to_commune, income, married, children, ...)
Estimate the net yearly CHF impact of moving between two Swiss communes for a household: live commune-level tax (official ESTV 2026) plus canton-average rent and health-premium differences. Positive savings = the move saves money. The flagship relocation calculation as a tool.
輸入結構描述
{
"type": "object",
"properties": {
"from_commune": {
"type": "string",
"description": "current commune name or postcode"
},
"to_commune": {
"type": "string",
"description": "candidate commune name or postcode"
},
"income": {
"type": "number",
"description": "gross household income, CHF/year"
},
"married": {
"type": "boolean"
},
"children": {
"type": "number"
},
"wealth": {
"type": "number",
"description": "taxable wealth, CHF"
}
},
"required": [
"from_commune",
"to_commune",
"income"
]
}🟢get_trend(canton, metric, from_year)
Historical year-series for a metric in one canton (e.g. sunshine back to 1884, migration to 1981, rent to 2010). metric = key from list_metrics with history: rent_mean, net_migration_per_1000, foreigner_pct, sunshine_hours, balance_per_capita, beds_per_1000, jobs, unemployment_pct (SECO yearly averages to 1993). Optional from_year.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
},
"metric": {
"type": "string"
},
"from_year": {
"type": "number"
}
},
"required": [
"canton",
"metric"
]
}⚪upcoming_votes
The next Swiss federal vote dates and (once announced) the subjects on the ballot, in DE/FR/IT/EN (official Federal Chancellery / VoteInfo data).
輸入結構描述
{
"type": "object",
"properties": {}
}🟢recommend_canton(cost, tax, work, env, health, ...)
Personal canton recommendation ("Where should I live in Switzerland?"): weight 5 categories 0–3 (cost = rent/premiums/electricity; tax = income tax/fiscal balance; work = jobs/unemployment/migration; env = sunshine/crime/vacancy; health = hospital capacity) and get all 26 cantons scored by the transparent percentile method of the Swiss Living Quality Index. Every evidence figure carries value, unit, rank, source and year. Scores describe order under the stated weights, not universal suitability.
輸入結構描述
{
"type": "object",
"properties": {
"cost": {
"type": "number",
"description": "0-3, default 2"
},
"tax": {
"type": "number"
},
"work": {
"type": "number"
},
"env": {
"type": "number"
},
"health": {
"type": "number"
},
"infra": {
"type": "number",
"description": "0-3, connectivity & infrastructure (active once infra metrics ship)"
},
"international_community": {
"type": "boolean",
"description": "include foreigner share, higher preferred"
},
"limit": {
"type": "number",
"description": "top N with evidence, default 5"
}
}
}🟢get_salary(canton, region, sector, year)
Official gross monthly salaries in Switzerland (BFS Swiss Earnings Structure Survey LSE): median and P10/P25/P75/P90 for all employees, women and men, by major region and economic sector. canton (2-letter) is mapped to its BFS major region, because the FSO publishes salaries by major region only; sector = NOGA division code (e.g. 62) or a word (e.g. "IT", "banking", "construction"); year = survey year (default latest). CHF per month, gross, standardised to full time.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
},
"region": {
"type": "string",
"description": "major region code 1–7 or -1 for Switzerland"
},
"sector": {
"type": "string"
},
"year": {
"type": "number"
}
}
}🟢get_minimum_wage(canton)
Statutory cantonal minimum wages in Switzerland (official cantonal pages): hourly amount, valid from, history and the monthly equivalent at 40 hours. Only five cantons have one (BS, GE, JU, NE, TI); without canton the list of all five is returned. Elsewhere minimums apply only through collective or standard employment contracts.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
}
}
}🟢get_payroll_rates
Official Swiss social-security payroll deductions for the current year (AHV/IV/EO, unemployment insurance ALV with ceiling, occupational pension BVG coordinated salary and age credits), as used for a gross-to-net salary estimate.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_premium_subsidy(canton)
Health-insurance premium subsidies (Prämienverbilligung / réduction des primes) per canton (FOPH KVSTAT): share of insured receiving a subsidy, average CHF per beneficiary and per household, subsidy as % of the mean premium, federal vs cantonal funding, plus the responsible cantonal office (name, address, phone, website). canton = 2-letter abbreviation.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
}
},
"required": [
"canton"
]
}🟢get_family_tax_deductions(canton)
Swiss income-tax deductions for families (ESTV tax folder): maximum childcare (third-party care) deduction per child and the child deduction (Kinderabzug) rule for a canton, plus the federal values. canton = 2-letter abbreviation; omit for federal only.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
}
}
}🟢get_housing_costs(canton)
Average monthly housing costs per household in Switzerland (BFS household budget survey HABE): net rent or mortgage interest, ancillary costs (Nebenkosten: flat-rate charges, water, waste water, waste, upkeep), energy (electricity, gas/fuels, heating), with BFS quality grades. Latest year for Switzerland; with canton also the values of its major region (pooled period). Means over all households incl. owners.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
}
}
}🟡get_reference_rate(lease_rate)
Swiss mortgage reference interest rate for rents (BWO/FOH): current rate, valid since, next publication dates, every change since 2008, and the rule for rent adjustments (VMWG Art. 13). Optional lease_rate (the rate in the lease) returns the quarter-point steps since then. Also returns the latest BFS rent price index (quarterly change, annual change, share of rents up/down/unchanged).
輸入結構描述
{
"type": "object",
"properties": {
"lease_rate": {
"type": "number",
"description": "reference rate stated in the lease, e.g. 1.75"
}
}
}🟢list_datasets(topic, query, geography)
Catalogue of EVERY dataset published by the Swiss Living Index (about 125: migration, births and first names, crime, public finances, cross-border commuters, vehicles, broadband, sustainability, naturalisations, permits, health care, housing, income, education and more), each with source, geography (Switzerland / canton / commune), years and page. Without arguments it returns the topics; with topic or query it returns the matching datasets. Then read one with get_dataset.
輸入結構描述
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "topic key from the topic list, e.g. migration"
},
"query": {
"type": "string",
"description": "words to match in title, source or id"
},
"geography": {
"type": "string",
"description": "switzerland, canton or commune"
}
}
}🟢get_dataset(id, canton, commune, section, from_year, ...)
Read one Swiss Living Index dataset (id from list_datasets), exactly as published on the site (official values, unchanged). Filter with canton (2-letter) and/or commune (name or BFS number), section (a top-level key), from_year / to_year. Large datasets return a size summary first so you can narrow the request. Every reply carries source, source URL and the page to cite.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"canton": {
"type": "string"
},
"commune": {
"type": "string"
},
"section": {
"type": "string"
},
"from_year": {
"type": "number"
},
"to_year": {
"type": "number"
},
"max_kb": {
"type": "number",
"description": "reply size limit in KB, default 150, max 600"
}
},
"required": [
"id"
]
}🟢get_commune(commune)
Fact sheet for one Swiss commune (by name, BFS number or postcode): population, foreign residents, migration, jobs, new dwellings, gigabit and fibre coverage, public-transport accessibility, solar power, EV share, cars, cross-border commuters, commune finances, its canton context (tax, rent, premium ranks), live income tax for a reference profile (official ESTV), and the national fuel reference.
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string"
}
},
"required": [
"commune"
]
}⚪compare_health_insurers(commune, region, year, age_group, deductible, ...)
Every approved basic health-insurance premium (FOPH) for a commune or premium region: cheapest offers for an adult (26+), young adult (19–25) or child, by deductible, insurance model (standard, family doctor/HMO, telemedicine, other) and accident cover, with the insurer and product. year 2027 (next year) or 2026. Premiums depend on the commune of residence, so give commune (name or BFS number) or region (e.g. ZH-1).
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string"
},
"region": {
"type": "string"
},
"year": {
"type": "number"
},
"age_group": {
"type": "string",
"description": "adult (default), young_adult or child"
},
"deductible": {
"type": "number",
"description": "CHF, e.g. 300 or 2500"
},
"model": {
"type": "string",
"description": "standard, family_doctor, telemedicine, other or any (default)"
},
"accident": {
"type": "boolean",
"description": "true = accident cover included (default false: covered by the employer)"
},
"limit": {
"type": "number",
"description": "number of offers, default 10"
}
}
}🟢get_electricity_price(commune, category, kwh, year)
Official electricity tariff (ElCom) for a Swiss commune and its grid operator(s): total, energy, grid use, commune charges and federal levy in Rappen per kWh, for 2025–2027, and the yearly bill for a consumption profile (ElCom categories H1–H8, default H4 = 5-room flat, 4500 kWh) or your own kWh.
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string"
},
"category": {
"type": "string",
"description": "H1–H8, default H4"
},
"kwh": {
"type": "number",
"description": "own yearly consumption (overrides the category volume)"
},
"year": {
"type": "number"
}
},
"required": [
"commune"
]
}⚪fuel_prices_near(place, lat, lon, fuel, km, ...)
Is the drive across the border worth it? Official station prices in France, Austria and Italy (live / daily official sources) near a Swiss place, ranked by net saving vs the official Swiss average price (BFS) after the fuel used for the round trip. place = postcode or locality (or lat/lon). Location is used for this lookup only.
輸入結構描述
{
"type": "object",
"properties": {
"place": {
"type": "string"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"fuel": {
"type": "string",
"description": "unleaded95 (default) or diesel"
},
"km": {
"type": "number",
"description": "search radius, 2–40, default 10"
},
"tank": {
"type": "number",
"description": "litres, default 50"
},
"consumption": {
"type": "number",
"description": "l/100 km, default 7"
}
}
}⚪ev_charging_near(place, lat, lon, km)
Live availability of public EV charging points in Switzerland (official SFOE feed, minutes old): national and per-canton availability and fast chargers; with place (postcode or locality) or lat/lon also the nearest points within km with their live status. No prices (no official register exists).
輸入結構描述
{
"type": "object",
"properties": {
"place": {
"type": "string"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"km": {
"type": "number",
"description": "radius, default 5, max 25"
}
}
}⚪commute_cost(from, to, km_one_way, days_per_month, consumption_l, ...)
Monthly commute cost between two Swiss places: by car at the official Swiss average fuel price (BFS) and by electric car at the home commune official electricity tariff (ElCom H4), plus the public-transport journey time (Swiss timetable). Distance defaults to straight line × 1.3 between the stations (labelled estimate) unless km_one_way is given. Public-transport fares are not open official data and are not included.
輸入結構描述
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "home place"
},
"to": {
"type": "string",
"description": "work place"
},
"km_one_way": {
"type": "number"
},
"days_per_month": {
"type": "number",
"description": "default 20"
},
"consumption_l": {
"type": "number",
"description": "l/100 km, default 7"
},
"ev_kwh": {
"type": "number",
"description": "kWh/100 km, default 18"
},
"fuel": {
"type": "string",
"description": "unleaded95 or diesel"
}
},
"required": [
"from",
"to"
]
}⚪household_budget(household)
What Swiss households spend per month (BFS household budget survey, official): income, social insurance, taxes, health premiums, food, restaurants, housing and energy, transport, leisure and more, for all households, singles, couples without children, families and retired couples.
輸入結構描述
{
"type": "object",
"properties": {
"household": {
"type": "string",
"description": "all, single, couple_no_children, family or retiree_couple; omit for all types"
}
}
}⚪salary_by_occupation(occupation, canton, region, age, year)
Official gross monthly salaries by occupation group (ISCO-08) and age band (up to 29, 30–49, 50+), median and P10–P90, for all, women and men, by major region (BFS LSE). occupation = ISCO code or words (e.g. "nurse", "engineer", "teacher", "IT"); canton maps to its major region.
輸入結構描述
{
"type": "object",
"properties": {
"occupation": {
"type": "string"
},
"canton": {
"type": "string"
},
"region": {
"type": "string"
},
"age": {
"type": "string",
"description": "all (default), under30, 30to49, 50plus"
},
"year": {
"type": "number"
}
}
}⚪cheapest_health_insurer(canton, region, commune)
The cheapest basic health insurer (FOPH-approved premiums, next year) in every Swiss premium region, or for one canton, region (e.g. ZH-1) or commune: cheapest standard premium (adult 26+, free choice of doctor, CHF 300 deductible, with accident cover) and the lowest possible premium (any model, highest deductible), plus how often each insurer is the cheapest nationally.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string",
"description": "2-letter abbreviation, optional"
},
"region": {
"type": "string",
"description": "premium region code, e.g. ZH-1, optional"
},
"commune": {
"type": "string",
"description": "name, postcode or BFS number, optional"
}
}
}🟢plan_move(from_commune, to_commune, income, married, children, ...)
Workflow for "I am moving from A to B in Switzerland: what changes for me?" in one call. Combines: income tax at both places (live ESTV, if income given), the health premium region and cheapest insurer at both places (FOPH), the electricity bill at both places (ElCom), the commute to work from both places (optional work_place), a side-by-side of both communes (official figures), and the official to-do list for a move within Switzerland (ch.ch) with the rules on taxes (StHG Art. 68) and premiums (KVG Art. 61). Each part fails independently, so one unavailable source never blocks the answer.
輸入結構描述
{
"type": "object",
"properties": {
"from_commune": {
"type": "string",
"description": "current commune, name or postcode"
},
"to_commune": {
"type": "string",
"description": "new commune, name or postcode"
},
"income": {
"type": "number",
"description": "gross household income CHF/year (optional, enables the tax comparison)"
},
"married": {
"type": "boolean"
},
"children": {
"type": "number"
},
"work_place": {
"type": "string",
"description": "workplace or station (optional, enables the commute comparison)"
},
"language": {
"type": "string",
"enum": [
"de",
"fr",
"it",
"en"
],
"description": "language of the to-do list, default en"
}
},
"required": [
"from_commune",
"to_commune"
]
}⚪tax_by_commune(commune, canton, household, limit)
Income tax on a CHF 100,000 gross salary in every Swiss commune (federal + cantonal + communal, no church tax, no wealth), from the official ESTV/FTA tax calculator, for two households: single (35) and married couple with two children (one earner). Give a commune (name or BFS number) for its tax and rank of all communes, a canton for its lowest and highest communes, or nothing for the national lowest/highest. household: single or family.
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string"
},
"canton": {
"type": "string"
},
"household": {
"type": "string",
"enum": [
"single",
"family"
]
},
"limit": {
"type": "number",
"description": "how many lowest/highest communes, default 10"
}
}
}🟡health_premium_increase(canton, insurer)
How much Swiss health insurance premiums rise next year: the FOPH official mean premium (all models and deductibles, as people chose them) for Switzerland and per canton, for adults, young adults (19–25) and children, previous year vs next year in CHF and %; plus the median change of each insurer's standard premium on the same tariff. canton and insurer are optional filters.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string"
},
"insurer": {
"type": "string",
"description": "insurer name, e.g. CSS, optional"
}
}
}⚪health_deductible_advice(commune, region, expected_costs, age_group, model, ...)
Which health insurance deductible (franchise) pays off: for a commune or premium region, age group, model and expected yearly health costs, the yearly premiums plus cost sharing (deductible + 10 % up to CHF 700, children CHF 350, KVG) for every deductible, the cheapest choice and the break-even between the lowest and highest deductible. Hospital contribution and the 40 % share on some medicines are not included.
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string"
},
"region": {
"type": "string"
},
"expected_costs": {
"type": "number",
"description": "expected health costs per year in CHF (doctor, medicines, hospital, therapy), default 1000"
},
"age_group": {
"type": "string",
"description": "adult (default), young_adult or child"
},
"model": {
"type": "string",
"description": "standard (default), family_doctor, telemedicine or any"
},
"accident": {
"type": "boolean",
"description": "accident cover included (default true; employees 8+ h a week are covered by the employer)"
},
"insurer": {
"type": "string",
"description": "one insurer by name, optional (default: the cheapest offer per deductible)"
}
}
}⚪switch_health_insurer
How to switch basic health insurance in Switzerland: the deadline for next year (receipt by 30 November, the Friday before on a weekend) with the days left, the five steps, when a switch is blocked (debts reminded by 30 November and unpaid by 31 December), the 30 June option (standard model with ordinary deductible only), deductible and model changes, and the free cancellation-letter page in DE/FR/IT/EN. Official sources: FOPH, priminfo, KVG Art. 7.
輸入結構描述
{
"type": "object",
"properties": {}
}⚪book_consultation(name, email, phone, topic, message, ...)
Request a personal consultation with Mirabello Consultancy (Swiss relocation & investment-migration specialists) for questions beyond the data — international moves, residency, lump-sum taxation, wealth planning. Requires explicit consent to share contact details.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"topic": {
"type": "string"
},
"message": {
"type": "string"
},
"consent": {
"type": "boolean",
"description": "must be true: the person explicitly consents to their contact details being shared with Mirabello Consultancy"
}
},
"required": [
"name",
"email",
"consent"
]
}建議的提示詞
search_communesearch_communelist_metricsget_cantonget_canton社群
證據