Krankenkasse Copilot

Swiss health insurance 2027: rank every insurer, model and deductible with official BAG data.

我該用這個嗎

品質與安全性

B
說明品質
68%
結構描述完整度
80%
命名品質
85%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(3)

  • LOWTool 'find_postcode' description lacks action verb在 find_postcode 中
  • LOWTool 'compare_insurance' description lacks action verb在 compare_insurance 中
  • LOWTool 'switching_deadlines' description lacks action verb在 switching_deadlines 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~928Token(工具定義)
~2.0 KB典型回應大小
中等的注意力影響(128k 上下文的 0.73%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "krankenkasse-copilot": {
      "url": "https://krankenkasse-copilot.vercel.app/api/mcp"
    }
  }
}

遠端端點

https://krankenkasse-copilot.vercel.app/api/mcpstreamable-http

它能做什麼

工具清單

工具(4)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢find_postcode(postcode)

Look up a Swiss postcode: municipalities, canton and BAG premium region. Use it when a postcode may cover several municipalities.

輸入結構描述

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 9999,
      "description": "Swiss 4 digit postcode"
    }
  },
  "required": [
    "postcode"
  ]
}
🟢compare_insurance(postcode, municipality_bfs, age_group, works_8h_per_week, yearly_health_costs, ...)

Rank every insurer, model and deductible for one person by the full yearly cost for 2027 (premiums plus the bills they pay themselves). Returns the best options, the best deductible, the break-even point, the worst case and the saving against their current insurance.

輸入結構描述

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 9999,
      "description": "Swiss 4 digit postcode, e.g. 8001"
    },
    "municipality_bfs": {
      "type": "integer",
      "minimum": 0,
      "description": "BFS number from find_postcode, only needed if the postcode covers several municipalities"
    },
    "age_group": {
      "type": "string",
      "enum": [
        "19-25",
        "26+"
      ],
      "description": "Age in 2027"
    },
    "works_8h_per_week": {
      "type": "boolean",
      "description": "Works at least 8 hours a week for one employer. If true, accident cover is left out because the employer covers it"
    },
    "yearly_health_costs": {
      "type": "number",
      "minimum": 0,
      "maximum": 200000,
      "description": "Expected doctor bills per year in CHF. If missing, estimated from the visit counts below"
    },
    "gp_visits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100,
      "description": "Family doctor visits per year (about CHF 150 each)"
    },
    "specialist_visits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 200,
      "description": "Specialist or therapy sessions per year (about CHF 280 each)"
    },
    "medication_per_month": {
      "type": "number",
      "minimum": 0,
      "maximum": 5000,
      "description": "Medication in CHF per month"
    },
    "model": {
      "type": "string",
      "enum": [
        "standard",
        "hausarzt",
        "hmo",
        "telmed",
        "flex"
      ],
      "description": "Only show this insurance model"
    },
    "franchise": {
      "type": "integer",
      "description": "Only show this deductible (300, 500, 1000, 1500, 2000 or 2500)"
    },
    "current_insurer": {
      "type": "string",
      "description": "Name of the current insurer, e.g. \"Helsana\""
    },
    "current_monthly_premium": {
      "type": "number",
      "minimum": 0,
      "maximum": 3000,
      "description": "What they pay today per month for basic insurance"
    },
    "current_franchise": {
      "type": "integer",
      "description": "Their deductible today"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "How many options to return, default 5, best per insurer"
    }
  },
  "required": [
    "postcode",
    "age_group",
    "works_8h_per_week"
  ]
}
🟢draft_switch_letter(kind, full_name, street, postcode_town, current_insurer, ...)

Write the German letter to cancel basic insurance (Kündigung) or to change deductible or model with the same insurer. The person prints it, signs it by hand and posts it so it arrives by 30 November. Nothing is stored.

輸入結構描述

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "cancel",
        "change"
      ],
      "description": "\"cancel\" to leave the current insurer, \"change\" to stay and change deductible or model"
    },
    "full_name": {
      "type": "string"
    },
    "street": {
      "type": "string"
    },
    "postcode_town": {
      "type": "string",
      "description": "e.g. \"8008 Zürich\""
    },
    "current_insurer": {
      "type": "string"
    },
    "insurer_address": {
      "type": "string"
    },
    "insurance_number": {
      "type": "string"
    },
    "birth_date": {
      "type": "string"
    },
    "new_franchise": {
      "type": "integer",
      "description": "Only for kind \"change\""
    },
    "new_model": {
      "type": "string",
      "description": "Only for kind \"change\""
    }
  },
  "required": [
    "kind",
    "full_name",
    "street",
    "postcode_town",
    "current_insurer"
  ]
}
🟢switching_deadlines

The dates that matter for changing Krankenkasse, model or deductible for 2027, with days left from today.

輸入結構描述

{
  "type": "object",
  "properties": {}
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具