Italian legislation via MCP — full-text search across statutes and provisions
Italian legislation via MCP — full-text search across statutes and provisions
Valid MCP server (2 strong, 2 medium validity signals). 1 known CVE in dependencies (0 critical, 1 high severity) Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (184/186 approved).
5 files analyzed · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"eu-ansvar-italian-law-mcp": {
"args": [
"-y",
"@ansvar/italian-law-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
▶ Try this MCP instantly via Ansvar Gateway
50 free queries/day · no card required · OAuth signup at ansvar.eu/gateway
One endpoint, one OAuth signup, access from any MCP-compatible client.
Claude Code (one line):
claude mcp add ansvar --transport http https://gateway.ansvar.eu/mcp
Claude Desktop / Cursor — add to claude_desktop_config.json (or mcp.json):
{
"mcpServers": {
"ansvar": {
"type": "url",
"url": "https://gateway.ansvar.eu/mcp"
}
}
}
Claude.ai — Settings → Connectors → Add custom connector → paste https://gateway.ansvar.eu/mcp
First request opens an OAuth flow at ansvar.eu/gateway. After signup, your client is bound to your account; tier (free / premium / team / company) determines fan-out, quota, and which downstream MCPs are reachable.
You can also clone this repo and build the corpus yourself. The schema, fetcher, and tool implementations all live here. What is not in the repo is the pre-built database — TDM and standards-licensing constraints on the upstream sources mean we host the corpus on Ansvar infrastructure rather than redistribute it as a public artifact.
Build your own: run this repo's ingestion script (entry-point varies per
repo — typically scripts/ingest.sh, npm run ingest, or make ingest;
check the repo root).
MCP server for Italian law — statutes from www.normattiva.it with EU implementation mapping. Indexes the Codice Civile, Codice Penale, Codice Privacy (D.Lgs. 196/2003 + D.Lgs. 101/2018), the NIS2 transposition (D.Lgs. 138/2024), D.Lgs. 231/2001 corporate liability framework, and the Codice dell'Amministrazione Digitale.
This server indexes the legal materials listed under Sources below and exposes them via the Model Context Protocol. Part of the Ansvar MCP fleet — source-available servers published for self-hosting.
It makes no outbound network calls except to the upstream sources during ingestion — no analytics, no phone-home.
ITThe corpus is rebuilt from the upstream sources by scripts/build-db.ts; re-run
npm run build:db periodically to refresh. The current free-tier ship contains a
partial-ingestion snapshot (~361 statutes); full re-ingestion is tracked as separate
work.
See Sources below for source URLs, terms, and reuse conditions.
LLMs answering compliance, security, or legal questions from training data alone will fabricate citations — confidently producing article numbers, statute names, and source URLs that do not exist, or that do not say what the model claims. This MCP exists so an agent can call a tool that returns the real text, the real identifier, and the real source URL straight from the indexed materials — and ground an answer rather than recall it.
One MCP, one corpus. The point is composition.
The Ansvar Gateway (ansvar.eu) joins this MCP with the rest of the Ansvar fleet behind a single authenticated endpoint — 300+ servers covering legal jurisdictions, EU regulations, security frameworks, sector regulators, privacy-pattern catalogues, and risk-scoring tools. That lets an agent run cross-domain workflows that no single MCP can serve alone:
Citation accuracy degrades when an agent's context fills up. Long inputs cause retrieval-stage drift — the model recalls claim text correctly but misattributes the source. Two practices keep accuracy high:
Both patterns work the same way self-hosted or through the gateway.
| Tool | Description |
|---|---|
about | Server metadata, dataset statistics, freshness, and provenance |
search_legislation | Search Italian laws and codes by keyword (in Italian); BM25 ranking, provision-level results |
get_provision | Retrieve the full text of a specific article from an Italian law (or all articles if no article number) |
list_sources | Returns metadata about data sources backing this server (jurisdiction, authority, license) |
validate_citation | Validate an Italian legal citation against the database — does the cited law and provision exist? |
build_legal_stance | Build a citation set for a legal question by searching across all Italian legislation |
format_citation | Format an Italian legal citation per standard conventions |
check_currency | Is an Italian law or provision in force, amended, or repealed (abrogata)? |
get_eu_basis | Get EU legal basis (directives, regulations) for an Italian law |
get_italian_implementations | Find Italian laws that implement a specific EU directive or regulation |
search_eu_implementations | Search for EU instruments that have been implemented or referenced by Italian laws |
get_provision_eu_basis | Get EU legal basis for a specific provision within an Italian law (article-level) |
validate_eu_compliance | Check EU compliance status — detects references to repealed EU directives |
Self-host (free, Apache 2.0) — clone this repo, run the build to compile the local SQLite database from the included data, point your MCP client at the local server. Instructions below.
Use the hosted gateway — for production use against the curated, kept-fresh corpus across the full Ansvar MCP fleet, with citation enrichment and multi-jurisdiction fan-out — see ansvar.eu.
git clone https://github.com/Ansvar-Systems/italian-law-mcp.git
cd italian-law-mcp
npm install
npm run build
npm run build:db
build:db compiles data/source/ into data/database.db (the runtime SQLite the MCP
queries). To refresh against the latest Normattiva snapshot, the ingestion script
(scripts/ingest.ts) fetches from the upstream sources listed under Sources below;
review the source's published terms before running ingestion in a commercial
deployment.
Ingestion is a snapshot — your local copy goes stale until you re-run it. The hosted gateway corpus is refreshed continuously.
{
"mcpServers": {
"italian-law-mcp": {
"command": "node",
"args": ["/abs/path/to/italian-law-mcp/dist/index.js"]
}
}
}
For HTTP transport (Docker / Kubernetes), the runtime entry point is
dist/http-server.js listening on PORT (default 3000) at /mcp.
| Source | Source URL | Terms / license URL | License basis | Attribution required | Commercial use | Redistribution / caching | Notes |
|---|---|---|---|---|---|---|---|
| Normattiva — consolidated Italian legislation | https://www.normattiva.it/ | Note legali | Public domain — Italian Copyright Law (Legge 633/1941) Art. 5 excludes official acts of the State from copyright | Recommended | Conditional | Conditional | Italian statutes themselves are not copyrighted; Normattiva's site terms restrict bulk reuse of the database structure. Verify use case. |
| Italian Senate — preparatory works (Akoma Ntoso XML) | https://dati.senato.it/ | License | CC-BY-4.0 | Required | Yes | Yes | 759,592 preparatory works; included only in the premium overlay |
Ansvar attribution code: Italian-LDA-Art-5 (declared in
infrastructure/attribution-licenses.json in the Ansvar architecture-documentation
repo). The publisher (Normattiva) also declares CC-BY-4.0 as an overlay since
2026-01-01.
atti ufficiali dello Stato e delle Amministrazioni pubbliche.
Normattiva's published terms (note_legali.html) restrict bulk reuse of the database
structure; reproducing the underlying legislative texts is permitted, but bulk
re-publication of Normattiva's curated/consolidated database may not be. The included
ingestion script extracts legislative text, not the database structure.dati.senato.it are
licensed CC-BY-4.0. Attribution is required; commercial reuse and redistribution are
permitted. The premium overlay is not redistributed under this repository's Apache 2.0
license — see ansvar.eu for the hosted gateway corpus.Italian Art. 5 is NARROW. Coverage is asymmetric across material types:
leggi), decrees (decreti legislativi,
decreti-legge), official acts of the State, decrees and decisions of public
administrations in their administrative-act capacity, ministerial circulars.sentenze) — Italian doctrine
consistently treats court judgments as outside atti ufficiali for Art. 5
purposes. A court-decisions tier would need a separate basis (D.Lgs. 36/2006
PSI implementing the EU PSI Directive, or court-specific terms).Italian-LDA-Art-5. Case-law tier (Cassazione, Corte Costituzionale,
giustizia amministrativa) is not in scope and would require a separate
licensing declaration before ingestion.See docs/audits/2026-05-17-eu-copyright-statutory-works-batch-1b-DE-IE-IT-NL-ES.md
§3 in the Ansvar architecture-documentation repo for the verbatim Art. 5 text
and the coverage analysis.
This repository's source — the MCP server code, schema, and ingestion script — is licensed under Apache 2.0. The license below covers the code in this repository only; it does not extend to the upstream legal materials.
Running ingestion may download, cache, transform, and index materials from the listed upstream sources. You are responsible for confirming that your use of those materials complies with the source terms, attribution requirements, robots/rate limits, database rights, copyright rules, and any commercial-use or redistribution limits that apply in your jurisdiction.
Apache 2.0 — see LICENSE. Commercial use, modification, and redistribution of the source code in this repository are permitted under that license. The license does not extend to upstream legal materials downloaded by the ingestion script; those remain governed by the source jurisdictions' own publishing terms (see Sources above).
If you'd rather not self-host, ansvar.eu provides this MCP plus the full Ansvar fleet through a single authenticated endpoint, with the curated production corpus, multi-MCP query orchestration, and citation enrichment.
Issues: github.com/Ansvar-Systems/italian-law-mcp/issues · Security: security@ansvar.eu
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.