Skip to main content
Glama

normhyra

Server Details

Swedish normhyra calculation engine: convert rents, process rent rolls, generate PDF reports.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Tool DescriptionsA

Average 4.3/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation4/5

The tools are largely distinct: one converts normhyra to actual rent, one actual rent to normhyra for a single apartment, and two handle rent-roll batch conversions (one with PDF export). There is some conceptual overlap between calculate_normhyra and calculate_rent_roll, but the single-vs-batch distinction is clear from the descriptions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: calculate_* for computations, export_* for output generation, and list_* for reference data. The naming is predictable and makes the action of each tool immediately understandable.

Tool Count5/5

Five tools is well-scoped for a niche calculation service. Each tool covers a distinct part of the workflow: reference data, single conversion in both directions, batch conversion, and PDF export, with no redundant or bloated additions.

Completeness4/5

The core workflow is well covered: users can list apartment types, convert between actual and normhyra, process a rent roll, and export a PDF. A minor gap is that there is no batch inverse conversion (normhyra back to actual rents for multiple apartments), but this is not a critical dead end for the domain.

Available Tools

5 tools
calculate_actual_rentBeräkna faktisk hyraA
Read-onlyIdempotent
Inspect

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) samt motsvarande månadshyra (monthlyRent78, monthlyRent91, monthlyRent12), härledd som årshyra / 12 – anropande modell behöver alltså inte räkna om själv. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaYesLägenhetens yta i kvadratmeter.
normhyraYesNormhyra i kr/m²/år.
apartmentTypeIdYesId från list_apartment_types, t.ex. '2rok' eller '3rok'.
correctionPointsNoEventuella korrigeringspoäng (standard 0).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and idempotent. The description adds useful behavior beyond that: it lists all returned rent fields, explains that monthly rent is derived as annual rent divided by 12, and discloses that each response includes an attribution field intended for display. This is valuable context not present in the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and information-dense: the first sentence states the operation and inputs, the second details all output fields and derivation, and the third covers the attribution requirement. Every sentence earns its place with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since there is no output schema, the description compensates well by explicitly listing rent78, rent91, rent12, their monthly equivalents, and the monthly rent derivation. It also explains the attribution field, making the tool's behavior sufficiently complete for an agent to select, invoke, and interpret results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all four parameters with meaningful descriptions, so the baseline is 3. The tool description adds little beyond summarizing that correction points are optional and that area and normhyra are inputs, which does not significantly extend the schema's parameter coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Räkna om') and clearly identifies the resource and transformation: converting a normhyra in kr/m²/år to an actual annual rent in kronor. It is further differentiated from siblings by naming the exact output fields for three norms and the associated monthly rents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly establishes the input context: a norm rent, apartment type, area, and optional correction points are needed to compute actual rent. However, it does not explicitly say when not to use this tool or how it compares to siblings like calculate_normhyra or calculate_rent_roll, so usage guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_normhyraBeräkna normhyraA
Read-onlyIdempotent
Inspect

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å, 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaYesLägenhetens yta i kvadratmeter.
yearlyRentNoFaktisk årshyra i kronor. Ange yearlyRent ELLER monthlyRent (minst ett krävs).
monthlyRentNoFaktisk månadshyra i kronor (konverteras automatiskt till årshyra ×12).
apartmentTypeIdYesId från list_apartment_types, t.ex. '2rok' eller '3rok'.
correctionPointsNoEventuella korrigeringspoäng (standard 0).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and idempotentHint. The description adds substantial behavioral detail beyond that: automatic monthly→yearly conversion, the validation error when both rents disagree beyond 1 kr tolerance, the exact response contents (yearlyRent, monthlyRent, norm values for -78/-91/-12 with RH-tal), and the required attribution field that must be displayed. No contradiction with annotations exists — a pure calculation is consistent with read-only/idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in the first sentence, and each subsequent sentence carries operational weight: input modes, conversion, validation, response structure, and attribution compliance. Nothing is redundant — even the attribution paragraph, which would otherwise seem tangential, is essential because the agent must display that source credit.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema present, the description correctly takes on the burden of explaining return values, which it does thoroughly (both rent forms, norm -78/-91/-12, RH-tal, attribution). It also covers error behavior (validation error on mismatch) and the non-schema constraint that at least one rent field is required. Nothing an agent needs to call this tool correctly and handle its response is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds genuine inter-parameter semantics not present in the schema: the cross-validation rule (monthlyRent × 12 = yearlyRent within 1 kr tolerance), the OR-relationship between the two rent fields, and the existential requirement that at least one must be supplied despite neither being in the schema's required list. This exceeds the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening phrase 'Räkna om en faktisk hyra till normhyra (kr/m²/år)' states a specific verb (convert), resource (actual rent → norm rent), and unit (kr/m²/år), with the reference apartment (3 rok, 77 m²) named. This clearly differentiates it from the sibling calculate_actual_rent, which is the reverse direction, and from list/export siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on how to invoke the tool: yearlyRent or monthlyRent with at least one required, automatic ×12 conversion, and the matching tolerance for dual input. It explicitly tells the calling model it does not need to pre-convert ('behöver inte räkna om själv'). However, it never explicitly names alternatives or states when-not conditions against siblings, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_rent_rollKonvertera hyreslista till normhyraA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
apartmentsYesLista 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).
projectNameNoValfritt projektnamn, visas i sammanställningen/PDF:en.
propertyDesignationsNoValfria fastighetsbeteckningar, t.ex. ['Förrådet 2'].
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and idempotentHint annotations, the description discloses important behavior: monthlyRent is auto-converted via ×12, each line reports both yearlyRent and monthlyRent, apartment types are parsed as free text, and the response includes a mandatory attribution field. This gives the agent operational expectations well beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence serves a purpose: core operation, rent-unit behavior, apartment-type handling, attribution requirement, and the PDF alternative. Core functionality is front-loaded in the first sentence, and the rest is operational detail an agent needs to invoke the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does a strong job of explaining what the response contains: per-unit conversions, totals, averages, and attribution. It also covers batching limits, payment-unit conversion, and the sibling tool for PDF export. Nothing essential appears missing for correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, and the description adds meaningful semantic detail: it clarifies the yearlyRent/monthlyRent relationship and conversion rule, and it explains that apartmentType free text is interpreted automatically. It does not fully enumerate every property, but the schema already covers those.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb and resource: 'Konvertera en hel hyreslista (flera lägenheter) till normhyra i ett anrop.' It specifies the batch scope, the calculation target, and the returned summary, and it explicitly routes PDF creation to export_rent_roll_pdf, distinguishing it from a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete context: it handles multiple apartments in one call, caps input at 300, and directs users to export_rent_roll_pdf for PDF output. It does not explicitly discuss when to use calculate_normhyra or calculate_actual_rent instead, but the batch-vs-single distinction is implied by 'hel hyreslista' and 'i ett anrop.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_rent_roll_pdfExportera hyreslista som PDFAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
apartmentsYesLista med lägenheter (max 500 per anrop).
projectNameNoValfritt projektnamn, visas i PDF-rubriken.
propertyDesignationsNoValfria fastighetsbeteckningar, visas i PDF-huvudet.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses concrete behavioral details beyond the annotations: the PDF layout, the 7-day link validity, the attribution text in the PDF and in every response field, and the instruction to display attribution with results. No contradictions with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and layout, followed by return-link details and attribution requirements. Though it repeats the attribution phrase twice, each sentence adds functional information, making it appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description adequately covers the return value (download link, validity) and the required attribution field. It also specifies the PDF layout and conversion behavior. The only minor gap is that it doesn't explicitly describe error conditions, but the schema covers input constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for all parameters and properties (100% coverage), including the automatic monthly-to-yearly conversion note for monthlyRent. The tool description adds no parameter-specific semantics beyond what the schema already provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts a rent list to norm rent and generates a PDF compilation with a specific layout ('liggande A4, tabell per lägenhet, sammanfattning'). It also specifies the return value (download link valid 7 days) and attribution requirements, distinguishing it from calculation-only siblings by focusing on PDF export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a shareable PDF of a rent roll is needed, mentioning the download link and layout. However, it provides no explicit guidance on when to choose this over sibling tools like calculate_normhyra or calculate_rent_roll, nor any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_apartment_typesLista lägenhetstyperA
Read-onlyIdempotent
Inspect

Returnera alla lägenhetstyper som normhyra.ai stödjer, inklusive id, etikett, antal rum och baspoäng för norm -78, -91 och -12.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true and idempotentHint=true, and the description adds detail about the return fields and which norms are included, offering good behavioral insight beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single succinct sentence that efficiently conveys the tool's purpose and output without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless list tool with good annotations, the description adequately specifies the content of the response (fields and norms). It does not explain the norm system but that is acceptable for this scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so schema coverage is 100% automatically. The description has no need to add parameter info, and baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns all supported apartment types with specific fields (id, label, number of rooms, base points for three norms). This distinguishes it from sibling tools which are for calculations or exports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives, but the tool's name and sibling context imply it is for listing apartment types before using calculation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Accounting MCP server for the French LMNP tax status (furnished rentals, e.g. Airbnb hosts). 44 tools to manage properties, income and expenses, compute component-based depreciation and fiscal results, and generate the official French tax return (2031/2033) and FEC accounting export.
    44
    3
    AGPL 3.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Swedish accounting data analysis (SIE4, Spiris/Visma) with tools for reading financial records, generating reports, and preparing draft actions under strict human approval.

View all MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources