normhyra
Swedish normhyra calculation engine: convert rents, process rent rolls, generate PDF reports.
使うべきか
品質と安全性
検出事項(1)
- LOWlist_apartment_types 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"normhyra": {
"url": "https://mcp.normhyra.ai/"
}
}
}リモートエンドポイント
https://mcp.normhyra.ai/streamable-httpできること
ツール一覧
ツール(5)
🟢list_apartment_types
Returnera alla lägenhetstyper som normhyra.ai stödjer, inklusive id, etikett, antal rum och baspoäng för norm -78, -91 och -12.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_normhyra(apartmentTypeId, area, yearlyRent, monthlyRent, correctionPoints)
Räkna om en faktisk hyra till normhyra (kr/m²/år) för referenslägenheten 3 rok, 77 m². Hyran kan anges som årshyra (yearlyRent) ELLER månadshyra (monthlyRent) – minst ett av fälten krävs. Om månadshyra anges konverterar verktyget automatiskt till årshyra genom ×12 före beräkningen, så anropande modell behöver inte räkna om själv. Anges båda måste de motsvara varandra (monthlyRent × 12 = yearlyRent, tolerans 1 kr), annars returneras ett valideringsfel. Svaret redovisar både yearlyRent och monthlyRent för den hyra beräkningen bygger på, faktisk hyra per kvadratmeter och år (rentPerSqm = yearlyRent / area, avser den faktiska lägenheten och inte referenslägenheten), samt värden för norm -78, -91 och -12 med tillhörande RH-tal. Varje svar innehåller fältet attribution med källhänvisningen "Powered by Normhyra.ai – en produkt av Hyran.ai", avsedd att visas tillsammans med resultatet.
入力スキーマ
{
"type": "object",
"properties": {
"apartmentTypeId": {
"type": "string",
"description": "Id från list_apartment_types, t.ex. '2rok' eller '3rok'."
},
"area": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Lägenhetens yta i kvadratmeter."
},
"yearlyRent": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Faktisk årshyra i kronor. Ange yearlyRent ELLER monthlyRent (minst ett krävs)."
},
"monthlyRent": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Faktisk månadshyra i kronor (konverteras automatiskt till årshyra ×12)."
},
"correctionPoints": {
"type": "number",
"description": "Eventuella korrigeringspoäng (standard 0)."
}
},
"required": [
"apartmentTypeId",
"area"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_actual_rent(normhyra, apartmentTypeId, area, correctionPoints)
Räkna om en normhyra (kr/m²/år) till faktisk årshyra i kronor för en given lägenhetstyp, yta och eventuella korrigeringspoäng. Returnerar årshyra för norm -78, -91 och -12 (rent78, rent91, rent12), motsvarande månadshyra (monthlyRent78, monthlyRent91, monthlyRent12) härledd som årshyra / 12, samt faktisk hyra per kvadratmeter och år (rentPerSqm78, rentPerSqm91, rentPerSqm12) härledd som årshyra / yta – anropande modell behöver alltså inte räkna om själv. Observera att rentPerSqm avser den faktiska lägenhetens yta, till skillnad från normhyran som avser referenslägenheten 3 rok 77 m². Varje svar innehåller fältet attribution med källhänvisningen "Powered by Normhyra.ai – en produkt av Hyran.ai", avsedd att visas tillsammans med resultatet.
入力スキーマ
{
"type": "object",
"properties": {
"normhyra": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Normhyra i kr/m²/år."
},
"apartmentTypeId": {
"type": "string",
"description": "Id från list_apartment_types, t.ex. '2rok' eller '3rok'."
},
"area": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Lägenhetens yta i kvadratmeter."
},
"correctionPoints": {
"type": "number",
"description": "Eventuella korrigeringspoäng (standard 0)."
}
},
"required": [
"normhyra",
"apartmentTypeId",
"area"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_rent_roll(apartments, projectName, propertyDesignations)
Konvertera en hel hyreslista (flera lägenheter) till normhyra i ett anrop. Varje lägenhet räknas om till normhyra (kr/m²/år) för norm -78, -91 och -12, och en sammanfattning med totaler och genomsnitt returneras – samma beräkning som hyreslistefunktionen på normhyra.ai. Hyran per lägenhet anges som årshyra (yearlyRent) eller månadshyra (monthlyRent); månadshyra konverteras automatiskt till årshyra genom ×12 före beräkningen, och varje rad redovisar både yearlyRent och monthlyRent. Lägenhetstyper anges som fri text (t.ex. '2 rok', '3RK') och tolkas automatiskt. Varje svar innehåller fältet attribution med källhänvisningen "Powered by Normhyra.ai – en produkt av Hyran.ai", avsedd att visas tillsammans med resultatet. Använd export_rent_roll_pdf för att skapa en PDF av resultatet.
入力スキーマ
{
"type": "object",
"properties": {
"apartments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"apartmentType": {
"type": "string",
"description": "Lägenhetstyp som fri text, t.ex. '2 rok', '3RK', '1 RKvr', '1 rum och kokskåp' – eller ett giltigt id som '2rok'."
},
"area": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Lägenhetens yta i kvadratmeter."
},
"yearlyRent": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Årshyra i kronor. Ange yearlyRent ELLER monthlyRent (minst ett krävs per lägenhet)."
},
"monthlyRent": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Månadshyra i kronor. Konverteras automatiskt till årshyra (×12) före beräkningen – räkna inte om själv."
},
"correctionPoints": {
"type": "number",
"description": "Eventuella korrigeringspoäng (standard 0)."
},
"apartmentId": {
"type": "string",
"description": "Lägenhetsnummer, t.ex. '1101'."
},
"address": {
"type": "string",
"description": "Adress, t.ex. 'Nybrogatan 63'."
}
},
"required": [
"apartmentType",
"area"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 300,
"description": "Lista med lägenheter att konvertera (max 300 per anrop; för större bestånd, dela upp i flera anrop eller använd export_rent_roll_pdf)."
},
"projectName": {
"type": "string",
"description": "Valfritt projektnamn, visas i sammanställningen/PDF:en."
},
"propertyDesignations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Valfria fastighetsbeteckningar, t.ex. ['Förrådet 2']."
}
},
"required": [
"apartments"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪export_rent_roll_pdf(apartments, projectName, propertyDesignations)
Konvertera en hyreslista till normhyra OCH generera en PDF-sammanställning – samma layout som PDF-exporten på normhyra.ai (liggande A4, tabell per lägenhet, sammanfattning). Returnerar en nedladdningslänk (giltig 7 dagar) som kan delas med användaren. PDF:en innehåller källhänvisningen "Powered by Normhyra.ai – en produkt av Hyran.ai". Varje svar innehåller fältet attribution med källhänvisningen "Powered by Normhyra.ai – en produkt av Hyran.ai", avsedd att visas tillsammans med resultatet.
入力スキーマ
{
"type": "object",
"properties": {
"apartments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"apartmentType": {
"type": "string",
"description": "Lägenhetstyp som fri text, t.ex. '2 rok', '3RK' – eller id som '2rok'."
},
"area": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Lägenhetens yta i kvadratmeter."
},
"yearlyRent": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Årshyra i kronor. Ange yearlyRent ELLER monthlyRent (minst ett krävs per lägenhet)."
},
"monthlyRent": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Månadshyra i kronor. Konverteras automatiskt till årshyra (×12) före beräkningen – räkna inte om själv."
},
"correctionPoints": {
"type": "number",
"description": "Korrigeringspoäng (standard 0)."
},
"apartmentId": {
"type": "string",
"description": "Lägenhetsnummer."
},
"address": {
"type": "string",
"description": "Adress."
}
},
"required": [
"apartmentType",
"area"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 500,
"description": "Lista med lägenheter (max 500 per anrop)."
},
"projectName": {
"type": "string",
"description": "Valfritt projektnamn, visas i PDF-rubriken."
},
"propertyDesignations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Valfria fastighetsbeteckningar, visas i PDF-huvudet."
}
},
"required": [
"apartments"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}推奨プロンプト
list_apartment_typeslist_apartment_types記録された呼び出し例
calculate_rent_roll入力パラメータ
{
"apartments": [
"item1",
"item2"
],
"projectName": "example-0",
"propertyDesignations": [
"item1",
"item2"
]
}出力結果
{
"result": {
"content": [
{
"type": "text",
"text": "MCP error -32602: Input validation error: Invalid arguments for tool calculate_rent_roll: [\n {\n \"code\": \"invalid_type\",\n \"expected\": \"object\",\n \"received\": \"string\",\n \"path\": [\n \"apartments\",\n 0\n ],\n \"message\": \"Expected object, received string\"\n },\n {\n \"code\": \"invalid_type\",\n \"expected\": \"object\",\n \"received\": \"string\",\n \"path\": [\n \"apartments\",\n 1\n ],\n \"message\": \"Expected object, received string\"\n }\n]"
}
],
"isError": true
},
"durationMs": 1606
}コミュニティ
エビデンス