MCPGuard, un framework automatizzato per verificare se i kit di sviluppo software (SDK) del Model Context Protocol (MCP) applicano la specifica del protocollo, ha individuato 13 lacune di conformità nello SDK ufficiale Python e 19 nello SDK TypeScript, secondo un articolo di ricerca attualmente in fase di revisione. Gli autori affermano che due test di riferimento black-box non hanno rilevato nessuno dei problemi.
Il framework utilizza due percorsi di analisi. Uno confronta i vincoli dello schema JSON di MCP con i modelli presenti nel codice degli SDK; l’altro estrae i requisiti comportamentali dai documenti di specifica e usa modelli linguistici per segnalare possibili omissioni. Un’ulteriore fase di revisione esamina il contesto completo del codice sorgente e crea test proof-of-concept per verificare se le lacune individuate siano reali.
I ricercatori riferiscono 27 problemi strutturali e cinque problemi comportamentali nei due SDK. I test proof-of-concept generati hanno riprodotto tutti i problemi strutturali; l’esame del contesto completo dell’implementazione ha confermato due problemi comportamentali in Python e tre in TypeScript. Il gruppo afferma di aver segnalato i problemi in via riservata ai responsabili della manutenzione degli SDK.
L’articolo descrive inoltre test condotti su 32 server MCP pubblici autorizzati. I ricercatori hanno scoperto che due lacune condivise, relative alla convalida del formato URI, potevano propagarsi ai servizi a valle: tutti i 32 endpoint che hanno completato l’handshake hanno accettato entrambi i campi di metadati malformati.
Gli autori sostengono che i controlli a livello di SDK siano importanti perché le applicazioni basate su uno SDK possono ereditare vincoli che la libreria non applica. MCPGuard è concepito per integrare i test di conformità incentrati sugli endpoint, verificando come i requisiti della specifica siano rappresentati e applicati all’interno degli SDK.
Fonti: arXiv cs.AI.