accueil / serveurs / Recherche & Web / pt.flatin/property-taxes
pt.flatin/property-taxes
serveur MCP (Model Context Protocol) · flatin-pt 2.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que pt.flatin/property-taxes est sûr ?
Au dernier audit MCP Hub, le serveur MCP « pt.flatin/property-taxes » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 12 outils
- compare_municipalities≈ 499 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
Language of the page links and labels; the text summary and field names stay English. uk is accepted as ua.municipalities· array · requis
Two to five municipality names or codes
Exemple d'appel{"name": "compare_municipalities", "arguments": {"municipalities": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - construction_barometer≈ 1082 tokens
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.
Paramètres, retour & exemple (4)
Paramètresmeasure· string · optionnel · total_works | new_build | alter_extend
Kind of works counted in our own series: all works, new buildings, or alterations and extensionslanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
Language of the page links and labels; the text summary and field names stay English. uk is accepted as ua.granularity· string · optionnel · month | year
Period of our own series; the INE series is yearly either waymunicipality· string · optionnel
Optional. Municipality name in any case, accents optional (Porto, Lisboa, Vila Nova de Gaia, Matosinhos; Lisbon and Oporto are accepted) or its four-digit code (1312). Close spellings are found; two matches return an `ambiguous` error with candidates. Omit for the summary of every municipality we collect
Exemple d'appel{"name": "construction_barometer", "arguments": {"measure": "total_works", "language": "pt", "granularity": "month", "municipality": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_newbuild≈ 877 tokens
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.
Paramètres, retour & exemple (4)
Paramètresslug· string · requis
The project's slug from search_newbuilds (field slug), or its flatin.pt page URLlanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
Language of the page URLs and of the labels (stage, typology, nearby places); the text summary shows the typology labels in it. Field names stay English. uk is accepted as ua.primary_home· boolean · optionnel
For the purchase cost only: the buyer's own permanent home (habitação própria e permanente)buyer_is_young· boolean · optionnel
For the purchase cost only: buyer aged 35 or under, first own home (reduced IMT and stamp duty relief); applies only with primary_home
Exemple d'appel{"name": "get_newbuild", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - glossary_lookup≈ 807 tokens
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.
Paramètres, retour & exemple (2)
Paramètresterm· string · optionnel
The term: Portuguese or English name, a name in any site language or an abbreviation (CPCV, IMT, VPT, caderneta predial, escritura). Omit to list all termslanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
Language of the answer: the guide or the definition, the text summary and the page links. Field names stay English. uk is accepted as ua.
Exemple d'appel{"name": "glossary_lookup", "arguments": {"term": "texte", "language": "pt"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - imi_annual_cost≈ 746 tokens
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).
Paramètres, retour & exemple (2)
Paramètresvpt· string · requis
Valor Patrimonial Tributário — the taxable value of the property in euros, from the caderneta predial. Not the purchase pricemunicipality· string · requis
Municipality name (Porto, Lisboa or Lisbon, Vila Nova de Gaia) or its four-digit code (1312)
Exemple d'appel{"name": "imi_annual_cost", "arguments": {"vpt": "texte", "municipality": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - imi_rate≈ 474 tokens
Looks 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.
Paramètres, retour & exemple (1)
Paramètresmunicipality· string · requis
Municipality name (Porto, Lisboa or Lisbon, Vila Nova de Gaia) or its four-digit code (1312)
Exemple d'appel{"name": "imi_rate", "arguments": {"municipality": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - imt_calculate≈ 1204 tokens
Calculates 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.
Paramètres, retour & exemple (7)
Paramètresvpt· string · optionnel
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 knownvalue· string · requis
Purchase price as written in the contract, in euros; a dot or a space may group thousands (250.000)territory· string · optionnel · continente | regioes_autonomas
Mainland Portugal (continente) or the Azores and Madeira (regioes_autonomas), which have their own IMT tablesnon_resident· boolean · optionnel
The buyer is not and has never been tax resident in Portugal. IMT is then a flat rate with no exemption or reduction — no zero band, no young buyers' table, no stamp duty deduction (CIMT art. 17.º n.º 10); the result says what the Tax Authority annuls on request if the buyer becomes tax resident or lets the home at a moderate rent. A buyer who has already been treated as tax resident pays by the tables: leave it falseprimary_home· boolean · optionnel
The buyer's own permanent home (habitação própria e permanente); false for a second home or an investment, which has no zero bandbuyer_is_young· boolean · optionnel
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; with primary_home false it is ignoredtax_haven_company· boolean · optionnel
The buyer is a company or other entity with its tax domicile in a country, territory or region on the Portuguese list of more favourable tax regimes, or controlled directly or indirectly by such an entity. IMT is then 10 % with no exemption or reduction (CIMT art. 17.º n.º 4), whether or not it is resident, and it overrides non_resident. Never true for an individual (n.º 7)
Exemple d'appel{"name": "imt_calculate", "arguments": {"value": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - municipality_stats≈ 771 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
Language of the page links and labels; the text summary and field names stay English. uk is accepted as ua.municipality· string · requis
Municipality name in any case, accents optional (Porto, Lisboa, Vila Nova de Gaia, Matosinhos; Lisbon and Oporto are accepted) or its four-digit code (1312). Close spellings are found; two matches return an `ambiguous` error with candidates
Exemple d'appel{"name": "municipality_stats", "arguments": {"municipality": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - request_consultation≈ 1644 tokens
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.
Paramètres, retour & exemple (19)
Paramètrescity· string · optionnel
Municipality in Portugal (Lisboa or Lisbon) or a district. Not needed with project, which sets the placemode· string · optionnel · link | prepare | submit
link: only the form link and the consent text. prepare: check the details, get a summary, the consent text and a confirmation_token; nothing is sent. submit: send the request — the same details as in prepare plus confirmation_token, consent=true and consent_text_version, only after the person has read the consent text and explicitly agreedname· string · optionnel
The person's nameemail· string · optionnel
Only if the person gives no phonephone· string · optionnel
Phone in international format. Preferred over emailbudget· integer · optionnel
Optional. Budget in whole euros, e.g. 350000client· string · optionnel
Optional. Your app's host or name: recorded as the request's sourceintent· string · optionnel · info | callback | visit | reserve | notify
Optional. visit and reserve only with a project on sale, notify only with a project not yet on salechannel· string · optionnel · whatsapp | telegram | call
How the person wants to be contacted on that phoneconsent· boolean · optionnel
submit only: true once the person has read the consent text returned by prepare and explicitly agreedmessage· string · optionnel
Optional. The person's own wordsproject· string · optionnel
Optional. Slug of the development the request is about: the slug field of search_newbuildslanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
The person's language: the consent text, the emails and the page links come in it. Another value is refused, except in mode=link, which falls back to English. uk is accepted as ua.typology· array · optionnel
Optional. Bedroom counts wanted (T2 = two bedrooms)deal_type· string · optionnel · buy | sell
Renting is not handledproperty_type· string · optionnel · apartment | house | commercial | new_build
apartment if not given, or new_build when project is givenpreferred_time· string · optionnel
Optional, with intent=visit: when suits the personconfirmation_token· string · optionnel
submit only: the token returned by prepareconsent_text_version· string · optionnel
submit only: consent_text_version returned by prepare
Exemple d'appel{"name": "request_consultation", "arguments": {"city": "texte", "mode": "link", "name": "texte", "email": "texte", "phone": "texte", "budget": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_newbuilds≈ 1199 tokens
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.
Paramètres, retour & exemple (13)
Paramètressort· string · optionnel · price | name | delivery | new
price: cheapest first; delivery: soonest first; new: recently added first. Projects with a price always come before those withoutlimit· integer · optionnel
Results per callstage· array · optionnel
Construction stage: planned, licensed, building (under construction), selling (on sale), delivered (completed)offset· integer · optionnel
Skip this many results: pass next_offset from the previous answerparish· string · optionnel
Parish (freguesia) name. Exact name, accents optionalon_sale· boolean · optionnel
Only projects with a published pricelanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
Language of the page URLs and of the labels (stage, typology, nearby places); the text summary shows the typology labels in it. Field names stay English. uk is accepted as ua.typology· array · optionnel
Bedrooms: T0 studio … T5 (five or more). Any of the listed matchesprice_max· integer · optionnel
Budget upper bound in euros, e.g. 350000. With typology, the budget applies to those typologies' prices. Projects with no published price are left out when a budget is givenprice_min· integer · optionnel
Budget lower bound in eurosdelivery_by· integer · optionnel
Completed, or promised for this year or earlier (overdue promises included), e.g. 2027; at most five years back. Projects with no announced date are left outenergy_class· array · optionnel
Energy certificate class of at least one unit, as stated by the source. Often not published: filter only when askedmunicipality· string · optionnel
City / municipality (concelho): name, slug or four-digit code, e.g. Porto, Lisboa, Vila Nova de Gaia, Matosinhos, 1312. English names (Lisbon) and accents-free spelling are understood; an ambiguous name (Lagoa) is refused with candidates
Exemple d'appel{"name": "search_newbuilds", "arguments": {"sort": "price", "limit": 1, "stage": [], "offset": 1, "parish": "texte", "on_sale": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - subscribe_digest≈ 938 tokens
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.
Paramètres, retour & exemple (10)
Paramètrescity· string · optionnel
Municipality (Lisboa or Lisbon). Required for construction; empty means all of Portugal for new_developmentswhat· string · optionnel · new_developments | construction
new_developments: new-build developments matching the filter, daily email when something new appears. construction: newly licensed construction in a municipality ("what is being built"), weeklyemail· string · requis
The person's email addressclient· string · optionnel
Optional. Your app's host or name: recorded as the request's sourceparish· string · optionnel
Optional, construction only: a parish (freguesia) of that municipalityon_sale· boolean · optionnel
Optional, new_developments: only developments on salelanguage· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
The person's language: the consent text and the emails come in it. uk is accepted as ua.typology· array · optionnel
Optional. Bedroom counts wanted (T2 = two bedrooms)price_max· integer · optionnel
Optional, new_developments: maximum price in eurosprice_min· integer · optionnel
Optional, new_developments: minimum price in euros
Exemple d'appel{"name": "subscribe_digest", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - where_to_live≈ 986 tokens
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.
Paramètres, retour & exemple (5)
Paramètrescity· string · optionnel
City or region with a guide, in any site language (Porto, Lisbon, Lisboa, Greater Porto, Algarve, Coimbra) or a municipality inside a guide (Gaia, Cascais, Faro). Omit to list the guidesinclude· array · optionnel
Parts of the guide to return; all returns every sectionprofile· string · optionnel · family | car_free | retirees | remote | budget | nightlife
Keep the areas that suit this profile; profile never removes the areas we advise againstverdict· string · optionnel · live | depends | avoid
Keep only areas with this verdict: live (good to live), depends (depends on you), avoid (we advise against)language· string · optionnel · pt | en | ru | ua | de | fr | nl | uk
Language of the answer: the guide or the definition, the text summary and the page links. Field names stay English. uk is accepted as ua.
Exemple d'appel{"name": "where_to_live", "arguments": {"city": "texte", "include": [], "profile": "family", "verdict": "live", "language": "pt"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».