Dévoilé en avril 2025, le SDK C# pour la mise en œuvre des serveurs et clients MCP (Model Context Protocol) a atteint la version 1.0. La mise à jour apporte une prise en charge complète de la version 2025-11-25 de la spécification MCP, avec notamment une découverte améliorée des serveurs d'autorisation et des métadonnées d'icônes pour les outils, les ressources et les prompts. Pour mémoire ce protocole sert à connecter les assistants et les agents IA à des outils et des données externes. Dévoilé le 5 mars, ce kit de développement est disponible sur GitHub. Selon Microsoft, cette première version représente une avancée majeure pour la création de serveurs et de clients MCP dans .NET. « Les développeurs peuvent utiliser le SDK pour implémenter des flux d'autorisation sécurisés, créer des expériences riches en outils avec échantillonnage ou gérer des opérations de longue durée », a déclaré l’entreprise.
Avec la découverte du serveur d'autorisation dans la spécification MCP 2025-11-25, les serveurs disposent de trois moyens pour exposer le document PRM (Protected Resource Metadata) : via une URL « bien connue » dérivée du chemin d'accès au point de terminaison MCP du serveur ; à la racine de l'URL bien connue ; et, comme auparavant, via une URL dans le paramètre de métadonnées de ressources de l'en-tête www-Authentication.
Un changement de méthode d’enregistrement des métadonnées
La spécification 2025-11-25 ajoute également des métadonnées d'icônes aux outils, ressources et prompts. Ces informations sont incluses dans la réponse aux requêtes tools/list, resources/list et prompts/list. Les métadonnées d'implémentation (décrivant un client ou un serveur) ont aussi été étendues avec des icônes et une URL de site web. Pour établir l'identité du client auprès d'un serveur d'autorisation, la spécification 2025-11-25 propose les documents de métadonnées d'identification client (CIMD) comme alternative à l'enregistrement dynamique des clients (DCR). Le CIMD est désormais la méthode privilégiée pour l'enregistrement des clients dans le MCP. Une autre fonctionnalité de la spécification est que les serveurs peuvent dorénavant inclure des outils dans leurs requêtes d'échantillonnage, que le LLM peut invoquer pour produire une réponse. Il s'agit de l'un des ajouts les plus puissants de la spécification, selon Microsoft.
Pour l'exécution de requêtes via HTTP avec polling, la spécification 2025-11-25 améliore le traitement des requêtes de longue durée. Auparavant, les clients pouvaient se déconnecter et se reconnecter si le serveur fournissait un ID d'événement dans les événements envoyés par le serveur, mais peu de serveurs mettaient cela en œuvre. Désormais, les serveurs qui ouvrent un flux d'événements envoyés par le serveur pour une requête commencent par un événement vide qui comprend un ID d'événement et, éventuellement, un champ « Retry-After ». Après avoir envoyé cet événement initial, les serveurs peuvent fermer le flux à tout moment, car le client peut se reconnecter à l'aide de l'ID d'événement. Enfin, SDK C# 1.0 pour MCP introduit les tâches, une fonctionnalité expérimentale de la spécification MCP 2025-11-25 qui fournit un suivi d'état durable et une récupération différée des résultats pour les requêtes MCP.