Expat Living Italy
Sourced data on Italy's ~7,900 comuni for people relocating or retiring there.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"data": {
"url": "https://www.expatliving.it/api/v1/mcp"
}
}
}Remote endpoints
https://www.expatliving.it/api/v1/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢get_comune(istatCode)
One Italian comune's population, foreign residents by citizenship, property purchase/rent price, price-to-rent, verified tax-regime eligibility, its province's rollup, `layers` (climate, air quality, crime, healthcare quality, age, population change and every other Italy-map layer) and `provinceWellbeing` (ISTAT BES indicators, polarity-aware percentiles) — looked up by 6-digit ISTAT code. Each layer's `grain` and `measuredFor` say whose number it is: a province or region value is not a measurement of this comune — say so when you quote it. Every field is wrapped in a provenance envelope (source, vintage, extractedOn, license); repeat the vintage when you state the number, and if a value is null, say why rather than treating it as zero.
Input Schema
{
"type": "object",
"properties": {
"istatCode": {
"type": "string",
"pattern": "^\\d{6}$",
"description": "6-digit ISTAT comune code, e.g. 075029."
}
},
"required": [
"istatCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_comuni(q, limit)
Look up Italian comuni by name (case- and accent-insensitive, partial names work) and get each one's 6-digit ISTAT code, province and region — the code get_comune needs. Returns identifiers only, no figures. Several comuni share a name; check the province before choosing.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "A comune name or part of one, accents optional — e.g. \"Introdacqua\" or \"reggio\"."
},
"limit": {
"default": 10,
"description": "How many matches to return, 1–25. Default 10.",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"q"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_datasets
The catalog: each dataset's source institution, vintage (the period it describes), geographic grain, license, the expatliving.it page that presents it, and whether it is servable (false = still an unverified draft; never quote its values). Use it to say what data exists and where a reader can see it.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence