protogrid

Search / pt.flatin/property-taxes

flatin.pt — Portuguese homes: new-builds, places, taxes

R0· no sign-in

Portugal home buying: new-build search, where-to-live guides, municipality data, IMT/IMI taxes

v2.1.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality75good
Trust95of 100
Uptime, 30 days93%
Latency p50673 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "property-taxes": {
      "type": "http",
      "url": "https://flatin.pt/mcp"
    }
  }
}
claude mcp add --transport http property-taxes https://flatin.pt/mcp
[mcp_servers.property-taxes]
url = "https://flatin.pt/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "property-taxes": {
      "type": "remote",
      "url": "https://flatin.pt/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "property-taxes": {
      "type": "http",
      "url": "https://flatin.pt/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=property-taxes&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZmxhdGluLnB0L21jcCJ9"
}
{
  "servers": {
    "property-taxes": {
      "type": "http",
      "url": "https://flatin.pt/mcp"
    }
  }
}
{
  "mcpServers": {
    "property-taxes": {
      "httpUrl": "https://flatin.pt/mcp"
    }
  }
}
extensions:
  "property-taxes":
    enabled: true
    name: "property-taxes"
    type: streamable_http
    uri: "https://flatin.pt/mcp"
    timeout: 300

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations12 of 12 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 6,020 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes25 tool changes in 30 days
  • fail
    stability.rug_pull9 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

12 tools, about 6,020 tokens to load them all · tool set e0fca6329e59 · tools last changed 2026-10-19 · checked 2026-10-19 13:05 UTC

Tool changes

  • get_newbuildchangeddescription, input schema, output schemameaning changed
    before

    One new-build project in Portugal: prices, cost to buy, what is nearby. Units and prices per typology with price history, construction stage, delivery promises and how often they moved, linked building permits, the developer, the full purchase cost at the cheapest available price (IMT, stamp duty, registration, with the municipality's IMI rate) and nearby transport, schools, health, shops and parks. Returns the page URL in each of the seven site languages; cite it.

    after · 45% of words in common

    Returns one new-build project in Portugal by slug or page URL. It gives units and prices per typology, price history, delivery promises and how often they moved, building permits, the developer, the purchase cost and what is nearby. Use it after `search_newbuilds`, which gives the slug. The purchase cost is at the cheapest available unit or the developer's from-price, for a buyer tax resident in Portugal; for a non-resident or another price use `imt_calculate`. `primary_home` and `buyer_is_young` change only the purchase cost. An unknown slug is refused (not_found). Cite the page URL, given in all seven site languages.

  • search_newbuildschangeddescription, input schema, output schemameaning changed
    before

    Find new-build housing projects (empreendimentos) in Portugal on flatin.pt. Filter by municipality, parish, typology T0–T5, budget, construction stage, delivery year and energy class. Each result has the price range per typology, stage, promised delivery date, developer, coordinates and the canonical page URL to cite. Prices come from developers' pages with the date they were checked. Use get_newbuild for one project's units, purchase cost and surroundings.

    after · 39% of words in common

    Searches the published new-build projects (empreendimentos) in Portugal on flatin.pt. Use it to find projects; for one project's units, purchase cost and surroundings use `get_newbuild` with its slug, and for how much is being built in a municipality `construction_barometer`. With `typology`, the budget applies to those typologies' prices; projects without a published price drop out when a budget is given. Pass next_offset as `offset` for the next page. A misspelt filter is refused, not ignored. Prices are as checked on developers' pages or agency listings, with the date.

  • glossary_lookupchangeddescription, input schema, output schemameaning changed
    before

    A Portuguese home-buying or tax term explained, with the law. From the flatin.pt glossary (CPCV, escritura pública, caderneta predial, VPT, IMT, IMI, AIMI, certidão permanente…): what it means, where it comes up when buying, and the article of law with a link to the official text and the date it was checked. In the user's language. Call without `term` to list all terms.

    after · 47% of words in common

    Explains a Portuguese home-buying or tax term (CPCV, escritura, VPT…) from the flatin.pt glossary. It gives what the term means, where it comes up when buying, and the article of law with a link to the official text. Use it to define a term; it calculates nothing: for purchase taxes use `imt_calculate`, for the yearly tax `imi_annual_cost`. Without `term` it lists all terms. A term without a translation comes in English; an unknown one is refused with close spellings, if any.

  • construction_barometerchangeddescription, input schema, output schema
    before

    How much is being built, by municipality. flatin.pt's monthly count of municipal building-works cases entering the licensing pipeline (for the municipalities we collect), the change on the previous 12 months and per 1,000 residents, plus INE's official yearly licensed buildings and new dwellings for any of the 308 municipalities. Without `municipality` returns the summary and the panel index. A case is not a licence granted and not a building — the answer says so.

    after · 50% of words in common

    Reports how much is being built in Portuguese municipalities. It gives flatin.pt's monthly count of building-works cases entering licensing, for the municipalities we collect, and INE's yearly licensed buildings and new dwellings for any of the 308. Use it for building activity; for a municipality's other figures use `municipality_stats`, and for new-build projects with prices `search_newbuilds`. Without `municipality` it returns every municipality we collect and the fixed-panel index. `measure` and `granularity` change only our own series. A case is not a licence granted and not a building.

  • compare_municipalitieschangeddescription, input schema, output schemameaning changed
    before

    Two to five municipalities side by side. The same figures as municipality_stats: IMI rate, INE median sale price per m², purchasing power, population, licensed new dwellings, construction activity, new-build developments, with source and date for each.

    after · 22% of words in common

    Compares two to five Portuguese municipalities side by side, with the same figures for each as `municipality_stats`. Use it when choosing between places; for a single municipality use `municipality_stats`, and for the areas inside one city `where_to_live`. Names that point at the same municipality count once, and fewer than two distinct ones are refused (bad_count). One unknown or ambiguous name refuses the whole comparison.

  • municipality_statschangeddescription, input schema, output schema
    before

    Key figures for one of Portugal's 308 municipalities. IMI rate and its history (Autoridade Tributária), INE median sale price per m² (actual sales, not asking prices), purchasing power and population, INE licensed buildings and new dwellings by year, municipal building-works cases by year where we collect them, the construction-barometer row, new-build developments in our catalogue, and the where-to-live guide if there is one. Every figure has its source and date; a figure that is not published is null, not estimated.

    after · 55% of words in common

    Returns the key figures of one of Portugal's 308 municipalities, with the source and date of each official figure. They are the IMI rate and history, INE median sale price per m² (actual sales, not asking prices), purchasing power, population, licensed new dwellings, building-works cases and our new-build count. Use it for one municipality; to compare two to five use `compare_municipalities`, for areas inside a city `where_to_live`, and for building activity by month `construction_barometer`. A figure that is not published is null, not estimated. A name matching two municipalities is refused with candidates.

  • where_to_livechangeddescription, input schema, output schemameaning changed
    before

    Where to live in a Portuguese city or region, area by area. The verdict of a flatin.pt guide for each area — live (good to live), depends (depends on you) or avoid (we advise against) — with the reason as written on the site, who it suits (families, no car, retirees, remote work, tight budget, nightlife) and the sources of its numbers. Also noise in plain words (festivals, bars, aircraft under approach paths) and safety as dated, sourced police operations — the local reputation of a place, never a claim about the people who live there. Call without `city` to list the cities that have a guide. Returns the guide's link: show it to the user.

    after · 44% of words in common

    Gives a flatin.pt city guide's verdict on where to live, area by area, with the reason, who each area suits and the sources. Use it to choose a neighbourhood; for one municipality's figures use `municipality_stats`, and for new homes there `search_newbuilds`. Without `city` it lists the cities and regions that have a guide. `profile` narrows the areas but never hides the ones we advise against. Noise and safety come as dated, sourced facts: a place's reputation, never a claim about its people. Show the guide's link to the user.

  • subscribe_digestchangeddescription, input schema, output schemameaning changed
    before

    Email the person new developments or new construction licences (double opt-in). New-build developments match a filter (city, typology, price; daily), or newly licensed construction in a municipality (weekly). Ask the person first: this only sends a confirmation email, and nothing is active until they click the link. One-click unsubscribe in every email.

    after · 38% of words in common

    Subscribes the person's email to new-build projects matching a filter (daily) or to new construction licensed in one municipality (weekly), by double opt-in. Use it when the person asks to be told about new projects; to have an agency contact them use `request_consultation`, and to see what is on sale now `search_newbuilds`. Ask the person first: it only sends a confirmation email, and nothing is active until they click its link. `city` is required for construction and `parish` works only there; `typology`, the prices and `on_sale` work only with new_developments. The answer is the same whether or not the address was already subscribed: never tell the person they were.

  • request_consultationchangeddescription, input schema, output schema
    before

    Send the person's request to a licensed real estate agency (AMI) in Portugal, after their explicit consent. It is about buying or selling a home or a new-build development. Two steps: call with mode=prepare and their details (name, phone with preferred channel or else email, city or project, language); show them the returned summary and the GDPR (RGPD) consent text word for word, and only if they explicitly agree call with mode=submit, the same details, confirmation_token, consent=true and consent_text_version. Never set consent=true on your own. mode=link (default) only returns the form link.

    after · 51% of words in common

    Passes the person's request to buy or sell a home in Portugal to a licensed real estate agency (AMI), only with their explicit consent. Use it when the person wants a specialist to contact them; for emails about new projects use `subscribe_digest`. mode=link only returns the form link and the consent text. mode=prepare checks the details and returns a summary, the GDPR (RGPD) consent text and a confirmation_token; neither sends anything. Show the person the summary and the consent text word for word; only if they explicitly agree, call mode=submit with the same details, the token, consent=true and consent_text_version. Never set consent=true on your own. Changed details, a token younger than 5 seconds or older than 30 minutes, or an outdated consent version are refused. A submit that goes through returns status received.

  • imi_annual_costchangeddescription, input schema, output schemameaning changed
    before

    Yearly IMI for an urban property (prédio urbano) with a given taxable value (VPT) in one municipality, at the municipality's urban rate. VPT is the tax authority's valuation, not the purchase price: ask the user for it instead of using the price.

    after · 45% of words in common

    Calculates the yearly IMI on an urban property (prédio urbano) from its taxable value (VPT) and the urban rate of its municipality. Use it for the yearly amount; for the rate alone use `imi_rate`, and for the one-off purchase taxes `imt_calculate`. The VPT is the Tax Authority's valuation on the caderneta predial, not the purchase price: ask the user for it rather than using the price. Only the urban rate is applied; rural property, AIMI and surcharges on vacant homes are not calculated. A municipality whose rate is set per parish is refused (rate_by_freguesia).

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 95 / 100

provenance85
liveness97
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-93% +updated-0d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://flatin.pt/mcp streamable-httpnoneyes93%673 ms2025-06-182026-10-19

Tools (12)

compare_municipalitiesread-onlyCompares two to five Portuguese municipalities side by side, with the same figures for each as `municipality_stats`. Use it when choosing between places; for a single municipality use `municipality_stats`, and for the areas inside one city `where_to_live`. Names that point at the same municipality count once, and fewer than two distinct ones are refused (bad_count). One unknown or ambiguous name refuses the whole comparison.
construction_barometerread-onlyReports how much is being built in Portuguese municipalities. It gives flatin.pt's monthly count of building-works cases entering licensing, for the municipalities we collect, and INE's yearly licensed buildings and new dwellings for any of the 308. Use it for building activity; for a municipality's other figures use `municipality_stats`, and for new-build projects with prices `search_newbuilds`. Without `municipality` it returns every municipality we collect and the fixed-panel index. `measure` and `granularity` change only our own series. A case is not a licence granted and not a building.
get_newbuildread-onlyReturns one new-build project in Portugal by slug or page URL. It gives units and prices per typology, price history, delivery promises and how often they moved, building permits, the developer, the purchase cost and what is nearby. Use it after `search_newbuilds`, which gives the slug. The purchase cost is at the cheapest available unit or the developer's from-price, for a buyer tax resident in Portugal; for a non-resident or another price use `imt_calculate`. `primary_home` and `buyer_is_young` change only the purchase cost. An unknown slug is refused (not_found). Cite the page URL, given in all seven site languages.
glossary_lookupread-onlyExplains a Portuguese home-buying or tax term (CPCV, escritura, VPT…) from the flatin.pt glossary. It gives what the term means, where it comes up when buying, and the article of law with a link to the official text. Use it to define a term; it calculates nothing: for purchase taxes use `imt_calculate`, for the yearly tax `imi_annual_cost`. Without `term` it lists all terms. A term without a translation comes in English; an unknown one is refused with close spellings, if any.
imi_annual_costread-onlyCalculates the yearly IMI on an urban property (prédio urbano) from its taxable value (VPT) and the urban rate of its municipality. Use it for the yearly amount; for the rate alone use `imi_rate`, and for the one-off purchase taxes `imt_calculate`. The VPT is the Tax Authority's valuation on the caderneta predial, not the purchase price: ask the user for it rather than using the price. Only the urban rate is applied; rural property, AIMI and surcharges on vacant homes are not calculated. A municipality whose rate is set per parish is refused (rate_by_freguesia).
imi_rateread-onlyLooks up the yearly IMI (municipal property tax) rate of one Portuguese municipality, by name or four-digit code, with its history by year. Use it when only the rate is needed; for the yearly amount on a given VPT use `imi_annual_cost`, and for several municipalities side by side `compare_municipalities`. Rates come from the Autoridade Tributária portal, checked for all 308 municipalities. Where the rate is set per parish, the answer says so instead of giving a number.
imt_calculateread-onlyCalculates the one-off taxes of buying a home in Portugal: IMT, stamp duty and the Casa Pronta registration price, by the official 2026 tables. Use it for the cost on top of the price; for the yearly property tax use `imi_annual_cost`, and to explain a term such as VPT `glossary_lookup`. Both taxes are charged on the higher of `value` and `vpt`: pass the VPT when known. `tax_haven_company` takes precedence over `non_resident`. `buyer_is_young` applies only when `primary_home` is true. For a non-resident buyer the answer says what the Tax Authority annuls later on request.
municipality_statsread-onlyReturns the key figures of one of Portugal's 308 municipalities, with the source and date of each official figure. They are the IMI rate and history, INE median sale price per m² (actual sales, not asking prices), purchasing power, population, licensed new dwellings, building-works cases and our new-build count. Use it for one municipality; to compare two to five use `compare_municipalities`, for areas inside a city `where_to_live`, and for building activity by month `construction_barometer`. A figure that is not published is null, not estimated. A name matching two municipalities is refused with candidates.
request_consultationPasses the person's request to buy or sell a home in Portugal to a licensed real estate agency (AMI), only with their explicit consent. Use it when the person wants a specialist to contact them; for emails about new projects use `subscribe_digest`. mode=link only returns the form link and the consent text. mode=prepare checks the details and returns a summary, the GDPR (RGPD) consent text and a confirmation_token; neither sends anything. Show the person the summary and the consent text word for word; only if they explicitly agree, call mode=submit with the same details, the token, consent=true and consent_text_version. Never set consent=true on your own. Changed details, a token younger than 5 seconds or older than 30 minutes, or an outdated consent version are refused. A submit that goes through returns status received.
search_newbuildsread-onlySearches the published new-build projects (empreendimentos) in Portugal on flatin.pt. Use it to find projects; for one project's units, purchase cost and surroundings use `get_newbuild` with its slug, and for how much is being built in a municipality `construction_barometer`. With `typology`, the budget applies to those typologies' prices; projects without a published price drop out when a budget is given. Pass next_offset as `offset` for the next page. A misspelt filter is refused, not ignored. Prices are as checked on developers' pages or agency listings, with the date.
subscribe_digestSubscribes the person's email to new-build projects matching a filter (daily) or to new construction licensed in one municipality (weekly), by double opt-in. Use it when the person asks to be told about new projects; to have an agency contact them use `request_consultation`, and to see what is on sale now `search_newbuilds`. Ask the person first: it only sends a confirmation email, and nothing is active until they click its link. `city` is required for construction and `parish` works only there; `typology`, the prices and `on_sale` work only with new_developments. The answer is the same whether or not the address was already subscribed: never tell the person they were.
where_to_liveread-onlyGives a flatin.pt city guide's verdict on where to live, area by area, with the reason, who each area suits and the sources. Use it to choose a neighbourhood; for one municipality's figures use `municipality_stats`, and for new homes there `search_newbuilds`. Without `city` it lists the cities and regions that have a guide. `profile` narrows the areas but never hides the ones we advise against. Noise and safety come as dated, sourced facts: a place's reputation, never a claim about its people. Show the guide's link to the user.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "pt.flatin/property-taxes",
  "icons": [
    {
      "src": "https://flatin.pt/assets/brand/raster/icon-256.png",
      "sizes": [
        "256x256"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "flatin.pt — Portuguese homes: new-builds, places, taxes",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://flatin.pt/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "2.1.0",
  "repository": {
    "url": "https://gitlab.com/flatin-pt-group/mcp",
    "source": "gitlab"
  },
  "websiteUrl": "https://flatin.pt/en/tools/api-and-data/",
  "description": "Portugal home buying: new-build search, where-to-live guides, municipality data, IMT/IMI taxes"
}