Verified Malta Permanent Residence Programme data: fees, requirements, process, statistics, homes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Itemised estimate of government fees, contributions and property minimums for a given family composition and property route (purchase or rent).
Whether the applicant will buy or rent the qualifying property.
Years of recurring costs to include (default 5).
Include a spouse or partner (default false).
Dependent parents of the applicant or spouse.
Annual rent in EUR; the programme minimum applies when lower or omitted.
Unmarried, principally dependent children aged 18 or over.
Children under 18.
Agreed purchase price in EUR; the programme minimum applies when lower or omitted.
Licensed agent or legal fee quote in EUR, if known.
Add an estimated health insurance premium per person (default true).
Itemised estimate of government fees, contributions and property minimums for a given family composition and property route (purchase or rent).
| Argument | Type | Description |
|---|---|---|
| years | integer | Years of recurring costs to include (default 5). |
| spouse | boolean | Include a spouse or partner (default false). |
| parents | integer | Dependent parents of the applicant or spouse. |
| annual_rent | number | Annual rent in EUR; the programme minimum applies when lower or omitted. |
| grandparents | integer | |
| adult_children | integer | Unmarried, principally dependent children aged 18 or over. |
| minor_children | integer | Children under 18. |
| property_route* | string | Whether the applicant will buy or rent the qualifying property. |
| purchase_price | number | Agreed purchase price in EUR; the programme minimum applies when lower or omitted. |
| professional_fees | number | Licensed agent or legal fee quote in EUR, if known. |
| disabled_adult_children | integer | |
| include_health_insurance_estimate | boolean | Add an estimated health insurance premium per person (default true). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"property_route"
],
"properties": {
"years": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Years of recurring costs to include (default 5)."
},
"spouse": {
"type": "boolean",
"description": "Include a spouse or partner (default false)."
},
"parents": {
"type": "integer",
"maximum": 4,
"minimum": 0,
"description": "Dependent parents of the applicant or spouse."
},
"annual_rent": {
"type": "number",
"minimum": 0,
"description": "Annual rent in EUR; the programme minimum applies when lower or omitted."
},
"grandparents": {
"type": "integer",
"maximum": 4,
"minimum": 0
},
"adult_children": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Unmarried, principally dependent children aged 18 or over."
},
"minor_children": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Children under 18."
},
"property_route": {
"enum": [
"PURCHASE",
"RENT"
],
"type": "string",
"description": "Whether the applicant will buy or rent the qualifying property."
},
"purchase_price": {
"type": "number",
"minimum": 0,
"description": "Agreed purchase price in EUR; the programme minimum applies when lower or omitted."
},
"professional_fees": {
"type": "number",
"minimum": 0,
"description": "Licensed agent or legal fee quote in EUR, if known."
},
"disabled_adult_children": {
"type": "integer",
"maximum": 12,
"minimum": 0
},
"include_health_insurance_estimate": {
"type": "boolean",
"description": "Add an estimated health insurance premium per person (default true)."
}
}
}Typical monthly costs in Malta and Gozo (housing, utilities, food, transport, healthcare, education, leisure) with ranges, dates and sources.
| Argument | Type | Description |
|---|---|---|
| category | string | Cost category. |
| locality | string | Locality or area name; national items are returned when omitted. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"HOUSING",
"UTILITIES",
"FOOD",
"TRANSPORT",
"FAMILY",
"HEALTHCARE",
"LIFESTYLE"
],
"type": "string",
"description": "Cost category."
},
"locality": {
"type": "string",
"maxLength": 80,
"description": "Locality or area name; national items are returned when omitted."
}
}
}Returns one document as Markdown with its provenance (author, reviewer, last-verified date, official sources). Accepts a search result id, a maltamprp.com URL, or `programme/<section>`.
| Argument | Type | Description |
|---|---|---|
| id* | string | A search result id, a maltamprp.com URL or path, or programme/<overview|fees|requirements|process|documents|dependants>. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A search result id, a maltamprp.com URL or path, or programme/<overview|fees|requirements|process|documents|dependants>."
}
}
}The verified programme data: property thresholds, fees and contributions with effective dates and legal references, requirements, application steps, required documents and dependant rules.
| Argument | Type | Description |
|---|---|---|
| section | string | overview (default) | fees | requirements | process | documents | dependants |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"section": {
"enum": [
"overview",
"fees",
"requirements",
"process",
"documents",
"dependants"
],
"type": "string",
"description": "overview (default) | fees | requirements | process | documents | dependants"
}
}
}Full details of one listing by reference (e.g. P-1206) or slug, including the MPRP threshold check and how to enquire.
| Argument | Type | Description |
|---|---|---|
| reference* | string | Listing reference (e.g. P-1206), listing slug, or the listing page URL. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Listing reference (e.g. P-1206), listing slug, or the listing page URL."
}
}
}Enumerates guides, FAQs, updates, pages, localities, beaches, heritage sites, directory entries, videos, sources, events, history, Maltese phrases or requirements.
| Argument | Type | Description |
|---|---|---|
| type* | string | What to list. |
| limit | integer | Maximum items (default 50). |
| category | string | Optional filter. guides: MPRP_BASICS, ELIGIBILITY, COSTS, PROPERTY, FAMILY, DOCUMENTS, APPLICATION, MALTA_LIVING, TAX_FINANCIAL, LEGAL_COMPLIANCE. faqs: MPRP, REQUIREMENTS, COSTS, PROPERTY, FAMILY, DOCUMENTS, APPLICATION, COMPLIANCE, MALTA, TAX, LIVING, COST_OF_LIVING, HEALTHCARE, EDUCATION, TRANSPORT, EMPLOYMENT, RETIREMENT, TOURISM. updates: MPRP or MALTA. directory: GOVERNMENT, HOSPITAL, CLINIC, PHARMACY, SCHOOL, UNIVERSITY, BANK, SUPERMARKET, SHOPPING_CENTRE, RESTAURANT, HOTEL, ESTATE_AGENCY, GYM, MUSEUM, TRANSPORT, EMERGENCY_SERVICE. heritage: TEMPLE, CHURCH, FORTIFICATION, MUSEUM, PALACE, HISTORIC_BUILDING, ARCHAEOLOGICAL_SITE, NATURAL_HERITAGE, GARDEN. requirements: ELIGIBILITY, FINANCIAL, PROPERTY, HEALTH, FIT_AND_PROPER, DOCUMENTS, FAMILY, COMPLIANCE, PROCESS. pages: a cluster such as malta-living, malta-work, costs, property. |
| locality | string | Filter directory entries, beaches, heritage sites, events, FAQs or statistics by locality name (e.g. Sliema). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"guides",
"faqs",
"updates",
"pages",
"localities",
"beaches",
"heritage",
"directory",
"videos",
"sources",
"events",
"history",
"phrases",
"requirements"
],
"type": "string",
"description": "What to list."
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Maximum items (default 50)."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "Optional filter. guides: MPRP_BASICS, ELIGIBILITY, COSTS, PROPERTY, FAMILY, DOCUMENTS, APPLICATION, MALTA_LIVING, TAX_FINANCIAL, LEGAL_COMPLIANCE. faqs: MPRP, REQUIREMENTS, COSTS, PROPERTY, FAMILY, DOCUMENTS, APPLICATION, COMPLIANCE, MALTA, TAX, LIVING, COST_OF_LIVING, HEALTHCARE, EDUCATION, TRANSPORT, EMPLOYMENT, RETIREMENT, TOURISM. updates: MPRP or MALTA. directory: GOVERNMENT, HOSPITAL, CLINIC, PHARMACY, SCHOOL, UNIVERSITY, BANK, SUPERMARKET, SHOPPING_CENTRE, RESTAURANT, HOTEL, ESTATE_AGENCY, GYM, MUSEUM, TRANSPORT, EMERGENCY_SERVICE. heritage: TEMPLE, CHURCH, FORTIFICATION, MUSEUM, PALACE, HISTORIC_BUILDING, ARCHAEOLOGICAL_SITE, NATURAL_HERITAGE, GARDEN. requirements: ELIGIBILITY, FINANCIAL, PROPERTY, HEALTH, FIT_AND_PROPER, DOCUMENTS, FAMILY, COMPLIANCE, PROCESS. pages: a cluster such as malta-living, malta-work, costs, property."
},
"locality": {
"type": "string",
"maxLength": 80,
"description": "Filter directory entries, beaches, heritage sites, events, FAQs or statistics by locality name (e.g. Sliema)."
}
}
}Verified statistics (population, economy, prices, housing, climate, …) with value, period, methodology and the official source.
| Argument | Type | Description |
|---|---|---|
| key | string | Exact statistic key when known. |
| category | string | Statistic category. |
| locality | string | Locality name for local figures (national figures when omitted). |
| overview_only | boolean | Only the headline figures shown on the Malta overview page. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"key": {
"type": "string",
"maxLength": 80,
"description": "Exact statistic key when known."
},
"category": {
"enum": [
"GEOGRAPHY",
"POPULATION",
"ECONOMY",
"EMPLOYMENT",
"PRICES",
"HOUSING",
"TOURISM",
"CLIMATE",
"EDUCATION",
"HEALTHCARE",
"TRANSPORT",
"GOVERNMENT",
"DIGITAL",
"TAX"
],
"type": "string",
"description": "Statistic category."
},
"locality": {
"type": "string",
"maxLength": 80,
"description": "Locality name for local figures (national figures when omitted)."
},
"overview_only": {
"type": "boolean",
"description": "Only the headline figures shown on the Malta overview page."
}
}
}Full-text search across guides, FAQs, legal updates, Malta hub pages, localities, directory, beaches, heritage, statistics, documents and property listings. Returns ids for `fetch`.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results (default 10). |
| query* | string | Words to search for, in English. Examples: 'rent minimum', 'Sliema schools', 'administrative fee 2025'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Maximum number of results (default 10)."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Words to search for, in English. Examples: 'rent minimum', 'Sliema schools', 'administrative fee 2025'."
}
}
}Current property listings from the RE/MAX Lux feed, filterable by sale/rent, locality, price, bedrooms and MPRP threshold eligibility.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| sort | string | |
| limit | integer | Results per page (default 20). |
| query | string | Free-text words matched against title, description and locality. |
| bedrooms | integer | Minimum number of bedrooms. |
| locality | string | Locality name, e.g. Sliema, St Julian's, Mellieħa. |
| max_price | number | Maximum price in EUR (annual rent for rentals). |
| min_price | number | Minimum price in EUR (annual rent for rentals). |
| listing_type | string | For sale or to rent (both when omitted). |
| mprp_eligible |
Sends a consultation or property enquiry to the platform's consultants on behalf of a user who has given explicit consent. Returns a reference only.
| Argument | Type | Description |
|---|---|---|
| name* | string | The user's full name. |
| email* | string | The user's e-mail address, where the consultant will reply. |
| phone | string | Phone number with country code, if the user wants a call or WhatsApp. |
| consent* | boolean | Must be true: the user explicitly agreed that these details are sent to the platform's consultants and stored under its privacy policy. |
| country | string | Country of residence or nationality, if known. |
| message* | string | What the user wants (consultation, viewing, details) and any context they shared: family size, budget, timing, property route. |
| preferred_contact | string | |
| property_reference | string | Listing reference (e.g. P-1206) when the enquiry is about a specific property. |
| boolean |
| Only listings priced at or above the MPRP minimum (purchase or annual rent). |
| property_type | string | apartment, penthouse, maisonette, townhouse, villa, farmhouse, … |
| special_designated_area | boolean | Only Special Designated Area developments (no AIP permit needed for non-residents). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"sort": {
"enum": [
"newest",
"price_asc",
"price_desc"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page (default 20)."
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Free-text words matched against title, description and locality."
},
"bedrooms": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Minimum number of bedrooms."
},
"locality": {
"type": "string",
"maxLength": 80,
"description": "Locality name, e.g. Sliema, St Julian's, Mellieħa."
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Maximum price in EUR (annual rent for rentals)."
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Minimum price in EUR (annual rent for rentals)."
},
"listing_type": {
"enum": [
"SALE",
"RENT"
],
"type": "string",
"description": "For sale or to rent (both when omitted)."
},
"mprp_eligible": {
"type": "boolean",
"description": "Only listings priced at or above the MPRP minimum (purchase or annual rent)."
},
"property_type": {
"type": "string",
"maxLength": 40,
"description": "apartment, penthouse, maisonette, townhouse, villa, farmhouse, …"
},
"special_designated_area": {
"type": "boolean",
"description": "Only Special Designated Area developments (no AIP permit needed for non-residents)."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"email",
"message",
"consent"
],
"properties": {
"name": {
"type": "string",
"maxLength": 160,
"minLength": 2,
"description": "The user's full name."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 200,
"description": "The user's e-mail address, where the consultant will reply."
},
"phone": {
"type": "string",
"maxLength": 40,
"description": "Phone number with country code, if the user wants a call or WhatsApp."
},
"consent": {
"type": "boolean",
"const": true,
"description": "Must be true: the user explicitly agreed that these details are sent to the platform's consultants and stored under its privacy policy."
},
"country": {
"type": "string",
"maxLength": 80,
"description": "Country of residence or nationality, if known."
},
"message": {
"type": "string",
"maxLength": 3000,
"minLength": 5,
"description": "What the user wants (consultation, viewing, details) and any context they shared: family size, budget, timing, property route."
},
"preferred_contact": {
"enum": [
"email",
"phone",
"whatsapp"
],
"type": "string"
},
"property_reference": {
"type": "string",
"maxLength": 160,
"description": "Listing reference (e.g. P-1206) when the enquiry is about a specific property."
}
}
}