Italy OpenData

io.github.stucchiPublished by GitHub account stucchiv1.0.2Updated Oct 24, 2026

Italian open data: municipalities, provinces, regions, postal codes, coordinates.

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

A local MCP server that gives an assistant Italian open data on regions, provinces and municipalities, including postal codes and coordinates.

What you can do
Browse the administrative hierarchy: list regions, provinces and municipalities, optionally filtered by region or province, with population counts and a result limit on municipality lists. Look up a single municipality by name or ISTAT code for registry, demographic, geographic and postal details. Find municipalities associated with a postal code (CAP). Check the local cache status or force a re-download of the datasets from their sources.
When to use it
Useful when you need Italian geographic or administrative facts in a conversation: resolving a town name to its province, region, ISTAT code or coordinates, mapping postal codes to municipalities, or comparing population and surface area across Italian comuni.
Requirements
Runs locally as a Python package (italy-opendata-mcp) launched via uvx or pip, so a Python toolchain with uv is needed. No accounts, API keys or environment variables are declared. Data is downloaded on first use and cached in a local SQLite file, so network access is needed once; queries are local afterwards.
Before you install
The first use downloads data from external sources and writes a SQLite cache to the user's cache directory; refresh_dataset re-downloads it. Postal codes and centroid coordinates come from community sources rather than official ones, so they may be less reliable than the ISTAT and ANPR fields. Municipality lists default to 400 results, so broad queries may be truncated.

Installation

In SourceWeft

  1. Open Italy OpenData in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

bash
uvx italy-opendata-mcp

Usage in .mcp.json

json
{  "mcpServers": {    "italy-opendata": {      "command": "uvx",      "args": ["italy-opendata-mcp"]    }  }}

From source

bash
git clone https://github.com/stucchi/italy-opendata-mcp.gitcd italy-opendata-mcpuv 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

Source: README.md at commit 6b6fb1d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.