Skip to main content

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

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)

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")
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

Data management

Tool Parameters Description
refresh_dataset force? 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:

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).

Data coverage

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

License

MIT

Metadata

Release files for italy-opendata-mcp 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for italy-opendata-mcp 1.0.2
File Size Uploaded
italy_opendata_mcp-1.0.2.tar.gz 11.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for italy-opendata-mcp 1.0.2
File Interpreter ABI Platform
italy_opendata_mcp-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 kB

Release files / italy_opendata_mcp-1.0.2.tar.gz

Download URL italy_opendata_mcp-1.0.2.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
554768ff6737a2349301333766034a0304443cdd0a41ed95077a6510ea784ba0
BLAKE2b-256 checksum
How to use checksums
eb293f90da70af99d31302312e2969060cd5c7b891f7eccbb14d2d4372a4589d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / italy_opendata_mcp-1.0.2-py3-none-any.whl

Download URL italy_opendata_mcp-1.0.2-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
24f3e0d584ddcf08b4e6a021c3567904398983d948b4b90ff10c3d238d3b1198
BLAKE2b-256 checksum
How to use checksums
d6af902651102aa0fd239137375a07d2edb108d2be9096f8dc24dc1944e325e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page