Un server GroupDocs MCP consente a Claude Desktop, Claude Code, Cursor, GitHub Copilot e altri client MCP di lavorare con i tuoi documenti localmente: il client avvia il server come processo figlio sulla tua macchina e i file vengono letti e scritti nelle cartelle che scegli. L’architettura completa e il modello di sicurezza sono documentati nella pagina on‑premise di ciascun prodotto, ad esempio Running GroupDocs MCP servers on-premise: architecture and security model. Questo post confronta i tre modi comuni per collegare un agente AI ai documenti e spiega cosa lascia e cosa non lascia la macchina.

Quali architetture possono collegare un agente AI ai documenti?

Ce ne sono tre. Differiscono nella domanda che un revisore della sicurezza pone per prima: dove va il documento?

Caricamento su cloud API ospitata Server MCP locale
Come funziona L’assistente o un plugin carica il file su un servizio del fornitore Il tuo codice o agente chiama un’API REST del fornitore con il file Il client AI avvia un processo server sulla tua macchina
Dove va il documento Un cloud di terze parti Un cloud di terze parti o il tuo tenant Da nessuna parte: letto e scritto in cartelle locali
Superficie di rete Uscita verso il fornitore Uscita verso il fornitore solo stdio; nessuna con file di licenza, solo report di utilizzo (senza contenuto del documento) con licenza a consumo
Porte in ingresso Non applicabile Non applicabile Nessuna
Uso in ambiente isolato Non possibile Di solito no; dipende dalle opzioni di distribuzione del fornitore Possibile con un file di licenza
Chi lo esegue Il fornitore Il fornitore Tu, come parte del client AI

La terza colonna è ciò che implementano i server GroupDocs MCP. Il resto di questo post spiega come funziona e dove sono i suoi limiti.

Come appare il flusso di dati di un server MCP locale?

Il client AI avvia il server come processo figlio e comunica con esso tramite input e output standard usando JSON‑RPC. Il server non ascolta mai su una porta di rete e, con un file di licenza, non effettua connessioni in uscita.

+--------------+          +--------------------+         +------------------+
|  AI client   |  stdio   | MCP server process | reads / | local filesystem |
| (Claude,     | <------> | (GroupDocs engine) | <-----> | storage / output |
|  Cursor, ..) | JSON-RPC |   child process    |  writes |     folders      |
+--------------+          +--------------------+         +------------------+
       |
       | prompts and quoted fragments only
       v
+--------------------+
|   model provider   |  (cloud, or a local model inside your network)
+--------------------+

Un revisore della sicurezza ottiene quattro affermazioni verificabili:

  • Trasporto: input e output standard verso un processo figlio. Non c’è nulla da firewallare e nulla da esporre.
  • Porte in ingresso: nessuna.
  • Telemetria: nessuna. Il motore del documento gira in‑processo.
  • Uso della rete: solo al momento dell’installazione, per scaricare il pacchetto da nuget.org o l’immagine da ghcr.io. In esecuzione il server non effettua chiamate in uscita, salvo un’eccezione di licenza descritta sotto.

Puoi verificare questo invece di fidartene: esegui un’attività e osserva le socket in ascolto e le connessioni in uscita.

Cosa lascia la macchina quando un agente elabora un documento?

I documenti non lasciano la macchina. Lo fanno i prompt e i frammenti citati.

Il modello dietro il tuo client AI vede la conversazione. Se il modello è ospitato nel cloud, il tuo testo di istruzione raggiunge il fornitore del modello, così come tutto ciò che l’agente ti restituisce. Due esempi:

  • Dopo un confronto, un agente segnala che una clausola di pagamento è passata da 30 a 45 giorni. Quella frase fa parte della conversazione e viaggia verso il fornitore.
  • Dopo un’estrazione, un agente segnala il totale di una fattura. Il file non è stato spostato, ma quel valore sì.

È utile abituarsi a formulare i prompt in modo che la risposta contenga meno contenuto, ad esempio chiedendo quali file hanno un totale sopra una soglia invece di chiedere i totali. Per corpora sensibili, abbina il server a un modello ospitato localmente. In tal modo l’intero ciclo (client, modello, server, file) rimane all’interno della tua rete.

Un server locale ha bisogno di accesso a Internet?

Non per l’elaborazione. Dipende dalla modalità di licenza:

  • File di licenza: letto dal disco locale dal processo locale. Funziona completamente offline ed è la scelta giusta per reti isolate.
  • A consumo (pay‑per‑use): il server segnala utilizzo a GroupDocs, quindi necessita di traffico in uscita. Il report non contiene contenuti del documento, ma la connessione stessa deve essere consentita dal tuo firewall.

Se sono configurate sia chiavi a consumo sia un file di licenza, le chiavi a consumo hanno la precedenza. Conserva le chiavi in variabili d’ambiente anziché in configurazioni versionate. La pagina di licenza di ciascun prodotto descrive la configurazione, e lo strumento get_license_status segnala la modalità attiva.

Come eseguire il server all’interno del perimetro con Docker?

L’immagine Docker è spesso l’opzione più semplice per un team di piattaforma: un’immagine con le dipendenze native, nessun SDK sull’host e un confine limitato alle cartelle che monti. Ogni prodotto ha la propria immagine, denominata ghcr.io/groupdocs-<product>/<product>-net-mcp. Il comando sotto mostra la forma per un prodotto; sostituisci i segnaposto.

docker run --rm -i \
  -v /srv/documents:/data \
  -v /srv/licenses:/license:ro \
  -e GROUPDOCS_MCP_STORAGE_PATH=/data \
  -e GROUPDOCS_LICENSE_PATH=/license/GroupDocs.<Product>.lic \
  ghcr.io/groupdocs-<product>/<product>-net-mcp:<tag>
  • Blocca il tag. I comandi di avvio rapido usano :latest; per la produzione, fissa il tag alla versione testata così una ricostruzione non può cambiare il comportamento durante un flusso di lavoro in esecuzione.
  • Monta deliberatamente. Il contenitore vede solo le cartelle che gli assegni, il che è un confine più stretto rispetto a un processo che gira come il tuo utente.
  • Monta la licenza in sola lettura.
  • Segmenti isolati: pre‑pull dell’immagine, o pre‑cache del pacchetto NuGet, e fissa la versione.

Il tuo client AI esegue questo comando docker run come comando del server nella sua configurazione MCP, così il contenitore è il processo figlio nel diagramma sopra. La documentazione descrive le immagini come multi‑arch (linux/amd64 e linux/arm64).

Un server MCP locale è adatto per settori regolamentati?

Rimuove la più grande domanda in una revisione della privacy, ovvero il trasferimento di documenti a un processore di terze parti. Team legali, finanziari, sanitari e del settore pubblico la cui politica vieta il caricamento di documenti possono usarlo come blocco costitutivo per workflow orientati a HIPAA o GDPR. Questo descrive solo l’idoneità architetturale. I server GroupDocs MCP non sono certificati per alcuna normativa, e i tuoi obblighi dipendono comunque dal modello con cui li abbini, dalla modalità di licenza e dai tuoi controlli.

Quali sono i limiti di questo modello?

  • Un server serve un processo client. Un server stdio è avviato da un client su una macchina. Non è un servizio multi‑utente. Per un servizio condiviso, posiziona il tuo servizio davanti alla libreria GroupDocs invece di eseguire molti server MCP.
  • La licenza a consumo richiede traffico in uscita. I report di utilizzo vengono inviati, come descritto sopra. Scegli un file di licenza se la rete deve rimanere chiusa.
  • I prompt raggiungono ancora il fornitore del modello a meno che non usi un modello ospitato localmente.
  • La modalità di valutazione ha limiti. Senza licenza i server funzionano in modalità valutazione con restrizioni specifiche per prodotto. Per esempio, il server Comparison confronta solo le prime 2 pagine e aggiunge una filigrana al risultato. Chiama prima get_license_status e leggi la pagina di licenza del tuo prodotto.
  • Parser e Search sono disponibili solo come immagini Docker. GroupDocs.Parser.Mcp e GroupDocs.Search.Mcp non hanno pacchetti NuGet, quindi il percorso Docker sopra è l’unico per quei prodotti. Su un host Linux, esegui i loro contenitori con --user "$(id -u):$(id -g)" così possono scrivere nelle cartelle che monti.
  • Eccezioni di piattaforma. Due operazioni specifiche per PDF attualmente falliscono su Linux, inclusa l’immagine Docker, perché la gestione delle immagini del motore PDF dipende da System.Drawing.Common, che .NET supporta solo su Windows: GroupDocs.Annotation.Mcp generate_pages_preview su file PDF (i documenti Word vengono renderizzati), e GroupDocs.Redaction.Mcp redact_image_area e erase_metadata su file PDF (redact_text su PDF, e tutti e tre su documenti Word, funzionano). Esegui questi su Windows con dnx; vedi i post del prodotto.

FAQ

Il MCP è sicuro per documenti sensibili?
Con un server GroupDocs MCP i documenti sono elaborati in‑processo sulla tua macchina via stdio, senza porte in ascolto e senza telemetria. Resta da valutare il modello usato dal tuo client AI, perché i prompt e i frammenti citati viaggiano lì.

Posso eseguire gli strumenti Claude senza inviare dati al cloud?
I documenti rimangono locali in ogni caso. Per mantenere locali anche i prompt, usa un client che supporti un modello ospitato localmente, così nessuna parte della conversazione lascia la tua rete.

Quali dati invia un server MCP?
In esecuzione un server GroupDocs MCP non invia nulla sulla rete quando viene usato un file di licenza. Con licenza a consumo invia report di utilizzo a GroupDocs, mai contenuti del documento.

Per prodotto: pagine on‑premise nella documentazione

Ogni pagina copre la stessa architettura con i comandi per quel prodotto. Questi sono i riferimenti canonici per una revisione della sicurezza.

Per prodotto: da dove iniziare sul blog

Ogni prodotto ha una serie di post — quattro per la maggior parte, sei per Search. Il primo spiega il modello; gli altri lo applicano.