O MCPGuard, uma estrutura automatizada para verificar se os kits de desenvolvimento de software (SDKs) do Model Context Protocol (MCP) aplicam a especificação do protocolo, identificou 13 lacunas de conformidade no SDK oficial de Python e 19 no SDK de TypeScript, segundo um artigo de pesquisa atualmente em avaliação. Os autores afirmam que duas referências de testes de caixa-preta não detectaram nenhuma das descobertas.
A estrutura utiliza duas linhas de análise. Uma compara as restrições do esquema JSON do MCP com os modelos no código dos SDKs; a outra extrai requisitos comportamentais dos documentos da especificação e usa modelos de linguagem para sinalizar possíveis omissões. Uma etapa adicional de revisão examina todo o contexto do código-fonte e cria testes de prova de conceito para verificar se as possíveis lacunas são reais.
Os pesquisadores relatam 27 descobertas estruturais e cinco comportamentais nos SDKs. Os testes de prova de conceito gerados reproduziram todas as descobertas estruturais; a revisão de todo o contexto da implementação manteve duas descobertas comportamentais em Python e três em TypeScript. A equipe afirma ter comunicado os problemas em particular aos responsáveis pela manutenção dos SDKs.
O artigo também descreve testes envolvendo 32 servidores MCP públicos autorizados. Os pesquisadores descobriram que duas lacunas compartilhadas relacionadas à validação do formato de URI poderiam afetar serviços subsequentes: todos os 32 endpoints que concluíram a negociação aceitaram ambos os campos de metadados malformados.
Os autores argumentam que as verificações no nível do SDK são importantes porque aplicações desenvolvidas com base em um SDK podem herdar restrições que a biblioteca não aplica. O MCPGuard foi concebido para complementar os testes de conformidade focados em endpoints, verificando como os requisitos da especificação são representados e aplicados nos SDKs.
Fontes: arXiv cs.AI.