Skip to main content
Glama
Banca Dati di Merito MCP Server

Banca Dati di Merito MCP Server

🏛️ MCP Banca Dati di Merito — Civile

Server MCP (Model Context Protocol) che permette a qualsiasi LLM o sistema compatibile di consultare direttamente la Banca Dati di Merito del Ministero della Giustizia — la banca dati gratuita che raccoglie sentenze, decreti e ordinanze civili dei tribunali italiani.

Compatibile con Claude Desktop, Cursor, Windsurf, Continue, Zed e qualsiasi altro client che supporta il protocollo MCP.

Una volta configurato, puoi chiedere al tuo assistente AI:

"Cerca sentenze del Tribunale di Bologna sulla locazione abitativa degli ultimi due anni"

"Leggi il testo integrale di questa sentenza e dimmi se è rilevante per il mio caso"

"Trova abstract sulla responsabilità medica con precedenti conformi"

L'assistente cercherà, leggerà e analizzerà i provvedimenti per te, direttamente in chat.


Cosa serve prima di iniziare

  1. Un Mac (il progetto è testato su macOS)

  2. Un client MCP installato — es. Claude Desktop, Cursor, Windsurf o altro

  3. Node.js 20 o superiore — scaricalo da nodejs.org (scegli la versione "LTS")

  4. La tua CIE (Carta d'Identità Elettronica) fisica con PIN

  5. L'app CieID installata sul tuo smartphone (App Store / Google Play)

  6. Un lettore NFC sul telefono (tutti gli smartphone moderni ce l'hanno)


Related MCP server: gov-it-legal-mcp

Installazione

1. Scarica il progetto

Apri il Terminale (cercalo con Spotlight: ⌘ Spazio, digita "Terminale") e incolla questi comandi uno alla volta:

cd ~/Documents
git clone https://github.com/avvocati-e-mac/mcp-bdm-civile.git
cd mcp-bdm-civile

2. Installa le dipendenze

Sempre nel Terminale, nella cartella del progetto:

npm install
npx playwright install chromium

Questo scarica le librerie necessarie e il browser interno usato dallo strumento. Ci vuole qualche minuto.

3. Esegui il login con la CIE

Questo passaggio va fatto una sola volta (la sessione dura circa un anno):

node src/auth/save-session.js

Si aprirà un browser. Segui questi passi:

  1. Clicca "Accedi" nella homepage della Banca Dati

  2. Seleziona "Entra con CIE"

  3. Apparirà un QR code — apri l'app CieID sul telefono e scansionalo

  4. Avvicina la CIE al telefono (NFC) e inserisci il PIN nell'app

  5. Aspetta che il browser torni sulla homepage della Banca Dati

  6. Torna nel Terminale e premi Invio

Se vedi ✅ Sessione verificata, hai completato il login con successo.

4. Configura il tuo client MCP

Apri il Terminale e incolla questo comando per trovare il percorso corretto del server:

echo "$(pwd)/src/server.js"

Copia l'output (es. /Users/tuonome/Documents/mcp-bdm-civile/src/server.js).

Poi aggiungi il server alla configurazione del tuo client. Il blocco da aggiungere è sempre lo stesso:

{
  "mcpServers": {
    "bdm-civile": {
      "command": "node",
      "args": ["/Users/tuonome/Documents/mcp-bdm-civile/src/server.js"]
    }
  }
}

⚠️ Sostituisci il percorso con quello copiato prima.

Dove si trova il file di configurazione a seconda del client:

Client

File di configurazione

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json

Cursor

.cursor/mcp.json nella cartella del progetto, oppure ~/.cursor/mcp.json globale

Windsurf

~/.codeium/windsurf/mcp_config.json

Continue

.continue/config.json nella cartella del progetto

Altri

Consulta la documentazione del tuo client per la posizione del file MCP

Se nel file c'era già altro contenuto (altri server MCP), aggiungi solo la parte "bdm-civile": { ... } dentro "mcpServers".

5. Riavvia il client

Chiudi e riapri il tuo client MCP. Gli strumenti della Banca Dati di Merito saranno disponibili nell'interfaccia.


Come si usa

Chiedi normalmente al tuo assistente AI, in italiano. Alcuni esempi:

Ricerca provvedimenti:

  • "Cerca sentenze sulla locazione commerciale del distretto di Milano"

  • "Trova ordinanze del 2024 del Tribunale di Roma in materia di separazione"

  • "Cerca provvedimenti che citano l'articolo 1453 del codice civile"

Lettura provvedimenti:

  • "Leggi il testo integrale di questa sentenza: [incolla URL dalla BDP]"

  • "Dimmi i metadati di questo provvedimento: giudice, materia, parole chiave"

Abstract e precedenti:

  • "Cerca abstract sulla responsabilità del medico"

  • "Ci sono precedenti conformi per questo abstract?"

Navigazione archivio:

  • "Mostrami i tribunali del distretto di Napoli presenti in archivio"

  • "Quali materie sono disponibili per il Tribunale di Torino?"

Utilità:

  • "La sessione della Banca Dati è ancora attiva?"

  • "Elenca tutte le materie disponibili nella BDP"


Quando la sessione scade

La sessione CIE dura circa un anno. Quando scade, l'assistente risponderà con un messaggio del tipo:

Sessione CIE scaduta. Ferma il server, esegui: npm run save-session, poi riavvia.

Per rinnovarla, apri il Terminale nella cartella del progetto e ripeti il login:

cd ~/Documents/mcp-bdm-civile
node src/auth/save-session.js

Poi riavvia il client MCP.


Domande frequenti

Il browser si apre quando uso il server — è normale? Sì. Il server usa un browser interno in background per navigare la BDP. Alla prima chiamata dopo l'avvio del client, il browser si inizializza e potresti vederlo comparire brevemente nella Dock.

I miei dati sono al sicuro? Il server accede alla BDP usando le tue credenziali CIE, esattamente come faresti tu nel browser. Non invia nulla a server esterni — tutto rimane sul tuo Mac e sulla BDP del Ministero.

Posso usarlo senza CIE? No. La BDP richiede autenticazione con CIE livello 3. Senza login non è possibile accedere ai provvedimenti.

Funziona su Windows? Il progetto è sviluppato e testato su macOS. Potrebbe funzionare su Windows con adattamenti, ma non è supportato ufficialmente.

Il client non trova i tool della BDP dopo la configurazione — cosa faccio? Verifica che il percorso nel file di configurazione sia corretto e che il file sia salvato nella posizione giusta per il tuo client. Poi riavvia completamente il client.


Struttura del progetto

mcp-bdm-civile/
├── src/
│   ├── server.js              punto di ingresso del server MCP
│   ├── auth/
│   │   ├── save-session.js    script di login CIE
│   │   └── session-manager.js carica la sessione salvata
│   ├── browser/               gestione del browser interno
│   └── tools/                 gli 11 strumenti disponibili
├── spec/                      documentazione tecnica dei selettori DOM
├── sessioni/                  diario delle sessioni di sviluppo
├── CLAUDE.md                  istruzioni tecniche per lo sviluppo
└── GUIDA.md                   guida tecnica all'architettura

Licenza e crediti

Sviluppato da @avvocati-e-mac.

I dati provengono dalla Banca Dati di Merito del Ministero della Giustizia — accesso gratuito previa autenticazione CIE.

Available Tools

11 tools
cerca_abstractCerca Abstract / Massime BDPB
Read-only

Cerca abstract/massime redazionali nella Banca Dati del Merito del Ministero della Giustizia

Inputs: anno, tipo, query, data_a, +17 more.

cerca_provvedimentiCerca Provvedimenti BDPB
Read-only

Cerca provvedimenti (sentenze, decreti, ordinanze) nella Banca Dati del Merito del Ministero della Giustizia

Inputs: anno, tipo, query, data_a, +15 more.

leggi_abstractLeggi Testo AbstractA
Read-onlyIdempotent

Legge testo completo di un abstract BDP con precedenti conformi e difformi

Inputs: url (required).

leggi_dettaglio_provvedimentoLeggi Dettaglio ProvvedimentoA
Read-onlyIdempotent

Legge metadati completi, timeline gradi di giudizio e abstract collegati di un provvedimento BDP

Inputs: url (required).

leggi_testo_provvedimentoLeggi Testo Integrale ProvvedimentoA
Read-onlyIdempotent

Estrae il testo integrale anonimizzato di un provvedimento aprendolo dalla pagina dettaglio e cliccando "Mostra". Il testo completo (tutte le pagine) è nel DOM in .visually-hidden dentro #document-modal.

Inputs: url (required).

ottieni_distrettiOttieni Distretti GiudiziariA
Read-onlyIdempotent

Estrae i distretti giudiziari disponibili dal select della ricerca BDP (live, non hardcoded)

Inputs: no named parameters. Returns: distretti

ottieni_materieOttieni Materie DisponibiliA
Read-onlyIdempotent

Estrae le materie disponibili dal select della ricerca BDP (live, non hardcoded)

Inputs: no named parameters. Returns: materie

ottieni_precedentiOttieni Precedenti Conformi/DifformiA
Read-onlyIdempotent

Estrae la lista di precedenti conformi e/o difformi dalla pagina dettaglio di un abstract BDP

Inputs: url (required), tipo.

ottieni_timelineOttieni Timeline Gradi di GiudizioA
Read-onlyIdempotent

Estrae la catena dei gradi di giudizio dalla pagina dettaglio di un provvedimento BDP

Inputs: url (required).

verifica_sessioneVerifica Sessione CIEA
Read-only

Verifica se la sessione CIE è ancora attiva navigando la BDP

Inputs: no named parameters. Returns: valida, messaggio

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: search measures vs abstracts, read metadata vs full text, obtain precedents vs timeline. The descriptions clearly differentiate the purposes, leaving no ambiguity.

    Naming Consistency5/5

    All tool names follow the same imperative verb_noun pattern in Italian: ottieni_, cerca_, leggi_, naviga_, verifica_. This consistent structure makes the set predictable and easy to navigate.

    Tool Count5/5

    With 11 tools, the server is well-scoped for a legal document retrieval domain. Each tool covers a necessary function without redundancy, fitting comfortably within the ideal range.

    Completeness5/5

    The tool surface covers the full lifecycle of querying and retrieving legal documents: search, read metadata, read abstracts, read full text, navigate the archive, and obtain contextual data like precedents, timelines, subjects, and districts. No major dead ends exist.

    Related MCP Connectors

    Related MCP Servers