Sicurezza e risoluzione dei problemi MCP
MCP può fallire nelle operazioni di rete, autenticazione, rilevamento o esecuzione.
Cosa imparerai
- Spiegare: host, client e server
- Applica l'idea in un esempio: sicurezza MCP e risoluzione dei problemi
- Riconoscere i limiti e verificare il risultato dell'esercizio
MCP può fallire nelle operazioni di rete, autenticazione, rilevamento o esecuzione. Separare queste fasi per evitare cambiamenti casuali.
Questi passaggi si riferiscono alle funzionalità identificate nel codice dell'applicazione. Questo materiale non è stato convalidato su un'istanza live; controlla la documentazione e le opzioni nella tua versione.
Come funziona, passo dopo passo
Host, client e server
MCP è un protocollo che collega le applicazioni AI a capacità esterne. L'host fornisce l'esperienza, il client gestisce la connessione e il server espone strumenti, risorse o istruzioni in base al supporto. Gli strumenti eseguono operazioni; le risorse forniscono contenuti indirizzabili; i prompt forniscono modelli. Non tutti i server li implementano tutti e tre. Il trasporto trasporta i messaggi, l'autenticazione identifica i chiamanti e l'autorizzazione controlla l'accesso. Controlla la revisione del protocollo e le estensioni supportate su entrambe le estremità. La compatibilità non può essere dedotta solo dall'etichetta "MCP".
Controllare l'accesso prima dell'uso
Le autorizzazioni devono essere applicate dai server e dal livello dati. Non lasciare che sia il modello a decidere se un utente può vedere un documento. Filtra le fonti prima che entrino nel contesto, non dopo aver generato la risposta. Utilizza credenziali di accesso minimo, tienile lontane da prompt, screenshot e codice del browser e ruota le chiavi esposte. Una lista consentita di domini widget non sostituisce l'autenticazione API. L'autenticazione ti identifica; l'autorizzazione determina le operazioni e i dati che puoi utilizzare. Prova anche l'accesso negato.
Gli errori necessitano di percorsi espliciti
Un timeout è diverso da un errore di autorizzazione. Riprova solo errori temporanei, con tentativi limitati e ritardi crescenti. Un'operazione con effetti collaterali può essere eseguita prima che la sua risposta venga persa; riprovare senza una chiave di idempotenza può duplicare l'effetto. Lo streaming mostra l'avanzamento ma non garantisce il completamento. I checkpoint possono consentire la ripresa delle fasi non riuscite entro i limiti di runtime. Memorizza l'identificatore dell'esecuzione, la fase, la durata e l'errore rimuovendo i segreti dai log. Misura i percorsi lenti e le medie.
Lo schema esplicativo
Seguire le frecce continue per il flusso principale. Le frecce blu tratteggiate forniscono dati o contesto; le frecce rosa tratteggiate mostrano feedback o risultati restituiti. Colori e forme distinguono modelli, negozi, decisioni e risultati. Su schermi piccoli, scorri in orizzontale per seguire l’intero schema.
Un esempio completo
Una chiave sbagliata dà l'accesso negato. Un endpoint errato potrebbe restituire una pagina HTML. Un timeout dello strumento non dimostra un problema dello schema di rilevamento.
Provalo tu stesso
- Testa la chiave sbagliata, l'endpoint sbagliato e gli argomenti non validi utilizzando i dati dimostrativi.
- Registrare l'input, la fonte e il risultato atteso prima di eseguire l'esperimento. Utilizzare solo i dati fittizi nell'esempio.
- Seguire le fasi del diagramma. Ad ogni passaggio registrare quali informazioni vengono ricevute e prodotte; non confondere il risultato intermedio con il risultato finale.
- Ripetere dopo aver rimosso le informazioni necessarie o reso ambiguo l'input. Controlla se il sistema chiarisce, ferma o inventa una risposta.
- Confrontare con la soluzione spiegata. Conserva la configurazione, la data, il risultato e una spiegazione delle differenze. Cambia una cosa e riprova.
Una soluzione spiegata
Classifica l'errore e correggi la configurazione senza copiare i segreti nei log o negli screenshot. Un esercizio riuscito ti consente di mostrare la connessione tra input, fasi e risultato. Quando mancano le informazioni, una risposta cauta è più utile dei dettagli inventati. Confrontare non solo stile: verificare anche condizioni, fonti e operazioni.
Quando è utile e quali sono i suoi limiti
Un server connesso potrebbe ancora avere uno strumento non disponibile. Scegli questo approccio quando migliora un bisogno misurato. Mantieni una linea di base semplice e confronta i risultati utilizzando input identici. Un esempio di successo non stabilisce l’affidabilità in ogni situazione.
Verifica ciò che hai imparato
Un server dotato di strumenti offre automaticamente risorse e suggerimenti?
No. Le funzionalità sono facoltative e devono essere scoperte e verificate.
Perché rimuovere una fonte privata dopo aver risposto è troppo tardi?
I dati sono già entrati nel contesto del modello e possono essere divulgati.
Quale risultato dovrebbe produrre questo esercizio?
Classifica l'errore e correggi la configurazione senza copiare i segreti nei log o negli screenshot.
Termini da ricordare
- server MCP: un servizio che espone funzionalità tramite Model Context Protocol.
- Autorizzare/Autorizzazione: verifica del diritto di accesso a un'operazione o risorsa.
- Idempotenza: Ripetizione controllata senza duplicare un effetto.
Fonti e il prossimo passo
- Model Context Protocol — specifica
- OWASP — Iniezione di prompt
- LangGraph — flussi di lavoro e agenti
Per preparare: M02: connessione di un server MCP nell'applicazione