Glossario · AI nel testing
Model Context Protocol (MCP)
In inglese: Model Context Protocol
Detto anche: MCP, server MCP, MCP server
Definizione
MCP è un protocollo aperto per collegare assistenti e agenti AI a strumenti e dati esterni, come un browser, un repository o un sistema di test management.
Il Model Context Protocol (MCP) è uno standard aperto, introdotto da Anthropic a novembre 2024, che definisce come un’applicazione AI comunica con capacità esterne. Un server MCP espone tool (azioni che il modello può invocare), resource (dati che può leggere) e prompt (template riutilizzabili). Un client MCP, all’interno di un host come un assistente nell’IDE o un’app di chat, scopre queste capacità e permette al modello di usarle. I messaggi usano JSON-RPC 2.0, tramite standard input/output per i server locali o HTTP per quelli remoti. Un server scritto una volta funziona con qualsiasi client che supporti il protocollo.
Esempio: automazione del browser per un assistente
Il server MCP di Playwright permette a un assistente di aprire pagine, leggere l’albero di accessibilità, cliccare e digitare. Una tipica configurazione del client:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Con questa configurazione puoi chiedere all’assistente di “aprire la pagina di login di staging, accedere come utente di test e segnalare eventuali errori in console”, e lui invocherà i tool del browser passo dopo passo. Altri server espongono ad esempio le issue di un hosting Git, un database o un’API interna, così lo stesso assistente può leggere un ticket di bug, riprodurlo nel browser e abbozzare un test.
Consolidato ed emergente
Consolidato: il protocollo in sé e l’ampio supporto da parte di assistenti, IDE e fornitori di strumenti. Incapsulare uno strumento interno in un server MCP è un lavoro di ingegneria ragionevole e ben documentato.
Emergente: usare agenti guidati da MCP come parte del processo di test. Sessioni esplorative, riproduzione di bug e stesura di codice di test sono utili già oggi, a patto che una persona revisioni il risultato. Considerare l’esecuzione di un agente come un controllo di regressione affidabile invece no, perché i suoi passi non sono deterministici e può dichiarare successo senza aver verificato la cosa giusta. I test generati vanno committati come normale codice e revisionati come qualsiasi altro.
Rischi da tenere presenti
- Prompt injection attraverso i tool. Il contenuto delle pagine, i ticket e l’output dei tool sono testo non fidato che può manipolare il modello.
- Permessi troppo ampi. Un server con accesso in scrittura ai dati di produzione o con credenziali nel proprio ambiente trasforma un errore del modello in un incidente. Dai ai server lo scope più ristretto possibile e puntali verso ambienti di test.
- Server non fidati. Un server MCP di terze parti esegue codice sulla tua macchina e descrive al modello i propri tool: revisionalo come qualsiasi altra dipendenza.