ahel is live on Product Hunt today. Upvote

flatin.pt MCP server — Portuguese property taxes

MCP serverEverything else

Portuguese property taxes: IMT on purchase and IMI rates for all 308 municipalities

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use flatin.pt MCP server — Portuguese property taxes

From the project's README

As published by flatinpt/mcp in README.md.

An MCP server that answers the questions people ask before buying a home in Portugal: how much IMT and stamp duty on top of the price, and what yearly IMI rate a municipality sets — for all 308 municipalities, with the source and the year of every number.

It is run by flatin.pt and listed in the official MCP Registry as pt.flatin/property-taxes.

You:    I'm buying a flat in Matosinhos for 280 000 €. What do I pay on top, and what's the IMI there?

Claude: [imt_calculate value="280000"]  [imi_rate municipality="Matosinhos"]
        IMT 9 142,04 €, stamp duty 2 240,00 €, deed and registration about 900 € —
        12 282,04 € on top of the price.
        IMI in Matosinhos (Porto): 0,37 % a year on the taxable value (VPT), 2025 table.
        Source: Autoridade Tributária tables, computed by flatin.pt.

Tools

ToolWhat it answers
imt_calculateWhat a purchase costs on top of the price: IMT (transfer tax), Imposto do Selo (stamp duty) and an estimate for the deed and registration. Official 2026 tables, including the reduced scale for buyers aged 35 or under.
imi_rateThe yearly property tax (IMI) rate of one municipality, by name or four-digit code, with its history since 2023. Where a municipality sets no single rate (it is set per parish), the answer says so instead of returning zero.
imi_annual_costYearly IMI for an urban property with a given taxable value (VPT). VPT is the tax authority's valuation, not the purchase price.
request_consultationHow to reach a licensed real estate agency (AMI): the form link and the GDPR consent text in the user's language. The request is sent by the person, never on their behalf.

Every successful answer carries an attribution field — who computed it, from which table and year, and a link to the primary source. Please show it to the user: numbers without a source cannot be checked.

Connect

The server is remote — nothing to install. Point your client at:

https://flatin.pt/mcp

Claude Code

claude mcp add --transport http flatin https://flatin.pt/mcp

Clients that can only start a local process (stdio) — use the bridge in this repository. It needs Node.js 18.17 or newer and has no dependencies:

claude mcp add flatin -- npx -y github:flatinpt/mcp
{
  "mcpServers": {
    "flatin": {
      "command": "npx",
      "args": ["-y", "github:flatinpt/mcp"]
    }
  }
}

The bridge forwards each JSON-RPC message to https://flatin.pt/mcp and writes the answer back. It stores nothing and sends nothing except what your client sends. Set FLATIN_MCP_URL to point it elsewhere.

Docker

docker build -t flatin-mcp . && docker run -i --rm flatin-mcp

The data behind it

  • IMI rates, all 308 municipalities, checked line by line against the Autoridade Tributária portal — open data page, CSV, licence CC BY 4.0.
  • IMT and stamp duty from the official 2026 tables — the same numbers as the IMT calculator.
  • REST API with the same functions: API and data · OpenAPI schema.

The MCP server, the API and the website call the same code, so the three never disagree by a cent.

Guides

Development

node --test

This repository is published from the flatin.pt codebase; issues and suggestions are welcome here.

Licence

MIT — see LICENSE. The data returned by the server is licensed separately under CC BY 4.0.

Advanced
Delivery
property-taxes MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
pt-flatin-property-taxes
Source
github.com/flatinpt/mcp
Hosted endpoint
https://flatin.pt/mcp