Skip to main content
Glama

flatin.pt — Portuguese property taxes

Calculate IMT and stamp duty on a home purchase

imt_calculate
Read-onlyIdempotent

What buying a home in Portugal costs on top of the price: IMT (property transfer tax), Imposto do Selo (stamp duty) and the published price of the property registration. Official 2026 tables, including the reduced IMT table and the stamp duty deduction for buyers aged 35 or under. Both taxes are charged on the higher of the contract price and the VPT: pass vpt when it is known. Returns amounts in cents and formatted in euros, with the source of the tables.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vptNoOptional. The VPT (valor patrimonial tributário) from the caderneta predial, in euros. IMT and stamp duty are charged on the higher of the price and the VPT (CIMT art. 12.º n.º 1), so pass it when it is known
valueYesPurchase price as written in the contract, in euros, e.g. 250000 or 250000.50
territoryNoMainland Portugal (continente) or the Azores and Madeira (regioes_autonomas). Default: continente
primary_homeNoThe buyer's own permanent home (habitação própria e permanente). Default: true
buyer_is_youngNoThe buyer is 35 or under on the date of the deed, is buying their first own permanent home, is not an IRS dependant and has owned no residential property in the previous three years. Applies the reduced IMT table and the stamp duty deduction (art. 7.º-A Código do Imposto do Selo; not applied above the second band of the young buyers' table). Only applies when primary_home is true. Default: false

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / value / description
      Previous value: -"Property price in euros, e.g. 250000 or 250000.50"New value: +"Purchase price as written in the contract, in euros, e.g. 250000 or 250000.50"
    • addedInput schema / properties / vpt
      Added value: +{
      +  "description": "Optional. The VPT (valor patrimonial tributário) from the caderneta predial, in euros. IMT and stamp duty are charged on the higher of the price and the VPT (CIMT art. 12.º n.º 1), so pass it when it is known",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / buyer_is_young / description
      Previous value: -"The buyer is 35 or under and this is their first home. Only applies when primary_home is true. Default: false"New value: +"The buyer is 35 or under on the date of the deed, is buying their first own permanent home, is not an IRS dependant and has owned no residential property in the previous three years. Applies the reduced IMT table and the stamp duty deduction (art. 7.º-A Código do Imposto do Selo; not applied above the second band of the young buyers' table). Only applies when primary_home is true. Default: false"
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the burden is light. The description adds real value beyond them: output is in cents and formatted euros, tables are official 2026, and it discloses the reduced-table and stamp-duty-deduction logic and the higher-of-price-or-VPT charging rule.

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?

Front-loads the scope and cost components, then the operative parameter rule, then the return format. Dense and largely waste-free, though the two long sentences pack several distinct facts together.

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 usefully states the return shape (cents plus formatted euros, plus table sources) and the key tax computation rule. Complete enough to invoke correctly for a read-only calculator; only sibling routing guidance is thin.

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 coverage is 100%, so the schema already documents value, vpt, territory, primary_home and buyer_is_young in detail. The description restates the vpt rule and the age-35 condition without adding syntax or edge-case meaning beyond the schema. Baseline 3 is appropriate.

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?

States a specific verb (calculate) and resources (IMT, Imposto do Selo, registration price) scoped to a Portuguese home purchase. This distinguishes it cleanly from imi_annual_cost and imi_rate, which cover recurring property tax rather than transaction taxes.

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 implied by 'what buying a home in Portugal costs on top of the price' and it gives one concrete rule (pass vpt when known), but it never states when to prefer this over the sibling tax tools or what its boundaries are. Adequate context, no explicit alternatives or exclusions.

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