Skip to main content

MCP server for Italian open data (municipalities, provinces, regions, postal codes, coordinates, geographic data)

Project description

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)

Search

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

italy_opendata_mcp-1.0.2.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

italy_opendata_mcp-1.0.2-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file italy_opendata_mcp-1.0.2.tar.gz.

File metadata

  • Download URL: italy_opendata_mcp-1.0.2.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for italy_opendata_mcp-1.0.2.tar.gz
Algorithm Hash digest
SHA256 554768ff6737a2349301333766034a0304443cdd0a41ed95077a6510ea784ba0
MD5 ec21e8321c5de7530c403f2236ad5e42
BLAKE2b-256 eb293f90da70af99d31302312e2969060cd5c7b891f7eccbb14d2d4372a4589d

See more details on using hashes here.

File details

Details for the file italy_opendata_mcp-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for italy_opendata_mcp-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 24f3e0d584ddcf08b4e6a021c3567904398983d948b4b90ff10c3d238d3b1198
MD5 b84aca3e5ac5d7da6690ab6375250801
BLAKE2b-256 d6af902651102aa0fd239137375a07d2edb108d2be9096f8dc24dc1944e325e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page