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.