mcpField
I
Italy OpenData

Italy OpenData

Local
github.com/stucchiLegal & Government1Updated 35w ago

About Italy OpenData

Italy OpenData is an MCP server for developers who need Italian administrative and geographic data, including municipalities, provinces, regions, postal codes, and population. It downloads and caches data on first use, allowing later queries to run offline.

Key features

  1. 01Browse regions, provinces, and municipalities
  2. 02Find municipalities by name or ISTAT code
  3. 03Look up municipalities by postal code
  4. 04Access population and geographic fields
  5. 05Query locally cached data offline

Use cases

  1. 01List municipalities filtered by region
  2. 02Check a municipality’s population and geography
  3. 03Find municipalities associated with a postal code

MCP support

The MCP server provides seven tools for browsing and searching Italian administrative data and managing the local dataset.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"stucchi-italy-opendata": {
"command": "uvx",
"args": [
"italy-opendata-mcp"
]
}
}
}
Run commanduvx italy-opendata-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiitaly-opendata-mcp1.0.2

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

italy-opendata-mcp

MCP server exposing Italian open data (municipalities, provinces, regions, postal codes, coordinates, geographic data) through simple, developer-friendly tools.

Features

  • 7 MCP tools to navigate the Italian administrative hierarchy
  • Official sources: ISTAT and ANPR where available
  • Lazy download: data is fetched on first use and cached locally (~1.8 MB SQLite)
  • Offline after first use: all queries are local
  • No Docker: installable via uvx or pip, starts and stops with Claude

Data sources

DataSourceType
Municipalities, provinces, regions, ISTAT codesISTATOfficial
Resident populationANPROfficial (daily updates)
Surface area, altitude, altimetric zoneISTATOfficial
Postal codes (CAP)comuni-jsonCommunity (no official source available)
Centroid coordinatesopendatasiciliaCommunity (no official source available)

Installation

uvx italy-opendata-mcp

Usage in .mcp.json

{
  "mcpServers": {
    "italy-opendata": {
      "command": "uvx",
      "args": ["italy-opendata-mcp"]
    }
  }
}
From source
git clone https://github.com/stucchi/italy-opendata-mcp.git
cd italy-opendata-mcp
uv venv && uv pip install -e .

Tools

Hierarchical navigation
list_regioni()  →  list_province(regione="Lombardia")  →  list_comuni(provincia="MI")
ToolParametersDescription
list_regioni—All 20 regions with municipality count and population
list_provinceregione?Provinces with optional region filter
list_comuniregione?, provincia?, limit?Municipalities with optional filters (default 400 results)
Search
ToolParametersDescription
get_comunenome_o_codiceFull details of a municipality by name or ISTAT code
get_by_capcapFind municipalities associated with a postal code
Data management
ToolParametersDescription
refresh_datasetforce?Re-download data from sources
datasets_status—Local cache status

Available fields per municipality

Each municipality includes:

  • Registry: name, ISTAT code, cadastral code, province abbreviation, province, region
  • Demographics: population (ANPR, daily updates)
  • Geography: latitude, longitude, surface area (km²), altitude (m), altimetric zone
  • Classification: coastal, island, urbanization degree
  • Postal: list of associated CAP codes

Example output

> 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", ...]
}

Cache

Data is saved locally on first use:

OSPath
macOS / Linux~/.cache/italy-opendata-mcp/italia.db
Windows%LOCALAPPDATA%\italy-opendata-mcp\italia.db

To refresh data, use refresh_dataset(force=True).

Data coverage

Count
Regions20
Provinces107
Municipalities7,896
With population7,896
With coordinates7,889
With geographic data7,519
With postal codes7,887

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.