Gives Claude access to official Italian administrative data through seven straightforward tools that navigate the country's hierarchy of regions, provinces, and municipalities. Pulls from ISTAT and ANPR for authoritative registry info and population counts, with community sources filling gaps for postal codes and coordinates. Downloads and caches everything locally on first use (1.8 MB SQLite), then runs entirely offline. You get full details for all 7,896 comuni including demographics, geography, altimetric zones, and cadastral codes. Useful for any project dealing with Italian addresses, geographic analysis, or administrative boundaries where you need reliable reference data without hitting external APIs constantly.
MCP server exposing Italian open data (municipalities, provinces, regions, postal codes, coordinates, geographic data) through simple, developer-friendly tools.
uvx or pip, starts and stops with Claude| Data | Source | Type |
|---|---|---|
| Municipalities, provinces, regions, ISTAT codes | ISTAT | Official |
| Resident population | ANPR | Official (daily updates) |
| Surface area, altitude, altimetric zone | ISTAT | Official |
| Postal codes (CAP) | comuni-json | Community (no official source available) |
| Centroid coordinates | opendatasicilia | Community (no official source available) |
uvx italy-opendata-mcp
{
"mcpServers": {
"italy-opendata": {
"command": "uvx",
"args": ["italy-opendata-mcp"]
}
}
}
git clone https://github.com/stucchi/italy-opendata-mcp.git
cd italy-opendata-mcp
uv venv && uv pip install -e .
list_regioni() → list_province(regione="Lombardia") → list_comuni(provincia="MI")
| Tool | Parameters | Description |
|---|---|---|
list_regioni | — | All 20 regions with municipality count and population |
list_province | regione? | Provinces with optional region filter |
list_comuni | regione?, provincia?, limit? | Municipalities with optional filters (default 400 results) |
| Tool | Parameters | Description |
|---|---|---|
get_comune | nome_o_codice | Full details of a municipality by name or ISTAT code |
get_by_cap | cap | Find municipalities associated with a postal code |
| Tool | Parameters | Description |
|---|---|---|
refresh_dataset | force? | Re-download data from sources |
datasets_status | — | Local cache status |
Each municipality includes:
> get_comune("Roma")
{
"codice_istat": "058091",
"nome": "Roma",
"codice_catastale": "H501",
"popolazione": 2802399,
"superficie_kmq": 1288.19,
"altitudine": 20,
"zona_altimetrica": "Pianura",
"litoraneo": 1,
"latitudine": 41.89332,
"longitudine": 12.482932,
"sigla_provincia": "RM",
"provincia": "Roma",
"regione": "Lazio",
"cap": ["00118", "00119", "00120", ...]
}
Data is saved locally on first use:
| OS | Path |
|---|---|
| macOS / Linux | ~/.cache/italy-opendata-mcp/italia.db |
| Windows | %LOCALAPPDATA%\italy-opendata-mcp\italia.db |
To refresh data, use refresh_dataset(force=True).
| Count | |
|---|---|
| Regions | 20 |
| Provinces | 107 |
| Municipalities | 7,896 |
| With population | 7,896 |
| With coordinates | 7,889 |
| With geographic data | 7,519 |
| With postal codes | 7,887 |
MIT
com.mcparmory/google-sheets
domdomegg/google-sheets-mcp
henilcalagiya/google-sheets-mcp
cct15/war-dashboard-data
moooonad/mcp-google-sheets-full
io.github.br0ski777/csv-to-json