Skip to content
Conduit

mcp server

open-parlamento-mcp

MCP server: diritto italiano + UE, giurisprudenza (Corte Cost./Cassazione/TAR-CdS), relazioni di modifica Normattiva, dati pubblici multi-portale (CKAN), statistiche Eurostat, Parlamento curato (OpenP

giuliogarofalo/open-parlamento-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "open-parlamento-mcp": {
      "command": "uvx",
      "args": [
        "open-parlamento-mcp"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 28, 2026

open-parlamento-mcp — Italian Law & Public Data MCP Server

PyPI version License: Apache-2.0 Listed in italia-mcp-servers

MCP (Model Context Protocol) server joining Italian & EU law (Constitution, codes, EU legislation, case law, with citations) with public data (open data portals, official statistics, PNRR, migration reception centers) and curated Parliament data (OpenPolis) — 24 tools, one server.

Overview

Most Italian legal/civic MCP servers cover one slice: either the law, or one data source, or parliamentary acts. open-parlamento-mcp covers all three, because answering "is X legal?" or "how much did Y cost?" properly requires citing the norm and the data together — that's the whole point of Open Parlament, the project this server was built for.

Key Features

  • 24 MCP tools across law, EU law, case law, parliamentary iter, curated Parliament data (OpenPolis), open data, official statistics, and two focused datasets (PNRR, migrant reception)
  • Citation-grounded: legal answers point to the actual article (Cost. art. 3, C.p. art. 575), never a bare LLM guess
  • Multi-source data: CKAN (dati.gov.it + regional/local portals), Eurostat, EUR-Lex, Gazzetta Ufficiale, Normattiva modification graph
  • Complements RepublicMCP (deep SPARQL access to Camera/Senato ontologies) with a broader, curated surface — use RepublicMCP for raw parliamentary SPARQL depth, this server for law + cross-domain data in one place

Quick Start

Installation

pip install open-parlamento-mcp

Configuration with Claude Desktop

{
  "mcpServers": {
    "open-parlamento": {
      "command": "open-parlamento-mcp"
    }
  }
}

Or run directly: python -m open_parlamento_mcp.server

Environment

  • LIGHTRAG_URL (default http://localhost:9622) — used only by cerca_legge, which queries a LightRAG instance holding the ingested legal corpus. Without it reachable, every other tool still works (they're independent HTTP/SPARQL clients with no shared state).
  • OPENPOLIS_API, OPENPOLIS_LEG, OPENPOLIS_TOKEN, OPENPOLIS_TTL — optional, for the OpenPolis-backed tools (anonymous access works, token raises rate limits).
  • NORME_EDGES_DIR, SENTENZE_EDGES, PENDENZE_EDGES — optional local corpus paths for cosa_modifica/chi_modifica/giurisprudenza_su/casi_pendenti_su; without them those tools degrade gracefully (see Known Limitations).

Available MCP Tools

Diritto italiano

  • cerca_legge(domanda) — Answers a legal question from Italian law (Constitution + codes) via LightRAG, citing the exact articles (Cost. art. 3, C.p. art. 575).

Normattiva — relazioni di modifica

  • cosa_modifica(norma) — What a law/decree modifies, abrogates, replaces, or inserts (authoritative Normattiva relations), grouped by intervention type.
  • chi_modifica(norma) — Which acts have modified a given norm/article.
  • novita_normative(argomento?, serie?) — Latest acts published in Gazzetta Ufficiale (official RSS feed).

Diritto UE

  • cerca_legge_ue(argomento) — EU legislation (regulations, directives, decisions) by topic via EUR-Lex, with CELEX + link.

Giurisprudenza

  • cerca_sentenze_ue(argomento) — CJEU/General Court case law via EUR-Lex (CELEX sector 6).
  • cerca_sentenze_cost(argomento) — Corte Costituzionale rulings by topic, official massime (1956→today).
  • giurisprudenza_su(norma) — Which Corte Costituzionale rulings decided on a given norm/article, and the outcome (unconstitutional / unfounded / inadmissible).
  • casi_pendenti_su(norma) — Is a norm/article currently under challenge before the Corte Costituzionale (pending cases, from atti di promovimento)?
  • cerca_sentenze_cassazione(argomento) — Corte di Cassazione rulings (civil + criminal) via SentenzeWeb, last ~6 years.
  • cerca_giustizia_amministrativa(parole_chiave) — Consiglio di Stato + TAR data via the OpenGA open-data portal (dataset-level: rulings/appeals by subject, not individual full-text rulings).

Iter parlamentare

  • cerca_ddl_senato(argomento) — Senato bills by topic, with progress status.
  • cerca_atti_camera(argomento) — Camera bills/proposals by topic, with iter status.

For deep SPARQL access to the full Camera/Senato ontologies (deputies, votes, groups, commissions, governments) see RepublicMCP — these two tools are a thin, topic-search-first complement, not a replacement.

OpenPolis · Openparlamento

Curated, enriched Parliament data via the OpenPolis OPDM API. License: CC-BY-NC — non-commercial use, attribute "Fonte: Openpolis".

  • cerca_parlamentari(testo?, ruolo?, solo_attivi?) — Search deputies/senators by name or role, ranked by power index.
  • indice_di_forza(ramo?, limite?) — Power-index ranking of parliamentarians (Openpolis-exclusive metric).
  • profilo_parlamentare(nome) — Member profile: group, role, constituency, attendance stats.
  • cerca_votazioni(testo?, solo_voti_chiave?, solo_finali?, solo_fiducia?, esito?) — Votes by topic, with outcome, confidence/key-vote flags, cohesion.
  • decreti_legge(testo?, stato?) — Decree-laws with conversion status and Normattiva link (chainable with cosa_modifica).
  • attivita_legislativa(testo?, tipo?, stato?, ramo?) — Bills/acts across both chambers with iter phase, sponsors, rapporteurs.
  • organi_parlamentari(ramo?, tipo?) — Groups (with power weights), presidency, or commissions.

Dati pubblici & statistiche

  • cerca_dati(parole_chiave) — Real datasets from Italian (dati.gov.it + regional/local CKAN portals) and EU (data.europa.eu) open-data catalogs.
  • cerca_statistiche(argomento) — Official Eurostat statistics (unemployment, inflation, population, life expectancy, poverty, public debt, GDP...).

Temi specifici

  • cerca_pnrr(tema) — PNRR-funded projects by topic/place, with amount and iter phase. Source: OpenPNRR (Fondazione Openpolis, ODbL 1.0).
  • accoglienza_migranti(luogo) — Migrant reception centers (CAS/CPA/Hotspot) by municipality/province/region: capacity, operator, daily cost. Source: Centri d'Italia (Fondazione Openpolis, CC-BY 4.0).

Known Limitations

  • cerca_legge requires a reachable LightRAG instance with the legal corpus ingested — it currently covers Constitution + Codice Penale, not the full body of Italian law.
  • cerca_sentenze_cassazione only covers the last ~6 years (SentenzeWeb's public window) — full historical Cassazione case law (CED) sits behind a personal SPID-authenticated session, not automatable as open data.
  • cerca_giustizia_amministrativa returns dataset-level results (rulings/appeals by subject), not individual full-text rulings.
  • cosa_modifica/chi_modifica/giurisprudenza_su/casi_pendenti_su read from local pre-built corpora (NORME_EDGES_DIR, SENTENZE_EDGES, PENDENZE_EDGES) — without those paths configured they return empty results rather than failing.
  • OpenPolis-backed tools are non-commercial use only (CC-BY-NC) — don't repackage that data behind a paywall.

Related projects

Part of the italia-mcp-servers ecosystem. If you're building in this space:

  • RepublicMCP — sibling project, deep SPARQL access to the official Camera/Senato ontologies (30+ tools, hand-mapped OCD/OSR type system).
  • mcp-legal-it / BetterCallClaude Italia — other Normattiva/case-law MCP servers, useful cross-reference for citation handling.
  • ckan-mcp-server — generic CKAN connector (945+ portals) if you need broader open-data coverage than the bundled cerca_dati.

Integration Context

Developed as part of Open Parlament, an agent that answers questions about the Italian state by joining law with public data, with real citations. Works entirely standalone as a general-purpose MCP server, independent of Open Parlament.

License

Apache-2.0


Maintained by: Giulio Garofalo — part of Open Parlament

↑↓ navigate openesc close