Bilkalkylen
Swedish car advice: monthly cost, find and compare cars, leasing campaigns.
我該用這個嗎
品質與安全性
發現項目(1)
- LOW在 explain_costs 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"bilkalkylen": {
"url": "https://tur-bilkalkylen.vercel.app/mcp"
}
}
}遠端端點
https://tur-bilkalkylen.vercel.app/mcpstreamable-http它能做什麼
工具清單
工具(10)
🟢find_car(budgetPerManad, anskaffning, minLastutrymmeLiter, minRackviddKm, drivmedel, ...)
Ger en rangordnad shortlist av bilar utifrån behov (budget kr/mån, bagage, räckvidd, drivmedel, märken, mil/år) med total månadskostnad, kostnadsuppdelning och motivering. Använd först när användaren vill ha hjälp att välja bil.
輸入結構描述
{
"type": "object",
"properties": {
"budgetPerManad": {
"type": "number"
},
"anskaffning": {
"type": "string",
"enum": [
"kop_ny",
"kop_begagnad",
"privatleasing"
]
},
"minLastutrymmeLiter": {
"type": "number"
},
"minRackviddKm": {
"type": "number"
},
"drivmedel": {
"type": "array",
"items": {
"type": "string",
"enum": [
"el",
"bensin",
"diesel",
"laddhybrid",
"hybrid"
]
}
},
"marken": {
"type": "array",
"items": {
"type": "string"
}
},
"milPerAr": {
"type": "number"
},
"ar": {
"type": "number"
},
"prioritet": {
"type": "string",
"enum": [
"lagst_kostnad",
"storlek",
"palitlighet"
]
},
"limit": {
"type": "number"
}
}
}🟢compare_cars(ids, anskaffning, milPerAr, ar)
Jämför 2–5 bilar (id från find_car) sida vid sida: total månadskostnad, kostnadsposter och skillnad mot billigaste.
輸入結構描述
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 5
},
"anskaffning": {
"type": "string",
"enum": [
"kop_ny",
"kop_begagnad",
"privatleasing"
]
},
"milPerAr": {
"type": "number"
},
"ar": {
"type": "number"
}
},
"required": [
"ids"
]
}🟢total_cost(anskaffning, drivmedel, pris, leasingPerManad, leasingInklService, ...)
Räknar total ägandekostnad (TCO) per månad för valfri bil i Sverige: värdeminskning, ränta eller leasing, drivmedel/el, försäkring, fordonsskatt (inkl. malus enligt Transportstyrelsen), service, däck, besiktning. Ange pris (köp) eller leasingPerManad (privatleasing).
輸入結構描述
{
"type": "object",
"properties": {
"anskaffning": {
"type": "string",
"enum": [
"kop_ny",
"kop_begagnad",
"privatleasing"
]
},
"drivmedel": {
"type": "string",
"enum": [
"el",
"bensin",
"diesel",
"laddhybrid",
"hybrid"
]
},
"pris": {
"type": "number"
},
"leasingPerManad": {
"type": "number"
},
"leasingInklService": {
"type": "boolean"
},
"ar": {
"type": "number"
},
"milPerAr": {
"type": "number"
},
"forbrukning": {
"type": "number",
"description": "l/mil eller kWh/mil"
},
"co2GramPerKm": {
"type": "number"
},
"forsakringPerAr": {
"type": "number"
},
"servicePerAr": {
"type": "number"
},
"kontantinsatsAndel": {
"type": "number"
},
"ranta": {
"type": "number"
},
"vardeminskningPerAr": {
"type": "number"
},
"bensinpris": {
"type": "number"
},
"dieselpris": {
"type": "number"
},
"elpris": {
"type": "number"
}
}
}🟢list_campaigns(maxPerManad, marke, sok, limit)
Listar insamlade privatleasingkampanjer från svenska återförsäljare/leasingbolag, sorterat på jämförbart månadspris. Filtrera på maxPerManad, märke eller fritext. Varje rad har insamlingsdatum och länk som användaren kan öppna.
輸入結構描述
{
"type": "object",
"properties": {
"maxPerManad": {
"type": "number"
},
"marke": {
"type": "string"
},
"sok": {
"type": "string"
},
"limit": {
"type": "number"
}
}
}🟡create_watch(email, samtycke, maxPerManad, marke, sok, ...)
Skapar en bevakning så användaren får mejl om nya kampanjer som matchar (pris, märke, fritext). Kräver e-post och uttryckligt samtycke – fråga användaren innan du anropar. Inga mejl skickas förrän användaren bekräftat (dubbel opt-in). Om användaren är inloggad (OAuth) blir anropet ett utkast som måste godkännas via confirm_action, och e-post tas från kontot.
輸入結構描述
{
"type": "object",
"properties": {
"email": {
"type": "string"
},
"samtycke": {
"type": "boolean"
},
"maxPerManad": {
"type": "number"
},
"marke": {
"type": "string"
},
"sok": {
"type": "string"
},
"drivmedel": {
"type": "string",
"enum": [
"el",
"bensin",
"diesel",
"laddhybrid",
"hybrid"
]
}
},
"required": [
"email",
"samtycke"
]
}🟢explain_costs
Returnerar reglerna (fordonsskatt, malus) med källor och alla standardantaganden som kalkylen använder.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_my_profile
Kräver inloggning. Hämtar användarens sparade profil (mil/år, ägandetid, anskaffning, budget, försäkring, energipriser) som används i my_monthly_cost.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢my_monthly_cost(bilId, milPerAr, ar, anskaffning, budgetPerManad, ...)
Kräver inloggning. Räknar total månadskostnad för en bil (bilId från find_car) med användarens profil (mil/år, år, anskaffning, försäkring, energipris, ränta). Argument i anropet överstyr profilen.
輸入結構描述
{
"type": "object",
"properties": {
"bilId": {
"type": "string"
},
"milPerAr": {
"type": "number"
},
"ar": {
"type": "number"
},
"anskaffning": {
"type": "string",
"enum": [
"kop_ny",
"kop_begagnad",
"privatleasing"
]
},
"budgetPerManad": {
"type": "number"
},
"forsakringPerAr": {
"type": "number"
},
"elpris": {
"type": "number"
},
"bensinpris": {
"type": "number"
},
"dieselpris": {
"type": "number"
},
"ranta": {
"type": "number"
},
"kontantinsatsAndel": {
"type": "number"
},
"drivmedel": {
"type": "array",
"items": {
"type": "string"
}
},
"postort": {
"type": "string"
}
},
"required": [
"bilId"
],
"additionalProperties": false
}🟢save_profile(milPerAr, ar, anskaffning, budgetPerManad, forsakringPerAr, ...)
Kräver inloggning. Steg 1 av 2: skapar ett UTKAST av profilen och returnerar bekraftelseId. Inget sparas förrän confirm_action anropas efter att användaren uttryckligen godkänt.
輸入結構描述
{
"type": "object",
"properties": {
"milPerAr": {
"type": "number"
},
"ar": {
"type": "number"
},
"anskaffning": {
"type": "string",
"enum": [
"kop_ny",
"kop_begagnad",
"privatleasing"
]
},
"budgetPerManad": {
"type": "number"
},
"forsakringPerAr": {
"type": "number"
},
"elpris": {
"type": "number"
},
"bensinpris": {
"type": "number"
},
"dieselpris": {
"type": "number"
},
"ranta": {
"type": "number"
},
"kontantinsatsAndel": {
"type": "number"
},
"drivmedel": {
"type": "array",
"items": {
"type": "string"
}
},
"postort": {
"type": "string"
}
},
"additionalProperties": false
}🟡confirm_action(bekraftelseId, user_confirmed)
Kräver inloggning. Steg 2 av 2: utför en åtgärd från save_profile/create_watch. Anropa ENDAST efter att användaren uttryckligen sagt ja till sammanfattningen, med user_confirmed=true. Bekräftelse-id gäller 10 minuter och en gång.
輸入結構描述
{
"type": "object",
"properties": {
"bekraftelseId": {
"type": "string"
},
"user_confirmed": {
"type": "boolean",
"description": "true endast om användaren uttryckligen godkänt"
}
},
"required": [
"bekraftelseId",
"user_confirmed"
],
"additionalProperties": false
}社群
證據