Skip to content

NL Tax Calculator

by nltaxcalculator.nl · remote · no sign-in to list tools · v1.1.0 · published by nl.nltaxcalculator

Dutch tax: net salary, full tax return, Box 3 and refunds, ZZP, mortgage, toeslagen, visa salary.

Final · 1Changes · 11

13 tools: 1 do something that can't be undone, 11 change things and 1 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http dutch-tax https://nltaxcalculator.nl/dutch-tax/api/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "transfer_tax_netherlands" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "transfer_tax_netherlands" says "transfer": a word for a change that another call does not undo.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

13 tools

Can't be undone 1Claude Code: ask
  • transfer_tax_netherlandsOverdrachtsbelasting in 2026 when buying a home in the Netherlands: 2% for a home you live in, 0% for first-time buyers aged 18-34 up to a €555,000 price, 8% for other homes.1 finding

    Why it is in this group

    • The name "transfer_tax_netherlands" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "transfer_tax_netherlands" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "transfer_tax_netherlands" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    Overdrachtsbelasting in 2026 when buying a home in the Netherlands: 2% for a home you live in, 0% for first-time buyers aged 18-34 up to a €555,000 price, 8% for other homes.

    Annotations the server declares

    • title: Dutch transfer tax on buying a home
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 11Claude Code: ask
  • benefits_toeslagen_checkEstimates which main Dutch household benefits are likely for 2026, from income, assets, rent and children's ages, with indicative yearly amounts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimates which main Dutch household benefits are likely for 2026, from income, assets, rent and children's ages, with indicative yearly amounts. Read-only; it does not apply for anything, and the Belastingdienst decides eligibility. Covers healthcare allowance (zorgtoeslag), rent allowance (huurtoeslag), child benefit (kinderbijslag), child budget (kindgebonden budget), the conditions for childcare allowance (kinderopvangtoeslag), the working-parent tax credit (IACK) and exemption from municipal taxes (kwijtschelding).

    Annotations the server declares

    • title: Dutch benefits (toeslagen) eligibility estimate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • box3_actual_return_estimateWhen the actual return on Box 3 assets was lower than the notional return, the Belastingdienst taxes the actual return instead (following the Supreme Court rulings).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    When the actual return on Box 3 assets was lower than the notional return, the Belastingdienst taxes the actual return instead (following the Supreme Court rulings). For one tax year from 2017 to 2026 this compares the notional Box 3 tax with the tax on the actual return (interest, dividends, rent and value changes minus interest paid), and estimates the difference that could be refunded and which procedure applies to that year. Read-only calculation; it submits nothing and is not tax advice.

    Annotations the server declares

    • title: Box 3 actual-return comparison (2017-2026)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • box3_wealth_taxBox 3 tax on savings and investments in the Netherlands for 2026 (the notional-return system): the tax-free allowance, the notional return on savings, investments and debts, and th…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Box 3 tax on savings and investments in the Netherlands for 2026 (the notional-return system): the tax-free allowance, the notional return on savings, investments and debts, and the 36% tax. Optionally for fiscal partners (double allowance).

    Annotations the server declares

    • title: Dutch Box 3 wealth tax
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • freelancer_tax_netherlandsEstimates 2026 Dutch income tax for a self-employed person (ZZP / eenmanszaak) from yearly revenue and business costs: profit, the self-employed deduction (1,225-hour criterion), s…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimates 2026 Dutch income tax for a self-employed person (ZZP / eenmanszaak) from yearly revenue and business costs: profit, the self-employed deduction (1,225-hour criterion), starters deduction, SME profit exemption, tax credits, the separate income-related healthcare contribution (Zvw) and the income left after tax. Also shows the VAT charged on the revenue. Read-only calculation; it files nothing and is not tax advice.

    Annotations the server declares

    • title: Dutch freelancer (ZZP) income tax estimate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • gross_salary_for_target_netReverse salary calculation for salary negotiations in the Netherlands (2026): the gross annual and monthly salary needed to take home a given net amount, with or without holiday al…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Reverse salary calculation for salary negotiations in the Netherlands (2026): the gross annual and monthly salary needed to take home a given net amount, with or without holiday allowance and the 30% ruling.

    Annotations the server declares

    • title: Gross salary needed for a target Dutch net salary
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • income_tax_return_netherlandsEstimates the whole 2026 Dutch income tax return: Box 1 salary tax with the tax credits and the 30% ruling, the own home (eigenwoningforfait and mortgage interest, with the best sp…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimates the whole 2026 Dutch income tax return: Box 1 salary tax with the tax credits and the 30% ruling, the own home (eigenwoningforfait and mortgage interest, with the best split between fiscal partners), Box 3 on savings and investments, and tax-treaty relief for real estate abroad (exempt in the Netherlands). With the payroll tax already withheld it says whether you get money back or have to pay.

    Annotations the server declares

    • title: Full Dutch income tax return estimate (Box 1, Box 3, partner, mortgage, treaty relief)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • job_loss_plannerFor an employee whose Dutch contract ends: the statutory transition payment (transitievergoeding), unemployment benefit (WW) amount and duration under UWV rules, and for expats the…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For an employee whose Dutch contract ends: the statutory transition payment (transitievergoeding), unemployment benefit (WW) amount and duration under UWV rules, and for expats the highly skilled migrant / Blue Card search period end date and the last start date for a new job to keep the 30% ruling.

    Annotations the server declares

    • title: Losing a job in the Netherlands: severance, WW, visa and 30% ruling
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • mortgage_netherlandsFor buying a home in the Netherlands in 2026: an indicative maximum mortgage on income, the monthly annuity payment, the first-year mortgage interest deduction worked out with the …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For buying a home in the Netherlands in 2026: an indicative maximum mortgage on income, the monthly annuity payment, the first-year mortgage interest deduction worked out with the real Box 1 calculation (eigenwoningforfait, the deduction capped at the second-bracket rate), net monthly cost and whether NHG (national mortgage guarantee) is possible.

    Annotations the server declares

    • title: Dutch mortgage: how much you can borrow, monthly cost and tax saving
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • net_salary_netherlandsGross-to-net salary in the Netherlands for 2026: income tax with the general and labour tax credits, optional 8% holiday allowance on top, the 30% ruling (with its salary norm and …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Gross-to-net salary in the Netherlands for 2026: income tax with the general and labour tax credits, optional 8% holiday allowance on top, the 30% ruling (with its salary norm and cap) and a pension contribution. Returns net per month and per year and the effective tax rate. Single employee below state pension age.

    Annotations the server declares

    • title: Dutch net salary (take-home pay)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • us_tax_for_americans_in_netherlandsFor a US citizen or green-card holder with a Dutch salary: Dutch tax, the creditable part (AOW/Anw premiums are not creditable under the US-Dutch totalization agreement), and the U…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For a US citizen or green-card holder with a Dutch salary: Dutch tax, the creditable part (AOW/Anw premiums are not creditable under the US-Dutch totalization agreement), and the US tax for 2026 under the Foreign Earned Income Exclusion and under the Foreign Tax Credit, incl. the child tax credit and its refundable part.

    Annotations the server declares

    • title: US tax for Americans living in the Netherlands (FEIE vs Foreign Tax Credit)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • visa_salary_checkChecks whether a salary meets the 2026 IND salary requirement for a Dutch highly skilled migrant (kennismigrant) permit or an EU Blue Card.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks whether a salary meets the 2026 IND salary requirement for a Dutch highly skilled migrant (kennismigrant) permit or an EU Blue Card. Holiday allowance does not count; a 13th month counts only when paid monthly. Also checks the 30% ruling salary norm.

    Annotations the server declares

    • title: Highly skilled migrant / EU Blue Card salary check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 1Claude Code: allow
  • dutch_tax_changes_2027Compares income tax on a gross salary in 2026 with the Belastingplan 2027 proposal (presented on Prinsjesdag 2026, a proposal until Parliament votes): brackets and tax credits, and…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compares income tax on a gross salary in 2026 with the Belastingplan 2027 proposal (presented on Prinsjesdag 2026, a proposal until Parliament votes): brackets and tax credits, and the 30% ruling dropping to 27% unless it started before 2024.

    Annotations the server declares

    • title: What the 2027 Dutch tax plan means for a salary
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http dutch-tax https://nltaxcalculator.nl/dutch-tax/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__dutch-tax__dutch_tax_changes_2027"
    ],
    "ask": [
      "mcp__dutch-tax__net_salary_netherlands",
      "mcp__dutch-tax__box3_wealth_tax",
      "mcp__dutch-tax__visa_salary_check",
      "mcp__dutch-tax__job_loss_planner",
      "mcp__dutch-tax__transfer_tax_netherlands",
      "mcp__dutch-tax__us_tax_for_americans_in_netherlands",
      "mcp__dutch-tax__income_tax_return_netherlands",
      "mcp__dutch-tax__freelancer_tax_netherlands",
      "mcp__dutch-tax__mortgage_netherlands",
      "mcp__dutch-tax__benefits_toeslagen_check",
      "mcp__dutch-tax__box3_actual_return_estimate",
      "mcp__dutch-tax__gross_salary_for_target_net"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as dutch-tax. Review it before you use it.