Become a member!

MCP Server per DMVCFramework: Collega le Tue Applicazioni Delphi all'Intelligenza Artificiale

🌐
Questo articolo è disponibile anche in altre lingue:
🇬🇧 English  •  🇪🇸 Español  •  🇩🇪 Deutsch  •  🇧🇷 Português

Immaginate di poter chiedere al vostro assistente AI: “Qual è il prodotto che ha generato più fatturato a marzo?” — e la risposta arriva direttamente dal vostro gestionale, con dati reali, aggiornati, senza inventare nulla. Oppure dire: “Crea un ordine di acquisto per 200 pezzi del prodotto XYZ dal fornitore Rossi” — e l’ordine viene effettivamente creato nel sistema, con tutti i controlli di validazione del caso. Nessuna integrazione complessa, nessun middleware da configurare, nessuna API REST da esporre manualmente.

Oggi questo è possibile grazie a MCP Server per DMVCFramework: una libreria open source che trasforma qualsiasi applicazione Delphi in un server MCP, il protocollo standard con cui gli assistenti AI come Claude, Gemini e ChatGPT comunicano con il software esterno.

MCP Server for DMVCFramework


Cos’è il Model Context Protocol?

Il Model Context Protocol (MCP) è uno standard aperto creato da Anthropic che definisce come un assistente AI può interagire con il software esterno. Pensatelo come una presa universale: un unico protocollo che funziona con qualsiasi client AI compatibile — Claude Desktop, Claude Code, Google Gemini CLI, Continue, Cursor, e molti altri.

Il protocollo definisce tre tipi di capability che un server può esporre:

  • Tool — funzioni che l’AI può chiamare: interrogare un database, generare un report, inviare un’email, eseguire un calcolo
  • Resource — dati che l’AI può leggere: configurazioni, documenti, metriche
  • Prompt — template di conversazione riutilizzabili che guidano il comportamento dell’AI

Il server MCP si occupa di tutto il resto: sessioni, JSON-RPC, schema JSON dei parametri, gestione degli errori. Voi vi concentrate solo sulla business logic.

Il Golden Gate Bridge nella nebbia — come MCP Server per DMVCFramework, un ponte che collega il mondo delle applicazioni Delphi all’intelligenza artificiale Photo by Rockwell on Unsplash


Perché DMVCFramework? Perché Ha Già Tutto

La scelta di DMVCFramework come piattaforma per un server MCP non è casuale — è la scelta naturale. Il protocollo MCP si basa su JSON-RPC 2.0 per la comunicazione e su HTTPS per la sicurezza in rete. DMVCFramework offre già entrambi, da anni, in produzione, con un’infrastruttura battle-tested:

  • JSON-RPC 2.0 nativo — DMVCFramework implementa JSON-RPC come first-class citizen, con PublishObject, routing automatico, e serializzazione completa dei tipi Delphi
  • HTTPS integrato — supporto TLS completo tramite TaurusTLS, con gestione certificati e configurazione via .env
  • Sessioni e sicurezza — middleware per autenticazione, gestione sessioni thread-safe, JWT

In pratica, tutto ciò che serve per implementare un server MCP era già presente in DMVCFramework. Questa libreria è semplicemente il ponte che collega quell’infrastruttura al protocollo MCP, aggiungendo la scoperta automatica via RTTI e gli attributi che rendono il tutto così immediato.

Da Settimane a Minuti

Fino ad oggi, integrare un sistema esistente con un assistente AI significava costruire adapter REST, scrivere plugin specifici per ogni piattaforma, gestire autenticazione e formati diversi. Con MCP Server per DMVCFramework, bastano poche righe di codice Delphi per esporre funzionalità che qualsiasi client AI può utilizzare immediatamente.

Quello che prima richiedeva settimane di lavoro, ora si fa in pochi minuti.

La semplicità è disarmante

Volete esporre una funzione del vostro gestionale all’AI? Ecco tutto il codice necessario:

type
  TERPTools = class(TMCPToolProvider)
  public
    [MCPTool('fatturato_prodotto', 'Restituisce il fatturato di un prodotto per mese')]
    function FatturatoProdotto(
      [MCPParam('Codice prodotto')] const CodiceProdotto: string;
      [MCPParam('Mese (1-12)')] const Mese: Integer;
      [MCPParam('Anno')] const Anno: Integer
    ): TMCPToolResult;
  end;

function TERPTools.FatturatoProdotto(
  const CodiceProdotto: string; const Mese, Anno: Integer): TMCPToolResult;
var
  LQuery: TFDQuery;
begin
  LQuery := TFDQuery.Create(nil);
  try
    LQuery.Connection := GetERPConnection;
    LQuery.SQL.Text :=
      'SELECT SUM(Quantita * PrezzoUnitario) as Fatturato ' +
      'FROM DettaglioOrdini d JOIN Ordini o ON d.IDOrdine = o.IDOrdine ' +
      'WHERE d.CodiceProdotto = :codice ' +
      'AND MONTH(o.DataOrdine) = :mese AND YEAR(o.DataOrdine) = :anno';
    LQuery.ParamByName('codice').AsString := CodiceProdotto;
    LQuery.ParamByName('mese').AsInteger := Mese;
    LQuery.ParamByName('anno').AsInteger := Anno;
    LQuery.Open;
    Result := TMCPToolResult.FromDataSet(LQuery);
  finally
    LQuery.Free;
  end;
end;

initialization
  TMCPServer.Instance.RegisterToolProvider(TERPTools);

Questo è tutto. Nessun file di configurazione, nessun XML, nessun JSON da scrivere a mano. La libreria scopre il tool via RTTI, genera automaticamente lo schema JSON dei parametri, e lo rende disponibile a qualsiasi AI che si connette.


💡 Scenari di Utilizzo: Le Possibilità Sono Infinite

La bellezza di MCP è che non si limita a un solo caso d’uso. Qualsiasi sistema che oggi espone dati o funzionalità può diventare un server MCP. Ecco alcuni scenari concreti:

ERP e Gestionali

L’AI diventa un’interfaccia conversazionale per il vostro gestionale:

  • “Mostrami i clienti con fatture scadute da più di 30 giorni”
  • “Qual è la marginalità media sui prodotti della categoria X?”
  • “Crea un ordine di acquisto per 500 pezzi del prodotto ABC dal fornitore Rossi”

Non servono dashboard nuove. Non servono report aggiuntivi. L’utente chiede, l’AI interroga il gestionale e risponde.

Sistemi di Monitoraggio e Automazione Industriale

  • “Qual è la temperatura media del forno 3 nelle ultime 24 ore?”
  • “Ci sono stati allarmi sul reparto confezionamento oggi?”
  • “Confronta la produzione di questa settimana con la settimana scorsa”

L’AI accede ai dati SCADA/MES attraverso i tool MCP, rendendo l’analisi immediata.

Healthcare e Gestione Clinica

  • “Quanti pazienti ha in agenda il Dr. Bianchi domani?”
  • “Mostrami i risultati degli esami del paziente Rossi dell’ultimo mese”
  • “Quali farmaci sono in esaurimento nel magazzino della farmacia?”

Accesso naturale ai dati clinici, con tutte le garanzie di sicurezza che il vostro sistema già implementa.

Documentazione e Knowledge Base

Esponete la documentazione del vostro prodotto come risorse MCP. L’AI potrà cercare, navigare e citare direttamente i vostri manuali, le vostre FAQ, le vostre procedure operative.

DevOps e Tooling Interno

  • “Qual è lo stato del deploy sul server di produzione?”
  • “Mostrami gli errori nel log dell’ultimo quarto d’ora”
  • “Quante richieste al secondo sta gestendo l’API di pagamento?”

Ogni tool interno, ogni script, ogni procedura operativa diventa un tool MCP che l’AI può orchestrare.


Autenticazione e Autorizzazione: Cambia Nulla

Una domanda che sorge naturale è: “Ma se l’AI può chiamare i miei tool, chi controlla chi può fare cosa?”

La risposta è semplice: la vostra applicazione, come ha sempre fatto. Il server MCP vive dentro la vostra applicazione DMVCFramework, quindi tutta l’infrastruttura di sicurezza che già avete continua a funzionare esattamente come prima.

In pratica, l’endpoint /mcp è un endpoint DMVCFramework come tutti gli altri. Questo significa che potete proteggerlo con gli stessi meccanismi che già usate per le vostre API REST:

  • Middleware di autenticazione — JWT, Basic Auth, API Key, OAuth2, o qualsiasi middleware custom che già avete
  • Controllo degli accessi — verificate i permessi dell’utente dentro i vostri tool, esattamente come fate nei vostri controller REST
  • HTTPS — il trasporto HTTP supporta TLS, quindi la comunicazione è cifrata

Non c’è nessun sistema di sicurezza “parallelo” da imparare o configurare. Se il vostro gestionale oggi verifica che l’utente X può vedere solo gli ordini del reparto Y, quella stessa logica si applica identicamente quando l’AI chiama il tool MCP per conto di quell’utente. Il tool è codice Delphi nella vostra applicazione — può accedere al contesto di sessione, verificare i ruoli, applicare filtri sui dati, esattamente come qualsiasi altro punto del vostro sistema.

E se il vostro sistema non è basato su DMVCFramework? Nessun problema. Anche usando il trasporto stdio — dove non c’è un server HTTP — i vostri tool restano comunque codice Delphi che gira dentro la vostra applicazione. Potete interrogare lo stesso database utenti, chiamare le stesse stored procedure di verifica permessi, applicare la stessa logica di autorizzazione che il vostro sistema già implementa. Il tool MCP è semplicemente un nuovo punto di ingresso, ma la business logic di sicurezza è e resta la vostra.


Due Trasporti, Zero Compromessi

La libreria supporta due modalità di trasporto:

Streamable HTTP

Il vostro server è in ascolto sulla rete. I client AI si connettono via HTTP — ideale per ambienti di produzione, server centralizzati, accesso da più postazioni.

QuickStart.exe --transport http
# Server in ascolto su http://localhost:8080/mcp

stdio

L’AI client (es. Claude Desktop) lancia direttamente il vostro eseguibile e comunica via stdin/stdout. Nessuna dipendenza HTTP — non servono TaurusTLS, Indy, né WebBroker. Il binario è leggero e autonomo.

{
  "mcpServers": {
    "mio-erp": {
      "command": "C:\\MioGestionale\\MCPServer.exe"
    }
  }
}

Entrambi i trasporti condividono lo stesso codice dei provider — scrivete i tool una volta sola e funzionano ovunque.


🚀 Quick Start: Da Zero a MCP Server in 5 Minuti

Il repository include dei progetti Quick Start pronti all’uso. Copiate la cartella, personalizzate i provider, compilate, e il vostro server MCP è operativo.

samples/
├── shared/                      ★ I vostri tool, risorse e prompt
│   ├── ToolProviderU.pas
│   ├── ResourceProviderU.pas
│   └── PromptProviderU.pas
├── quickstart/                  Progetto HTTP + stdio
└── quickstart_stdio/            Progetto solo stdio (no TaurusTLS)

Ogni file provider è ricco di commenti che spiegano esattamente come aggiungere nuovi tool, risorse e prompt. Non dovete leggere un manuale di 200 pagine — aprite il file, leggete i commenti, modificate, compilate.

Il progetto è su GitHub con licenza Apache 2.0: github.com/danieleteti/mcp-server-delphi


Aggiungi MCP a un’Applicazione DMVCFramework Esistente

Se avete già un’applicazione DMVCFramework in produzione, aggiungere MCP è questione di due righe nel vostro Web Module:

fMVC.AddController(TMCPSessionController);
fMVC.PublishObject(
  function: TObject
  begin
    Result := TMCPServer.Instance.CreatePublishedEndpoint;
  end, '/mcp');

I vostri endpoint REST, i WebSocket, tutto il resto continua a funzionare esattamente come prima. MCP è semplicemente un endpoint aggiuntivo che coesiste con tutto quello che avete già.


🎤 ITDevCon 2026 SE: Approfondimento dal Vivo

Parlerò approfonditamente di questo progetto alla prossima ITDevCon 2026 Special Edition, che si terrà in presenza l'8 maggio 2026 a Roma.

Vedremo insieme:

  • Come progettare tool MCP efficaci per sistemi reali
  • Pattern e best practice per esporre business logic complessa
  • Demo live di integrazione con Claude Desktop e altri client AI
  • Come strutturare un progetto MCP per applicazioni enterprise
  • Architettura dual-transport e scenari di deployment

Se state pensando di integrare l’AI nei vostri sistemi Delphi, questa sessione vi darà tutti gli strumenti per partire. Registratevi su itdevcon.it.


📚 Corsi in Arrivo

Per chi volesse approfondire e mettere a disposizione di un’AI i dati e la business logic del proprio sistema, saranno presto disponibili corsi dedicati su questo progetto.

I corsi copriranno:

  • Fondamenti del protocollo MCP
  • Progettazione di tool provider per sistemi gestionali
  • Resource e Prompt provider per knowledge base aziendali
  • Deployment e sicurezza in ambienti di produzione
  • Scenari avanzati: multi-content, serializzazione, gestione errori

Maggiori dettagli saranno annunciati nelle prossime settimane. Restate sintonizzati e tenete d’occhio la pagina dei corsi!


Le Possibilità Sono Infinite

Con MCP Server per DMVCFramework, ogni applicazione Delphi diventa un punto di accesso per l’intelligenza artificiale. Non parliamo di un proof-of-concept o di un esperimento: parliamo di un protocollo standard, supportato da tutti i principali assistenti AI, con una libreria production-ready costruita sull’infrastruttura battle-tested di DMVCFramework.

Pensate a cosa significa:

  • Il vostro gestionale che risponde a domande in linguaggio naturale
  • I vostri dati che alimentano analisi AI sofisticate
  • La vostra business logic che diventa accessibile senza costruire interfacce nuove
  • I vostri servizi che si integrano con l’ecosistema AI globale

E tutto questo con il linguaggio e il framework che già conoscete e usate ogni giorno.

Il futuro dell’integrazione AI è qui, ed è scritto in Delphi.


Comments

comments powered by Disqus