Skip to main content
Glama

Italy Salary Calculator

Net salary: Italy vs the Netherlands

compare_with_netherlands
Read-onlyIdempotent

Take-home pay of a job in Italy (with the situation options of net_salary) next to a job in the Netherlands (2026, optionally with the 8% holiday allowance and the 30% ruling), in euros, with the difference a year.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "home_gross_annual": "<home_gross_annual>",
      "nl_gross_annual": "<nl_gross_annual>"
    },
    "name": "compare_with_netherlands"
  }
}

Input Schema

NameRequiredDescriptionDefault
regionNoRegion: lombardy = Lombardy (Milan); lazio = Lazio (Rome); piedmont = Piedmont (Turin); veneto = Veneto (Venice, Verona); tuscany = Tuscany (Florence); campania = Campania (Naples). Default lombardy.
marriedNoMarried or registered partner. Default false.
childrenNoNumber of dependent children. Default 0.
municipalNoMunicipal surtax rate. Milan 0.8%, Rome 0.9%. Set by each comune. (%). Default 0.8.
impatriatiNoImpatriati regime (new resident) Default false.
pension_pctNoVoluntary employee pension contribution through payroll, % of salary. Default 0.
bonus_annualNoYearly bonus in EUR. Default 0.
spouse_incomeNoPartner's gross yearly income in EUR, for joint taxation and spouse allowances. Default 0.
nl_gross_annualYesGross yearly salary in the Netherlands, in euros, without holiday allowance
municipal_exemptNoMunicipal exemption up to (€). Default 23000.
home_gross_annualYesGross yearly salary in Italy, in EUR
nl_holiday_allowanceNoThe Dutch job pays 8% holiday allowance on top. Default true.
nl_thirty_percent_rulingNoThe 30% ruling applies in the Netherlands. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower, and the description still adds real context: the 2026 tax year, euro denomination, the optional 8% holiday allowance and 30% ruling on the Dutch side, and — with no output schema present — the fact that an annual difference is returned. It does not describe the shape of the result (per-country net breakdown, tax lines), which keeps it from a 5.

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?

A single sentence carries the comparison, the currency, the year, the two Dutch options, and the returned difference with no filler. It is dense but front-loaded on the core purpose; the parenthetical about net_salary options is the only mildly awkward insertion.

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 13-parameter, closed-world read-only comparison with no output schema, the description is sufficient to call it correctly: it identifies the two required gross salaries implicitly, the optional Dutch toggles, the currency, and the headline output. What is missing is any indication of the result structure (separate net figures versus only the delta) or which Italian situation options matter most, a minor gap given full schema coverage.

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%, so every one of the 13 parameters is already documented, and the description adds no format, default, or interaction detail beyond what the schema states. The only reinforcement is the Dutch holiday allowance and 30% ruling, which the schema already describes, so baseline 3 applies.

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?

The description names both resources (Italian job take-home pay, Dutch job take-home pay), the currency (euros), the year (2026), and the computed output (yearly difference), which clearly separates it from the single-country net_salary sibling. It stops just short of 5 because the purpose is expressed as a noun phrase rather than an explicit verb, and the sibling differentiation is by reference ('the situation options of net_salary') rather than stated directly.

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?

Usage is only implied: the mention of 'the situation options of net_salary' hints that Italian-side parameters mirror that sibling, so an agent can infer this tool is for cross-country comparison rather than a single-country calculation. There is no explicit when-to-use/when-not statement, no guidance on whether to call this instead of net_salary twice, and no mention of the required pair of gross salaries driving the comparison.

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