mcp-legal-it

Server MCP + plugin per il diritto italiano

Version License Python CI Tools

Guida all'installazione per Claude Desktop (Mac e Windows) →

--- ## Cos'e mcp-legal-it Un avvocato che usa Claude non dovrebbe cercare manualmente testi di legge, ricalcolare interessi o compilare informative privacy a mano. **mcp-legal-it** e un server [Model Context Protocol](https://modelcontextprotocol.io/) che mette a disposizione **228 tool** di calcolo legale, consultazione normativa, ricerca giurisprudenziale e compliance — tutti accessibili direttamente da Claude. - **Normativa verificata** — testi vigenti da Normattiva, EUR-Lex e Brocardi (no allucinazioni) - **Giurisprudenza Cassazione** — ricerca full-text e testo sentenze da Italgiure - **Giurisprudenza Tributaria** — sentenze CTP/CTR/CGT e Cassazione tributaria da CeRDEF (def.finanze.it) - **Giustizia Amministrativa** — sentenze TAR e Consiglio di Stato (giustizia-amministrativa.it) - **Giurisprudenza CGUE** — sentenze Corte di Giustizia UE e Tribunale UE via CELLAR SPARQL - **Delibere CONSOB** — ricerca e testo integrale dal Bollettino ufficiale - **Calcoli giuridici** — interessi, rivalutazione ISTAT, parcelle, contributo unificato, IRPEF, successioni, danni e altro - **GDPR compliance** — informative, DPIA, DPA, registro trattamenti, data breach, sanzioni - **23 skill + 6 agenti** — workflow guidati per pareri, cause civili, sinistri, recupero crediti - **Legal Grounding Protocol** — hook che verificano che ogni norma citata sia supportata da `cite_law()` --- ## Installazione > **Prima volta?** La [guida passo passo](https://capazme.github.io/mcp-legal-it/) porta da zero a Legal IT funzionante in Claude Desktop, su Mac e Windows, anche senza Python installato. > **Prerequisito unico: [`uv`](https://docs.astral.sh/uv/).** Gestisce automaticamente > Python 3.12 e le dipendenze, identico su Windows/macOS/Linux. > macOS/Linux: `curl -LsSf https://astral.sh/uv/install.sh | sh` · > Windows (PowerShell): `powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"`. > Dopo l'installazione di `uv` **chiudi Claude del tutto** (⌘Q su macOS, non basta chiudere la finestra) e riaprilo: un'app già aperta non vede il nuovo `PATH`. Il primo avvio scarica Python 3.12 + dipendenze (~1 min). > > **Per il marketplace di Claude Code serve anche `git`** (clona il repository del plugin). Su macOS: `xcode-select --install`; su Windows: [Git for Windows](https://git-scm.com/download/win). Il file `.mcpb` per Claude Desktop non lo richiede. > [!IMPORTANT] > **Claude Desktop "Cowork" (l'agente cloud) non è supportato.** Da giugno 2026 Cowork esegue i plugin in una VM cloud che non può avviare server MCP locali, quindi il marketplace lo rifiuta (`failed_content: local/stdio server`). Per Claude Desktop usa il file **`.mcpb`** qui sotto (gira in locale; l'unico prerequisito è `uv`). Per l'agente Cowork servirebbe un server remoto HTTPS. ### Claude Desktop — file `.mcpb` (consigliato) 1. Installa `uv` (vedi sopra). 2. Scarica **`legal-it-X.Y.Z.mcpb`** dall'ultima [Release](https://github.com/capazme/mcp-legal-it/releases/latest). 3. In Claude Desktop: **doppio click sul file** — oppure **Impostazioni → Estensioni → Impostazioni avanzate → Sviluppatore estensioni → Installa file `.mcpb`**. 4. Riavvia Claude. I 228 tool girano in locale. > **Il primo avvio è lento** (~1 min: scarica Python 3.12 e le dipendenze) e Claude Desktop > può mostrare il server come *disconnesso* mentre sta ancora scaricando. Attendi un minuto > e riavvia Claude: al secondo avvio parte in pochi secondi.
Il server resta "disconnesso" I log stanno in `~/Library/Logs/Claude/` (macOS) — file `mcp-server-*.log` — e `%APPDATA%\Claude\logs\` (Windows). Cerca l'ultima riga di errore: | Nel log compare | Causa | Rimedio | |---|---|---| | `spawn uv ENOENT` / `uv: command not found` | `uv` non installato | Installa `uv` (vedi sopra) e riavvia Claude con ⌘Q | | `Failed to build cryptography` + `Could not find directory of OpenSSL` | Mac Intel (x86_64) con `mcp-legal-it` ≤ 2.11.0: `cryptography` ≥ 49 non pubblica più wheel per macOS Intel e prova a compilarsi dai sorgenti | Aggiorna alla versione ≥ 2.11.1, che pinna `cryptography < 49` sui soli Mac Intel | | `notifications/cancelled` dopo ~60 s, senza errori | Timeout del primo avvio mentre scarica | Riavvia Claude: la cache di `uv` è già popolata |
> **MCP Registry**: questo server dichiara la propria identità in [`server.json`](server.json) > (`io.github.capazme/mcp-legal-it`, trasporto stdio). Il manifest segue lo schema ufficiale > del [MCP Registry](https://registry.modelcontextprotocol.io); il marker verificabile per gli > aggregatori è `mcp-name: io.github.capazme/mcp-legal-it`. ### Claude Code CLI ```bash claude plugin marketplace add capazme/mcp-legal-it claude plugin install legal-it@mcp-legal-it ``` Richiede `uv` e `git` (vedi sopra). Il primo avvio può essere lento: vedi la tabella qui sotto.
Claude Code: il server non si connette | Sintomo | Causa | Rimedio | |---|---|---| | `connection timed out after 30000ms` al primo avvio | `uv` sta ancora scaricando Python: Claude Code aspetta 30 s e rinuncia (le librerie, invece, si scaricano dopo la connessione, senza limite di tempo) | Riprova da `/mcp` → *reconnect* (la cache è già popolata). Oppure avvia Claude Code con `MCP_TIMEOUT=120000 claude` | | `CONNECTION_CLOSED` | Il processo del server è terminato subito: di solito `uv` non è installato | Installa `uv` (vedi sopra; scarica da solo Python 3.12), apri un nuovo terminale e riavvia `claude` | | `marketplace add` fallisce subito | `git` mancante | `xcode-select --install` (macOS) e riprova |
### Claude.ai (web e mobile) **Al momento non esiste un connettore supportato per claude.ai web o mobile.** Il server gira in locale (stdio): le app web e mobile non possono avviarlo, e il plugin non è installabile da lì. Usa Claude Desktop (`.mcpb`) o Claude Code. ### Archivio `legal-it-plugin-X.Y.Z.zip` Ogni Release pubblica, oltre al `.mcpb`, anche `legal-it-plugin-X.Y.Z.zip` (generato da `scripts/build-plugin.sh`): una copia autonoma del **plugin per Claude Code** — skill, comandi, agenti, hook e codice del server — pensata per chi non può usare il marketplace (per esempio senza `git`). Si carica, per la sola sessione, con `claude --plugin-dir legal-it-plugin-X.Y.Z.zip` (accetta lo zip o la cartella estratta). Al primo avvio serve comunque la rete: `uv` scarica Python e le dipendenze. **Non** è un file da caricare in Claude Desktop (per quello c'è il `.mcpb`) né in claude.ai. Ogni Release pubblica anche `legal-it-skills-X.Y.Z.zip`: le 23 skill in formato `.zip`, una per file, da caricare su claude.ai (**Impostazioni → Funzionalità → Skill**). Senza il server MCP le skill che usano gli strumenti di Legal IT non hanno i dati: servono soprattutto come guida di metodo. ### Docker ```bash docker build -t mcp-legal-it . docker run -p 8000:8000 mcp-legal-it # Streamable HTTP su porta 8000, endpoint /mcp ``` Client MCP: ```json { "mcpServers": { "legal-it": { "url": "http://localhost:8000/mcp" } } } ``` ### Qualunque client MCP — entry point (richiede `uv`) Il pacchetto espone il comando `mcp-legal-it` (stdio di default; `MCP_TRANSPORT=http|sse` con `MCP_HOST`, `MCP_PORT`, `MCP_PATH`): ```bash uvx --from git+https://github.com/capazme/mcp-legal-it@main mcp-legal-it ``` Il server dichiara la propria versione ai client MCP (`serverInfo.version`). Le release vanno agganciate a un tag (`@vX.Y.Z`) invece che a `@main`. ### Manuale (sviluppatori) ```bash git clone https://github.com/capazme/mcp-legal-it cd mcp-legal-it python -m venv .venv && source .venv/bin/activate pip install -e . ``` Configurazione in `claude_desktop_config.json`: ```json { "mcpServers": { "legal-it": { "command": "/path/to/.venv/bin/python", "args": ["/path/to/mcp-legal-it/run_server.py"] } } } ``` --- ## Tool disponibili — 228 tool, 34 moduli | # | Categoria | Tool | Esempi | |---|-----------|:----:|--------| | 1 | Consultazione normativa | 8 | `cite_law`, `cerca_brocardi`, `verifica_citazioni` | | 2 | Giurisprudenza Cassazione (Italgiure) | 5 | `leggi_sentenza`, `cerca_giurisprudenza`, `giurisprudenza_articolo` | | 3 | Giurisprudenza tributaria (CeRDEF) | 3 | `cerca_giurisprudenza_tributaria`, `cerdef_leggi_provvedimento` | | 4 | Giustizia amministrativa (TAR/CdS) | 4 | `cerca_giurisprudenza_amministrativa`, `leggi_provvedimento_amm` | | 5 | Giurisprudenza CGUE | 4 | `cerca_giurisprudenza_cgue`, `leggi_sentenza_cgue` | | 6 | Corte Costituzionale | 4 | `cerca_pronuncia_costituzionale`, `leggi_pronuncia_costituzionale` | | 7 | Ricerca unificata e orientamenti | 4 | `cerca_giurisprudenza_unificata`, `orientamento_su_norma`, `mappa_orientamento` | | 8 | Gazzetta Ufficiale | 5 | `cerca_gazzetta_ufficiale`, `leggi_atto_gazzetta`, `ultime_gazzette` | | 9 | Iter parlamentare (DDL) | 3 | `cerca_ddl`, `iter_ddl`, `ddl_su_norma` | | 10 | Recepimento UE → Italia | 3 | `get_italian_implementation`, `get_eu_basis` | | 11 | Delibere CONSOB | 3 | `cerca_delibere_consob`, `leggi_delibera_consob` | | 12 | Provvedimenti Garante Privacy | 3 | `cerca_provvedimenti_garante`, `leggi_provvedimento_garante` | | 13 | Privacy/GDPR | 12 | `genera_informativa_privacy`, `genera_dpia`, `valutazione_data_breach` | | 14 | Analisi fornitori (privacy) | 3 | `verifica_partita_iva_vies`, `verifica_dpa_fornitore`, `genera_report_fornitori` | | 15 | Marchi (TMview) | 3 | `cerca_marchi`, `leggi_marchio`, `verifica_anteriorita_marchio` | | 16 | Rivalutazione monetaria | 12 | `rivalutazione_monetaria`, `adeguamento_canone_locazione` | | 17 | Interessi e tassi | 10 | `interessi_legali`, `interessi_mora`, `verifica_usura` | | 18 | Scadenze e termini | 11 | `scadenza_processuale`, `termini_memorie_repliche`, `termini_processuali_civili` (artt. 171-ter e 189 c.p.c., sospensione feriale contata giorno per giorno) | | 19 | Atti giudiziari | 23 | `contributo_unificato`, `decreto_ingiuntivo`, `pignoramento_stipendio` | | 20 | Parcelle avvocati | 12 | `parcella_avvocato_civile`, `parcella_avvocato_penale` | | 21 | Parcelle professionisti | 11 | `compenso_ctu`, `spese_mediazione` | | 22 | Risarcimento danni | 7 | `danno_biologico_micro`, `danno_biologico_macro`, `danno_parentale` | | 23 | Diritto penale | 5 | `prescrizione_reato`, `aumenti_riduzioni_pena` | | 24 | Proprietà e successioni | 12 | `calcolo_eredita`, `imposte_successione`, `calcolo_imu` | | 25 | Investimenti | 5 | `rendimento_bot`, `rendimento_btp`, `rendimento_buoni_postali` | | 26 | Dichiarazione dei redditi | 16 | `calcolo_irpef`, `regime_forfettario`, `calcolo_tfr` | | 27 | Diritto del lavoro | 6 | `indennita_licenziamento`, `calcolo_naspi`, `costo_lavoro` | | 28 | Diritto societario | 4 | `quorum_assembleari`, `soglie_organo_controllo_srl` | | 29 | Crisi d'impresa | 4 | `test_crisi_impresa`, `composizione_negoziata`, `compenso_occ` | | 30 | Procedura civile | 3 | `competenza_giudice`, `verifica_mediazione_obbligatoria`, `gratuito_patrocinio` | | 31 | Modelli di atti | 3 | `genera_modello_atto`, `esporta_atto_docx`, `lista_categorie_atti` | | 32 | Recupero crediti seriale (DOCX) | 2 | `genera_procura_liti_docx`, `genera_quotazione_docx` | | 33 | Utilità e provenienza dei dati | 14 | `codice_fiscale`, `verifica_iban`, `verbale_mensile` | --- ## Skill — 23 workflow guidati Invocabili con `/legal-it:` o attivati automaticamente da Claude in base al contesto. ### Analisi normativa e giurisprudenziale | Skill | Descrizione | Tool principali | |-------|-------------|-----------------| | `parere-legale` | Parere strutturato: Fatto, Diritto, Analisi, Conclusioni — ogni norma verificata con `cite_law` | `cite_law`, `cerca_giurisprudenza`, `leggi_sentenza` | | `analisi-articolo` | Testo vigente + ratio legis + annotazioni Brocardi + giurisprudenza + norme collegate | `cite_law`, `cerca_brocardi`, `leggi_sentenza` | | `analisi-giurisprudenziale` | Ricerca Italgiure con modalita esplora, lettura 2-4 decisioni chiave, sintesi orientamenti | `cerca_giurisprudenza`, `leggi_sentenza`, `cerca_brocardi`, `cite_law` | | `ricerca-normativa` | Fonti primarie e secondarie ordinate per gerarchia + giurisprudenza + provvedimenti autorita | `cite_law`, `cerca_brocardi`, `cerca_giurisprudenza`, `cerca_delibere_consob`, `cerca_provvedimenti_garante` | | `confronto-norme` | Confronto sistematico tra norme: differenze, sovrapposizioni, criteri di specialita/posteriorita/gerarchia | `cite_law`, `cerca_brocardi`, `cerca_giurisprudenza` | | `mappatura-normativa` | Mappa normativa completa per settore con fonti per livello gerarchico e matrice adempimenti | `cite_law`, `cerca_delibere_consob`, `cerca_provvedimenti_garante`, `cerca_brocardi` | | `verifica-prescrizione` | Termine prescrizione civile (artt. 2941-2946 c.c.) o penale con sospensione/interruzione | `prescrizione_diritti`, `prescrizione_reato`, `cite_law` | ### Contenzioso e calcoli | Skill | Descrizione | Tool principali | |-------|-------------|-----------------| | `recupero-credito` | Workflow completo: interessi mora BCE+8pp, rivalutazione ISTAT, bozza decreto ingiuntivo, parcella e CU | `interessi_mora`, `rivalutazione_monetaria`, `decreto_ingiuntivo`, `parcella_avvocato_civile` | | `causa-civile` | Pianificazione causa: CU per valore/tipo, scadenze post-Cartabia, termini impugnazione, preventivo | `contributo_unificato`, `scadenza_processuale`, `scadenze_impugnazioni`, `preventivo_civile` | | `analisi-sinistro` | Quantificazione danno biologico (micro/macro in base a %), personalizzazione, rivalutazione, interessi | `danno_biologico_micro`, `danno_biologico_macro`, `rivalutazione_monetaria`, `interessi_legali` | | `quantificazione-danni` | Calcolo risarcimento con personalizzazione per eta/attivita/condizioni e attualizzazione | `danno_biologico_micro`, `danno_biologico_macro`, `danno_non_patrimoniale`, `rivalutazione_monetaria` | | `calcolo-parcella` | Parcella D.M. 55/2014 per fase (studio, introduttiva, trattazione, decisionale) con nota spese e fattura | `parcella_avvocato_civile`, `parcella_avvocato_penale`, `parcella_stragiudiziale`, `nota_spese`, `fattura_avvocato` | | `pianificazione-successione` | Quote legittime e disponibili, grado parentela, imposte con franchigie, donazioni, adempimenti | `calcolo_eredita`, `imposte_successione`, `grado_parentela`, `imposte_compravendita` | ### Privacy e compliance | Skill | Descrizione | Tool principali | |-------|-------------|-----------------| | `compliance-privacy` | Assessment GDPR completo: base giuridica, check DPIA, registro, informativa, DPA, data breach | tutti i 12 tool GDPR + `cite_law` | | `data-breach` | Gestione incidente: valutazione rischio, modulo notifica Garante entro 72h, stima sanzioni art. 83 | `valutazione_data_breach`, `genera_notifica_data_breach`, `calcolo_sanzione_gdpr`, `cite_law` | | `analisi-fornitori` | Screening privacy del mastrino fornitori: identificazione via web e VIES, ruolo art. 28, DPA pubblicato dal fornitore, report Excel e bozze di nomina | `verifica_partita_iva_vies`, `verifica_dpa_fornitore`, `genera_report_fornitori`, `genera_dpa` | | `cookie-audit` | Audit forense di cookie, pixel e tracciamento di un sito e delle sue newsletter (pre/post consenso, CMP, GTM tag per tag, pixel Meta, `.eml` delle newsletter) con report Word e remediation — Provv. Garante 10/06/2021 e Linee guida sui tracking pixel nelle e-mail 17/04/2026 | `genera_informativa_cookie`, `cite_law` (+ strumenti browser di Claude) | ### Redazione documenti | Skill | Descrizione | Tool principali | |-------|-------------|-----------------| | `genera-atto` | Generazione atti legali — **100 modelli in 10 categorie** ([dettaglio sotto](#genera-atto--100-modelli-di-atti)) | `genera_modello_atto`, `lista_categorie_atti`, `cite_law` | | `redazione-contratto` | Supporto contrattuale: verifica norme, clausole tipo da Brocardi, check privacy/DPA se necessario | `cite_law`, `cerca_brocardi`, `analisi_base_giuridica`, `genera_dpa` | | `procure-quotazioni` | Procure alle liti e lettere di quotazione D.M. 55/2014 in serie da Excel di posizioni, con rilevamento fase (monitorio/esecuzione/opposizione) | `genera_procura_liti_docx`, `genera_quotazione_docx` | | `esporta-documento` | Esporta in DOCX o PDF il documento prodotto (informative, DPA, DPIA, registro, notifica) | `genera_informativa_privacy`, `genera_dpa`, `genera_dpia`, `genera_registro_trattamenti`, `genera_notifica_data_breach` | ### CONSOB | Skill | Descrizione | Tool principali | |-------|-------------|-----------------| | `analisi-delibere-consob` | Ricerca delibere CONSOB su un tema, lettura testo, quadro TUF/MiFID, sintesi orientamenti | `cerca_delibere_consob`, `leggi_delibera_consob`, `cite_law` | | `novita-consob` | Ultime delibere pubblicate con sintesi orientamenti per tipologia/argomento | `ultime_delibere_consob`, `leggi_delibera_consob`, `cite_law` | --- ## Genera Atto — 100 modelli di atti La skill `genera-atto` supporta **100 modelli** in **10 categorie**. Il workflow: identificazione tipo atto → raccolta campi obbligatori → calcoli automatici (CU, interessi, parcelle) → generazione → verifica norme con `cite_law` → output con checklist allegati.
Atti introduttivi (12 modelli) | Modello | Descrizione | |---------|-------------| | `decreto_ingiuntivo_ordinario` | Ricorso per DI — credito ordinario | | `decreto_ingiuntivo_professionale` | Credito professionale (parcella vidimata) | | `decreto_ingiuntivo_condominiale` | Credito condominiale | | `decreto_ingiuntivo_cambiale` | Credito cambiario | | `decreto_ingiuntivo_fatture` | Credito da fatture commerciali | | `decreto_ingiuntivo_retribuzioni` | Crediti retributivi (sezione lavoro) | | `sfratto_morosita` | Intimazione di sfratto per morosita | | `citazione_ordinaria` | Atto di citazione — rito ordinario Tribunale | | `ricorso_giudice_pace` | Ricorso al Giudice di Pace (fino a 10.000 euro) | | `ricorso_semplificato` | Rito semplificato di cognizione (art. 281-decies c.p.c.) | | `atto_appello` | Citazione in appello | | `opposizione_decreto_ingiuntivo` | Citazione in opposizione a DI |
Esecuzione (19 modelli) | Modello | Descrizione | |---------|-------------| | `atto_di_precetto` | Atto di precetto | | `pignoramento_presso_terzi` | Pignoramento presso terzi | | `pignoramento_immobiliare` | Pignoramento immobiliare | | `nota_precisazione_credito` | Nota di precisazione del credito | | `dichiarazione_553_cpc` | Dichiarazione del terzo ex art. 553 c.p.c. | | `ricerca_beni_492bis` | Ricerca beni con modalita telematiche (art. 492-bis) | | `avviso_543_5_cpc` | Avviso ex art. 543 co. 5 c.p.c. | | `cessazione_obbligo_custodia` | Cessazione obbligo di custodia | | `ordinanza_assegnazione_somme` | Ordinanza di assegnazione somme | | `ordinanza_assegnazione_crediti` | Ordinanza di assegnazione crediti | | `ordinanza_assegnazione_543_cpc` | Ordinanza di assegnazione ex art. 543 c.p.c. | | `proroga_567_cpc` | Proroga termini ex art. 567 c.p.c. | | `vendita_mobili` | Istanza di vendita beni mobili | | `vendita_immobili` | Istanza di vendita beni immobili | | `rinuncia_esecuzione` | Rinuncia all'esecuzione | | `rinuncia_intervento` | Rinuncia all'intervento | | `perdita_efficacia_pignoramento` | Dichiarazione perdita efficacia pignoramento | | `assegnazione_510_cpc` | Assegnazione ex art. 510 c.p.c. | | `termine_efficacia_titolo` | Verifica termine efficacia titolo esecutivo |
Preventivi (17 modelli) | Modello | Descrizione | |---------|-------------| | `preventivo_civile` | Preventivo causa civile ordinaria | | `preventivo_stragiudiziale` | Preventivo attivita stragiudiziale | | `preventivo_volontaria_giurisdizione` | Preventivo volontaria giurisdizione | | `preventivo_mediazione` | Preventivo procedura di mediazione | | `preventivo_decreto_ingiuntivo` | Preventivo ricorso per DI | | `preventivo_opposizione_di` | Preventivo opposizione a DI | | `preventivo_precetto` | Preventivo atto di precetto | | `preventivo_pignoramento` | Preventivo pignoramento | | `preventivo_esecuzione_mobiliare` | Preventivo esecuzione mobiliare | | `preventivo_esecuzione_immobiliare` | Preventivo esecuzione immobiliare | | `preventivo_atp` | Preventivo accertamento tecnico preventivo | | `preventivo_giudice_pace` | Preventivo causa Giudice di Pace | | `preventivo_cautelari` | Preventivo procedimenti cautelari | | `preventivo_lavoro` | Preventivo causa di lavoro | | `preventivo_appello` | Preventivo giudizio di appello | | `preventivo_penale` | Preventivo difesa penale | | `preventivo_sfratto` | Preventivo procedimento di sfratto |
Attestazioni di conformita (11 modelli) | Modello | Descrizione | |---------|-------------| | `attestazione_estratto` | Attestazione di estratto | | `attestazione_copia_informatica` | Attestazione copia informatica | | `attestazione_duplicato` | Attestazione duplicato informatico | | `attestazione_margine_fascicolo` | Attestazione a margine — fascicolo telematico | | `attestazione_separata_fascicolo` | Attestazione separata — fascicolo telematico | | `attestazione_margine_scanner` | Attestazione a margine — documento scansionato | | `attestazione_separata_scanner` | Attestazione separata — documento scansionato | | `attestazione_archivio_zip` | Attestazione archivio ZIP | | `attestazione_stampe_pec` | Attestazione stampe PEC | | `attestazione_composito_di` | Attestazione composito — decreto ingiuntivo | | `attestazione_composito_decreto` | Attestazione composito — decreto |
Notifiche e relate (9 modelli) | Modello | Descrizione | |---------|-------------| | `relata_pec_generica` | Relata di notifica PEC generica | | `relata_pec_decreto_ingiuntivo` | Relata PEC — decreto ingiuntivo | | `relata_pec_opposizione_di` | Relata PEC — opposizione a DI | | `relata_pec_appello` | Relata PEC — atto di appello | | `relata_pec_sentenza_giudicato` | Relata PEC — sentenza passata in giudicato | | `relata_pec_penale` | Relata PEC — atto penale | | `relata_posta` | Relata di notifica a mezzo posta | | `relata_unep` | Relata di notifica tramite UNEP | | `relata_pat` | Relata di notifica PAT (giustizia amministrativa) |
Procure (8 modelli) | Modello | Descrizione | |---------|-------------| | `procura_generale` | Procura alle liti generale | | `procura_speciale` | Procura speciale alle liti | | `procura_appello` | Procura per giudizio di appello | | `procura_mediazione` | Procura per mediazione | | `procura_mediazione_sostanziale` | Procura per mediazione con poteri sostanziali | | `procura_negoziazione` | Procura per negoziazione assistita | | `procura_arbitrato` | Procura per arbitrato | | `procura_incarico_professionale` | Procura e incarico professionale |
Stragiudiziale (8 modelli) | Modello | Descrizione | |---------|-------------| | `sollecito_pagamento` | Sollecito di pagamento | | `sollecito_formale_mora` | Sollecito formale con costituzione in mora | | `sollecito_prima_richiesta` | Sollecito — prima richiesta bonaria | | `sollecito_post_sentenza` | Sollecito post-sentenza | | `invito_negoziazione` | Invito a negoziazione assistita | | `adesione_negoziazione` | Adesione a negoziazione assistita | | `lettera_adeguamento_istat` | Lettera adeguamento canone ISTAT | | `richiesta_nominativi_morosi` | Richiesta nominativi morosi al condominio |
Privacy (8 modelli) | Modello | Descrizione | |---------|-------------| | `informativa_privacy_art13` | Informativa ex art. 13 GDPR | | `informativa_cookie` | Cookie policy con tabella e banner | | `informativa_dipendenti` | Informativa privacy dipendenti | | `informativa_videosorveglianza` | Cartello EDPB + informativa estesa | | `dpa_art28` | Contratto responsabile trattamento art. 28 GDPR | | `registro_trattamenti` | Scheda registro ex art. 30 GDPR | | `dpia` | Valutazione d'impatto sulla protezione dati | | `notifica_data_breach` | Modulo notifica violazione al Garante |
Istanze (6 modelli) | Modello | Descrizione | |---------|-------------| | `istanza_esecutorieta` | Istanza di esecutorieta | | `certificato_giudicato` | Richiesta certificato di passaggio in giudicato | | `istanza_giudicato` | Istanza di giudicato | | `ricorso_intervento` | Ricorso per intervento | | `avviso_impugnazione` | Avviso di impugnazione | | `avviso_opposizione_di` | Avviso di opposizione a decreto ingiuntivo |
PCT (2 modelli) | Modello | Descrizione | |---------|-------------| | `nota_deposito_pct` | Nota di deposito telematico PCT | | `nomina_ctp` | Nomina consulente tecnico di parte |
--- ## Slash command — 9 | Comando | Descrizione | Logica di routing | |---------|-------------|-------------------| | `/legal-it:norma` | Cerca e cita una norma | Fetch testo vigente con `cite_law`, poi offre annotazioni Brocardi o giurisprudenza collegata | | `/legal-it:sentenza` | Leggi una sentenza di Cassazione | Testo integrale con `leggi_sentenza` se numero e anno sono noti, altrimenti `cerca_giurisprudenza` | | `/legal-it:interessi` | Calcolo interessi legali o di mora | Distingue legali (art. 1284 c.c.) da mora commerciale (BCE+8pp, D.Lgs. 231/2002) | | `/legal-it:codice-fiscale` | Calcolo o decodifica CF | Se riceve un CF lo decodifica, se riceve dati anagrafici lo calcola | | `/legal-it:scadenza` | Calcolo scadenza processuale | Routing: memorie 183/190, impugnazioni, esecuzioni, prescrizione civile/penale | | `/legal-it:privacy` | Genera documenti GDPR | Routing per tipo: informativa art. 13, cookie, dipendenti, videosorveglianza, DPA, registro, DPIA, data breach | | `/legal-it:digest` | Briefing giuridico settimanale | Ultime novità da tutte le fonti (Cassazione, tributario, TAR/CdS, CGUE, Garante, CONSOB), raggruppate per fonte; pianificabile come cron | | `/legal-it:dati` | Stato delle tabelle dati | Freschezza e provenienza di ogni tabella del server e backlog di riconciliazione ordinato per quanto ha bloccato | | `/legal-it:verbale` | Verbale mensile dei rifiuti | Report mese su mese dei calcoli rifiutati o degradati per tabelle scadute o non verificate (`verbale_mensile`) | --- ## Agenti — 5 specialisti | Agente | Specializzazione | Aree coperte | |--------|------------------|--------------| | `civilista` | Contratti, responsabilita, successioni, diritti reali, obbligazioni, famiglia | Artt. 1321-1469 c.c. (contratti), art. 2043 ss. (resp. extracontrattuale), artt. 456-768 (successioni), artt. 832-1172 (diritti reali) | | `penalista` | Reati, pene, prescrizione, misure cautelari, riti alternativi | Regime di prescrizione scelto dalla data del fatto: ordinario (fino al 02/08/2017), Orlando (2017-2019), blocco dopo il primo grado e improcedibilità ex art. 344-bis c.p.p. (fatti dal 2020) | | `privacy-specialist` | GDPR, Codice Privacy, provvedimenti Garante | Struttura: Quadro normativo → Analisi → Rischi e sanzioni → Raccomandazioni | | `redattore-atti` | Redazione atti giudiziari, stragiudiziali, procure, relate, attestazioni | Accesso a tutti i 100 modelli di atti + tool di calcolo (CU, interessi, parcelle) | | `ricerca-giurisprudenziale` | Ricerca sistematica su Italgiure, CeRDEF, TAR/CdS, CGUE, CONSOB, Garante | Strategia: esplora → filtra con facets → cerca con filtri → leggi decisioni chiave → Brocardi → fondamento normativo | --- ## Tool a normativa previgente Due tool calcolano sotto una disciplina che non regola più i casi nuovi e servono solo per i casi residuali che ancora governa: `termini_183_190_cpc` (memorie ex artt. 183 co. 6 e 190 c.p.c. nel testo anteriore alla Riforma Cartabia, per le cause iscritte a ruolo prima del 28/02/2023) ed `equo_indennizzo` (DPR 834/1981, per i fatti anteriori al 06/12/2011). Sono marcati con una flag dichiarata una volta nel docstring e applicata in tre punti: | Dove | Cosa | |------|------| | Docstring | riga `Regime: PREVIGENTE — ; tool vigenti: `, la prima cosa che il modello legge prima di scegliere | | `tools/list` | tag `previgente` e blocco `mcp-legal-it/regime` in `_meta` (stato, casi residuali, tool vigenti) | | Ogni risposta | campo `regime_normativo` nel corpo e lo stesso blocco in `_meta` | Per impostazione predefinita i tool restano registrati e marcati; `LEGAL_PREVIGENTE=off` li nasconde del tutto. L'audit (`scripts/audit_tool_annotations.py`) fallisce se un tool dichiara il regime senza tag o senza wrapper `@previgente`, o se indica come tool vigente un nome non registrato. Dettagli in `src/lib/_regime.py`. ## Legal Grounding Protocol Il plugin include hook che garantiscono l'accuratezza delle citazioni normative: - **Stop hook** — verifica che ogni norma citata nella risposta abbia un `cite_law()` corrispondente **Regole per l'LLM**: | Situazione | Azione | |------------|--------| | Citare una norma | `cite_law()` per il testo vigente | | Sentenza con numero noto | `leggi_sentenza()` diretto | | Sentenza senza numero | `cerca_giurisprudenza()` poi `leggi_sentenza()` | | Tool di calcolo | Incorporano le norme — non richiedono `cite_law` | --- ## Configurazione ### Variabili d'ambiente | Variabile | Default | Descrizione | |-----------|---------|-------------| | `MCP_TRANSPORT` | `stdio` | Transport: `stdio`, `http` (Streamable HTTP, endpoint `/mcp`; default nell'immagine Docker) o `sse` (legacy) | | `MCP_HOST` | `0.0.0.0` | Bind address (solo http/sse) | | `MCP_PORT` | `8000` | Porta (solo http/sse) | | `LEGAL_PROFILE` | `full` | Profilo tool da caricare | | `LEGAL_PREVIGENTE` | `on` | `off` nasconde i tool a normativa previgente (tag `previgente`) | | `MCP_CACHE_DIR` | — | Directory cache Brocardi | ### Profili disponibili | Profilo | Tool caricati | |---------|---------------| | `full` | Tutti i 228 tool | | `calcoli` | Solo tool di calcolo (nessuna connessione HTTP) | | `normativa` | Normattiva + EUR-Lex + Brocardi + Italgiure + TAR/CdS + CGUE + CONSOB | | `fiscale` | Calcoli fiscali + IRPEF + investimenti + CeRDEF + CONSOB | | `privacy` | Tool GDPR/Privacy + Garante | --- ## Sviluppo ```bash git clone https://github.com/capazme/mcp-legal-it cd mcp-legal-it python -m venv .venv && source .venv/bin/activate pip install -e ".[dev]" pytest tests/ -m "not live" ``` Vedi [CONTRIBUTING.md](CONTRIBUTING.md) per la guida completa allo sviluppo. --- ## Contributing Contributi benvenuti! Leggi [CONTRIBUTING.md](CONTRIBUTING.md) per i dettagli su: - Come aggiungere un nuovo tool (calcolo o con HTTP) - Pattern `_impl` + wrapper per la testabilita - Convenzioni di output (importi, date, precisione) - Checklist pre-PR --- ## Licenza [Apache License 2.0](LICENSE) — Copyright 2025-2026 [capazme](https://github.com/capazme). [![MCP Badge](https://lobehub.com/badge/mcp/capazme-mcp-legal-it)](https://lobehub.com/mcp/capazme-mcp-legal-it) --- > I calcoli sono indicativi e non sostituiscono il parere di un professionista abilitato. Verificare sempre l'aggiornamento delle norme.