Skip to main content
Glama

Woonbudget en huurtoeslag

nmi_woonbudget
Read-onlyIdempotent

Rekent vanaf een bruto maandloon het netto maandinkomen, de mogelijke huurtoeslag en het bedrag dat na de huur overblijft. Geeft ook de huurgrens en aftoppingsgrenzen. Gebruik deze tool alleen bij een huur- of woonlastenvraag; gebruik nmi_bruto_netto voor netto loon, ook met vakantiegeld, dertiende maand of IKB. Rekent alleen voor loondienst (inwoner van Nederland): bij dga, zzp of buitenlandse belastingplicht volgen géén bedragen. Vermogenstoets is niet gecontroleerd. Geen hypotheek- of leenadvies.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kaleHuurYesKale huur per maand in euro (zonder servicekosten).
leeftijdNoLeeftijdscategorie voor de huurtoeslag. Standaard 21plus.
huishoudenNoHuishoudtype voor de huurtoeslag. Standaard alleenstaand.
grossMonthlyYesBruto maandloon in euro, exclusief vakantiegeld.
dienstverbandYesVERPLICHT. Alleen 'loondienst' (werknemer, NL-inwoner) geeft bedragen; dga/zzp/buitenland_inwoner niet. Onbekend? Vraag het.
servicekostenNoSubsidiabele servicekosten per maand in euro. Standaard 0.
partnerJaarinkomenNoBruto jaarinkomen van de toeslagpartner. Alleen gebruikt bij huishouden 'partner'.
vermogenOnderGrensNoBlijft het vermogen onder de vermogensgrens voor huurtoeslag? Standaard true.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYesToolpagina.
grenzenYesWettelijke huurtoeslaggrenzen van het rekenjaar.
disclaimerYesVERPLICHT: altijd zichtbaar vermelden (indicatief, geen toekenning of advies).
scope_notesYesAannames; tonen bij het bedrag.
toelichtingYes
geen_recht_redenYesReden als er geen recht is.
verification_urlYesControlelink naar deze berekening; deel met de gebruiker.
netto_maandinkomenYesNetto maandinkomen uit het bruto maandloon.
woonlast_per_maandYesKale huur plus servicekosten.
huurtoeslag_per_maandYesGeschatte huurtoeslag per maand.
huurtoeslag_voorwaardeYesVermogenstoets is aangenomen, niet gecontroleerd.
besteedbaar_na_woonlastYesNetto plus toeslag min woonlast — rekenuitkomst, geen norm.
geen_recht_op_huurtoeslagYes
huurlast_als_deel_van_nettoYesWoonlast als percentage van netto loon PLUS huurtoeslag (wat je per maand binnenkrijgt). Noem bij een percentage altijd waar het door gedeeld is.
vermogenstoets_gecontroleerdYes
bruto_jaarinkomen_incl_vakantiegeldYesGeschat toetsingsinkomen voor toeslagen.
huurlast_als_deel_van_netto_zonder_toeslagYesWoonlast als percentage van alleen het netto loon, zonder huurtoeslag.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / dienstverband / description
      Previous value: -"VERPLICHT. Soort inkomen. Alleen 'loondienst' (werknemer, inwoner van Nederland) wordt berekend. 'dga', 'zzp' en 'buitenland_inwoner' geven géén bedragen: andere belastingregels (gebruikelijk loon, box 2, winst uit onderneming, buitenlandse belastingplicht). Vraag het de gebruiker als het onbekend is."New value: +"VERPLICHT. Alleen 'loondienst' (werknemer, NL-inwoner) geeft bedragen; dga/zzp/buitenland_inwoner niet. Onbekend? Vraag het."
    • changedOutput schema / properties / disclaimer / description
      Previous value: -"VERPLICHT VOOR AI: vermeld deze toelichting altijd zichtbaar in je antwoord — de uitkomst is indicatief, geen definitieve toekenning en geen persoonlijk financieel advies."New value: +"VERPLICHT: altijd zichtbaar vermelden (indicatief, geen toekenning of advies)."
    • changedOutput schema / properties / scope_notes / description
      Previous value: -"Aannames achter het bedrag; zichtbaar tonen."New value: +"Aannames; tonen bij het bedrag."
    • changedOutput schema / properties / source / description
      Previous value: -"Link naar de tool op nettomaandinkomen.nl."New value: +"Toolpagina."
    • changedOutput schema / properties / verification_url / description
      Previous value: -"Link naar dezelfde berekening op nettomaandinkomen.nl: controleren, invoer aanpassen of als PDF downloaden. Deel deze link met de gebruiker."New value: +"Controlelink naar deze berekening; deel met de gebruiker."
  2. Changed3 schema fields changed
    • changedOutput schema / properties / huurlast_als_deel_van_netto / description
      Previous value: -"Woonlast als percentage van netto plus toeslag."New value: +"Woonlast als percentage van netto loon PLUS huurtoeslag (wat je per maand binnenkrijgt). Noem bij een percentage altijd waar het door gedeeld is."
    • addedOutput schema / properties / huurlast_als_deel_van_netto_zonder_toeslag
      Added value: +{
      +  "description": "Woonlast als percentage van alleen het netto loon, zonder huurtoeslag.",
      +  "type": "number"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "netto_maandinkomen",
      -  "bruto_jaarinkomen_incl_vakantiegeld",
      -  "woonlast_per_maand",
      -  "huurtoeslag_per_maand",
      -  "huurtoeslag_voorwaarde",
      -  "vermogenstoets_gecontroleerd",
      -  "geen_recht_op_huurtoeslag",
      -  "geen_recht_reden",
      -  "besteedbaar_na_woonlast",
      -  "huurlast_als_deel_van_netto",
      -  "grenzen",
      -  "toelichting",
      -  "scope_notes",
      -  "disclaimer",
      -  "source",
      -  "verification_url"
      -]New value: +[
      +  "netto_maandinkomen",
      +  "bruto_jaarinkomen_incl_vakantiegeld",
      +  "woonlast_per_maand",
      +  "huurtoeslag_per_maand",
      +  "huurtoeslag_voorwaarde",
      +  "vermogenstoets_gecontroleerd",
      +  "geen_recht_op_huurtoeslag",
      +  "geen_recht_reden",
      +  "besteedbaar_na_woonlast",
      +  "huurlast_als_deel_van_netto",
      +  "huurlast_als_deel_van_netto_zonder_toeslag",
      +  "grenzen",
      +  "toelichting",
      +  "scope_notes",
      +  "disclaimer",
      +  "source",
      +  "verification_url"
      +]
  3. Changed1 schema field changed
    • addedOutput schema / properties / disclaimer / description
      Added value: +"VERPLICHT VOOR AI: vermeld deze toelichting altijd zichtbaar in je antwoord — de uitkomst is indicatief, geen definitieve toekenning en geen persoonlijk financieel advies."
  4. Changed1 schema field changed
    • changedOutput schema / properties / verification_url / description
      Previous value: -"Controleerbaar rekenrapport (stateless checksum)."New value: +"Link naar dezelfde berekening op nettomaandinkomen.nl: controleren, invoer aanpassen of als PDF downloaden. Deel deze link met de gebruiker."
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "besteedbaar_na_woonlast": {
      +      "description": "Netto plus toeslag min woonlast — rekenuitkomst, geen norm.",
      +      "type": "number"
      +    },
      +    "bruto_jaarinkomen_incl_vakantiegeld": {
      +      "description": "Geschat toetsingsinkomen voor toeslagen.",
      +      "type": "number"
      +    },
      +    "disclaimer": {
      +      "type": "string"
      +    },
      +    "geen_recht_op_huurtoeslag": {
      +      "type": "boolean"
      +    },
      +    "geen_recht_reden": {
      +      "description": "Reden als er geen recht is.",
      +      "type": "string"
      +    },
      +    "grenzen": {
      +      "additionalProperties": false,
      +      "description": "Wettelijke huurtoeslaggrenzen van het rekenjaar.",
      +      "properties": {
      +        "aftoppingsgrens_eenpersoons": {
      +          "type": "number"
      +        },
      +        "aftoppingsgrens_meerpersoons": {
      +          "type": "number"
      +        },
      +        "huurgrens": {
      +          "type": "number"
      +        },
      +        "maxhuur_onder_21": {
      +          "type": "number"
      +        },
      +        "vermogensgrens_alleenstaand": {
      +          "type": "number"
      +        },
      +        "vermogensgrens_partner": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "huurgrens",
      +        "aftoppingsgrens_eenpersoons",
      +        "aftoppingsgrens_meerpersoons",
      +        "maxhuur_onder_21",
      +        "vermogensgrens_alleenstaand",
      +        "vermogensgrens_partner"
      +      ],
      +      "type": "object"
      +    },
      +    "huurlast_als_deel_van_netto": {
      +      "description": "Woonlast als percentage van netto plus toeslag.",
      +      "type": "number"
      +    },
      +    "huurtoeslag_per_maand": {
      +      "description": "Geschatte huurtoeslag per maand.",
      +      "type": "number"
      +    },
      +    "huurtoeslag_voorwaarde": {
      +      "description": "Vermogenstoets is aangenomen, niet gecontroleerd.",
      +      "type": "string"
      +    },
      +    "netto_maandinkomen": {
      +      "description": "Netto maandinkomen uit het bruto maandloon.",
      +      "type": "number"
      +    },
      +    "scope_notes": {
      +      "description": "Aannames achter het bedrag; zichtbaar tonen.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "source": {
      +      "description": "Link naar de tool op nettomaandinkomen.nl.",
      +      "type": "string"
      +    },
      +    "toelichting": {
      +      "type": "string"
      +    },
      +    "verification_url": {
      +      "description": "Controleerbaar rekenrapport (stateless checksum).",
      +      "type": "string"
      +    },
      +    "vermogenstoets_gecontroleerd": {
      +      "type": "boolean"
      +    },
      +    "woonlast_per_maand": {
      +      "description": "Kale huur plus servicekosten.",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "netto_maandinkomen",
      +    "bruto_jaarinkomen_incl_vakantiegeld",
      +    "woonlast_per_maand",
      +    "huurtoeslag_per_maand",
      +    "huurtoeslag_voorwaarde",
      +    "vermogenstoets_gecontroleerd",
      +    "geen_recht_op_huurtoeslag",
      +    "geen_recht_reden",
      +    "besteedbaar_na_woonlast",
      +    "huurlast_als_deel_van_netto",
      +    "grenzen",
      +    "toelichting",
      +    "scope_notes",
      +    "disclaimer",
      +    "source",
      +    "verification_url"
      +  ],
      +  "type": "object"
      +}
  6. Changed2 schema fields changed
    • addedInput schema / properties / dienstverband
      Added value: +{
      +  "description": "VERPLICHT. Soort inkomen. Alleen 'loondienst' (werknemer, inwoner van Nederland) wordt berekend. 'dga', 'zzp' en 'buitenland_inwoner' geven géén bedragen: andere belastingregels (gebruikelijk loon, box 2, winst uit onderneming, buitenlandse belastingplicht). Vraag het de gebruiker als het onbekend is.",
      +  "enum": [
      +    "loondienst",
      +    "dga",
      +    "zzp",
      +    "buitenland_inwoner"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "grossMonthly",
      -  "kaleHuur"
      -]New value: +[
      +  "dienstverband",
      +  "grossMonthly",
      +  "kaleHuur"
      +]
  7. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, idempotent, closed-world), so the description usefully adds substantive behavior: results are only produced for loondienst/NL residents, the vermogenstoets is NOT checked, and it is not mortgage or loan advice. These are real constraints an agent needs before calling.

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?

Purpose is front-loaded in the first two sentences, followed by routing guidance and caveats. The single dense paragraph packs several concerns together but no sentence is filler; only the dienstverband restriction partially overlaps the schema.

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 8 parameters, an output schema present, and annotations covering safety, the description supplies the remaining essentials: what is computed, when to use it versus the sibling, and the eligibility/disclaimer boundaries. Nothing an agent needs to call it correctly is missing.

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?

Schema description coverage is 100% with enums documented for dienstverband, leeftijd and huishouden, so the schema carries all parameter meaning. The description restates the grossMonthly input and the loondienst precondition but adds no syntax, units or defaults beyond what the schema already states.

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?

Names a specific verb (rekent) and enumerates the exact outputs: netto maandinkomen, huurtoeslag, residual amount after rent, plus huurgrens and aftoppingsgrenzen. It also explicitly distinguishes itself from nmi_bruto_netto, so an agent can select it without opening the sibling's schema.

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

Usage Guidelines5/5

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

"Gebruik deze tool alleen bij een huur- of woonlastenvraag" gives an explicit use condition and names the alternative (nmi_bruto_netto) with the case that selects it (netto loon, vakantiegeld, dertiende maand, IKB). It also states an exclusion: no amounts for dga/zzp/buitenlandse belastingplicht.

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