
Librerie Python per lo sviluppo di server Model Context Protocol (MCP)
Esempio rapido di come sviluppare il tuo server MCP con Python.
Scopri come il Model Context Protocol (MCP) consente a Claude e altri assistenti AI di interagire in modo sicuro con i tuoi file locali tramite operazioni sandboxed guidate dai permessi. Consulta esempi pratici e le migliori pratiche per un’implementazione sicura.
Il Model Context Protocol (MCP) offre un framework sicuro per consentire alle applicazioni di interagire con i filesystem tramite operazioni sandboxed. Questa guida spiega come funziona MCP, le sue caratteristiche principali e illustra un esempio pratico utilizzando il MCP Filesystem Server.
Il Model Context Protocol (MCP) è un potente framework di sicurezza progettato per abilitare interazioni controllate tra applicazioni (come assistenti AI) e sistemi esterni, in particolare i filesystem. Agendo come un ponte sicuro, MCP consente agli strumenti di eseguire operazioni come la lettura, la scrittura o la ricerca di file in un ambiente sandboxed guidato dai permessi.
Il protocollo è particolarmente prezioso per gli sviluppatori che desiderano integrare operazioni sul filesystem in applicazioni come VS Code, Claude Desktop o altri ambienti di sviluppo, mantenendo confini di sicurezza robusti.
Il MCP Filesystem Server è un’implementazione Node.js costruita specificamente per operazioni sul filesystem all’interno del framework Model Context Protocol. Fornisce un set completo di strumenti per interagire con file e directory in modo controllato.
Ecco una panoramica delle funzionalità principali:
Tutti questi strumenti sono accessibili tramite la risorsa file://system, che funge da interfaccia per le operazioni filesystem MCP.
Per illustrare come funziona MCP nella pratica, vediamo un esempio reale di utilizzo del MCP Filesystem Server con Claude, un assistente AI, per eseguire operazioni comuni sul filesystem.
Il primo passo è stato determinare quali directory Claude potesse accedere. Abbiamo utilizzato lo strumento list_allowed_directories, che ha mostrato due posizioni autorizzate:
/Users/arshia/Desktop
/Users/arshia/Downloads
Questo ha confermato che le operazioni di Claude erano limitate solo a queste directory, mantenendo il resto del filesystem sicuro.
Successivamente, abbiamo usato lo strumento list_directory per vedere quali file fossero disponibili. I risultati mostravano:
Per /Users/arshia/Desktop:
Per /Users/arshia/Downloads:
Questo ha rivelato la presenza di un file chiamato shrek.txt
nella directory Downloads, insieme ad altri file e a una directory per Visual Studio Code.
Screenshot che mostra le richieste e risposte list_directory per le directory Desktop e Downloads
Identificato shrek.txt, abbiamo tentato di leggerne il contenuto utilizzando lo strumento read_file. Inizialmente, abbiamo fornito solo il nome del file shrek.txt, presumendo che lo strumento cercasse nelle directory consentite.
Questo ha prodotto un errore:
“Accesso negato – percorso fuori dalle directory consentite: /shrek.txt non è in /Users/arshia/Desktop, /Users/arshia/Downloads.”
L’errore si è verificato perché MCP richiede percorsi file completi per motivi di sicurezza.
Immagine 2: Screenshot che mostra il tentativo fallito di read_file con il messaggio di errore
Correggendo l’approccio, abbiamo fornito il percorso completo /Users/arshia/Downloads/shrek.txt
allo strumento read_file. Questa volta, l’operazione è riuscita, restituendo il contenuto del file:
Request
{
`path`: `/Users/arshia/Downloads/shrek.txt`
}
Response
Can you see what im writing here? If you do check this out:
⢀⡴⠑⡄⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠸⡇⠀⠿⡀⠀⠀⠀⣀⡴⢿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠑⢄⣠⠾⠁⣀⣄⡈⠙⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⡀⠁⠀⠀⠈⠙⠛⠂⠈⣿⣿⣿⣿⣿⠿⡿⢿⣆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⡾⣁⣀⠀⠴⠂⠙⣗⡀⠀⢻⣿⣿⠭⢤⣴⣦⣤⣹⠀⠀⠀⢀⢴⣶⣆
⠀⠀⢀⣾⣿⣿⣿⣷⣮⣽⣾⣿⣥⣴⣿⣿⡿⢂⠔⢚⡿⢿⣿⣦⣴⣾⠁⠸⣼⡿
⠀⢀⡞⠁⠙⠻⠿⠟⠉⠀⠛⢹⣿⣿⣿⣿⣿⣌⢤⣼⣿⣾⣿⡟⠉⠀⠀⠀⠀⠀
⠀⣾⣷⣶⠇⠀⠀⣤⣄⣀⡀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀
⠀⠉⠈⠉⠀⠀⢦⡈⢻⣿⣿⣿⣶⣶⣶⣶⣤⣽⡹⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠲⣽⡻⢿⣿⣿⣿⣿⣿⣿⣷⣜⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣷⣶⣮⣭⣽⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⣀⣈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠿⠿⠿⠛⠉
Shrek
L’operazione riuscita ha confermato che MCP può leggere file quando viene fornito il percorso corretto all’interno delle directory consentite.
Questo walkthrough pratico evidenzia diversi aspetti importanti dell’utilizzo di MCP:
Sulla base della nostra esperienza e delle funzionalità del MCP Filesystem Server, raccomandiamo queste best practice:
dryRun: true
prima di applicarle.Il Model Context Protocol (MCP) e il suo Filesystem Server offrono un approccio robusto e sicuro alle operazioni sul filesystem in ambienti controllati. Il nostro esempio con Claude mostra l’utilizzo pratico di strumenti come list_directory e read_file, evidenziando principi importanti come l’uso di percorsi completi e la comprensione dei confini dei permessi.
Seguendo le best practice qui descritte, puoi sfruttare al meglio MCP per integrare in sicurezza operazioni filesystem nelle tue applicazioni o nei tuoi workflow di sviluppo.
Per gli sviluppatori che desiderano implementare MCP nei propri progetti, la documentazione ufficiale su GitHub offre dettagli completi e guide all’implementazione.
Il Model Context Protocol (MCP) è un framework di sicurezza che consente interazioni controllate e sandboxed tra applicazioni—come assistenti AI—e filesystem. Permette la lettura, la scrittura, la ricerca e altre operazioni sui file in directory rigorosamente autorizzate.
MCP applica operazioni sandboxed limitando tutte le azioni a directory predefinite. Previene accessi non autorizzati, richiede percorsi file completi per le operazioni e supporta funzionalità come i mount in sola lettura per le posizioni sensibili.
No, le applicazioni che utilizzano MCP possono interagire solo con le directory che sono state esplicitamente autorizzate. I tentativi di accedere a file al di fuori di queste directory vengono bloccati, garantendo solidi confini di sicurezza.
Gli strumenti principali includono read_file, write_file, edit_file, create_directory, list_directory, move_file, search_files, get_file_info e list_allowed_directories. Tutte le operazioni vengono eseguite tramite un'API standardizzata.
Controlla sempre le directory consentite prima delle operazioni, fornisci percorsi file completi, usa la modalità di prova (dry run) durante le modifiche, pianifica successi parziali e configura le directory con il minimo privilegio necessario. Queste pratiche aiutano a garantire sia sicurezza che un'integrazione efficace.
Arshia è una AI Workflow Engineer presso FlowHunt. Con una formazione in informatica e una passione per l'IA, è specializzata nella creazione di workflow efficienti che integrano strumenti di intelligenza artificiale nelle attività quotidiane, migliorando produttività e creatività.
Scopri come gli strumenti AI di FlowHunt sfruttano MCP per interazioni sicure e controllate con i tuoi file locali. Crea i tuoi workflow AI in modo sicuro ed efficiente.
Esempio rapido di come sviluppare il tuo server MCP con Python.
Il Model Context Protocol (MCP) è un'interfaccia standard aperta che consente ai Large Language Models (LLM) di accedere in modo sicuro e coerente a fonti di da...
Il server MCP Code Sandbox fornisce un ambiente sicuro e containerizzato per l'esecuzione del codice, permettendo ad assistenti AI e strumenti di sviluppo di es...