Skip to main content
Glama

chathome.lu — Luxembourg Real Estate

Get Affordability

get_affordability
Read-onlyIdempotent

Calculate Luxembourg mortgage affordability and state whether the property-price ceiling includes every acquisition cost or only currently known costs.

Input Schema

NameRequiredDescriptionDefault
marketRateNo
monthlyDebtsNoExisting monthly debt payments
residenceUseNoResidence use; omitted or unknown preserves an unconfirmed Bëllegen position
householdTypeYes
loanTermYearsNo
residencyTypeYes
employmentTypeYes
annualNetIncomeYesUser-confirmed annual household net income
isFirstTimeBuyerNoDeprecated optional compatibility signal; never proves Bëllegen entitlement
savingsAvailableYesAvailable savings/down payment
isPersonalResidenceNoDeprecated residence-use compatibility flag; prefer residenceUse
maxDebtToIncomeRatioYesExplicit housing-payment share of net income, e.g. 0.35
energyClassDiscountPctNo
bellegenAktEligibleBuyersNoExplicitly confirmed eligible acquirer count
bellegenAktCreditAvailableNoAggregate unused Bëllegen Akt balance explicitly confirmed for the acquirers
floodZoneRateAdjustmentPctNo

Output Schema

NameRequiredDescriptionDefault
trustYes
freshnessYes
confidenceYes
maxPropertyPriceYes
maxPropertyPriceCostBasisYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / marketRate / exclusiveMinimum
      Removed value: -0
    • changedInput schema / properties / marketRate / maximum
      Previous value: -15New value: +20
    • addedInput schema / properties / marketRate / minimum
      Added value: +0
  2. Changed5 schema fields changed
    • removedInput schema / properties / annualIncome
      Removed value: -{
      -  "description": "Gross annual household income",
      -  "exclusiveMinimum": 0,
      -  "type": "number"
      -}
    • addedInput schema / properties / annualNetIncome
      Added value: +{
      +  "description": "User-confirmed annual household net income",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • removedInput schema / properties / communeTaxRate
      Removed value: -{
      -  "exclusiveMinimum": 0,
      -  "type": "number"
      -}
    • addedInput schema / properties / maxDebtToIncomeRatio
      Added value: +{
      +  "description": "Explicit housing-payment share of net income, e.g. 0.35",
      +  "exclusiveMinimum": 0,
      +  "maximum": 0.6,
      +  "type": "number"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "annualIncome",
      -  "savingsAvailable",
      -  "householdType",
      -  "employmentType",
      -  "residencyType"
      -]New value: +[
      +  "annualNetIncome",
      +  "maxDebtToIncomeRatio",
      +  "savingsAvailable",
      +  "householdType",
      +  "employmentType",
      +  "residencyType"
      +]
  3. First observed

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and open-world, so the safety profile is covered. The description adds one genuinely useful behavioral note — that the output discloses whether the property-price ceiling covers all acquisition costs or only known costs — but says nothing about the Bëllegen Akt handling, deprecated parameters, or how unconfirmed inputs degrade the result, all of which matter for a compliance-sensitive calculation.

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

Conciseness3/5

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

One sentence, front-loaded with the purpose, so it is not verbose. However, the second clause about the property-price ceiling is awkwardly worded and reads as an implementation caveat rather than actionable guidance, and it consumes half the description's limited budget.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but with 16 parameters, 6 required, 4 enums, and deprecated compatibility fields, the description leaves the agent without critical context: which inputs are decisive, how omissions change the answer's confidence, and how this differs from the other mortgage tools. It is under-specified for a tool of this complexity.

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

Parameters2/5

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

Schema description coverage is 56%, and the description contributes nothing about any of the 16 parameters, including the risk-sensitive ones (bellegenAktEligibleBuyers, bellegenAktCreditAvailable, residenceUse) or the two explicitly deprecated flags. An agent must read the whole schema to learn that isFirstTimeBuyer and isPersonalResidence are deprecated, and nothing in the description warns that omitting residenceUse yields an 'unconfirmed' position.

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

Purpose4/5

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

States a specific verb and domain: 'Calculate Luxembourg mortgage affordability', which is distinguishable from siblings like calculate_mortgage and get_quick_estimate by its jurisdiction and affordability focus. It does not name a sibling to differentiate itself, but the resource is concrete enough for an agent to recognize.

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

Usage Guidelines2/5

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

No indication of when to use this versus calculate_mortgage, get_quick_estimate, or get_mortgage_rates, all of which sound closely related. There is no mention of prerequisites, when results are authoritative, or when a lighter estimate tool would suffice.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources