Présentation du problème
Les serveurs MCP (Model Context Protocol) sont censés être utilisables par les agents, mais en réalité, beaucoup d'entre eux échouent à cette tâche. Un tiers des 36 serveurs populaires testés ont obtenu un score D ou F en termes d'usabilité des agents.
Fonctionnement de mcpgrade
mcpgrade est un outil de notation pour les serveurs MCP, inspiré de Lighthouse. Il évalue la qualité des descriptions, des noms et des schémas des outils proposés par le serveur. La commande
npx mcpgrade --stdio "npx -y your-mcp-server" permet de lancer l'évaluation en quelques secondes.
Résultats et analyses
Les résultats de l'évaluation montrent que 15 serveurs sur 36 ont obtenu un score A, tandis que 11 ont obtenu un score D ou F. Les serveurs qui ont échoué ont souvent des descriptions de paramètres manquantes ou incorrectes, ce qui rend difficile l'utilisation des outils par les agents. La principale cause de ces échecs est la génération automatique de schémas à partir de définitions zod ou OpenAPI, sans ajout de descriptions.
Conseils pour améliorer l'usabilité
Pour améliorer l'usabilité de son serveur MCP, il est recommandé de vérifier les descriptions de paramètres, de nommer les outils de manière claire et concise, et de déclarer explicitement les paramètres requis. Il est également important de maintenir une convention de nommage cohérente et d'éviter les noms génériques ou similaires. Enfin, il est possible de utiliser mcpgrade pour évaluer et améliorer la qualité de son serveur MCP.