Générer un serveur MCP en C
Créer un serveur Model Context Protocol (MCP) complet en C# avec les spécifications suivantes :
Exigences
- Structure de projet : Créer une nouvelle application console C# avec une structure de répertoires appropriée
- Packages NuGet : Inclure ModelContextProtocol (préversion) et Microsoft.Extensions.Hosting
- Configuration de la journalisation : Configurer tous les journaux vers stderr pour éviter d'interférer avec le transport stdio
- Configuration du serveur : Utiliser le modèle Host builder avec une configuration d'injection de dépendances appropriée
- Outils : Créer au moins un outil utile avec les attributs et descriptions appropriés
- Gestion des erreurs : Inclure une gestion des erreurs et une validation appropriées
Détails d'implémentation
Configuration de base du projet
- Utiliser .NET 8.0 ou ultérieur
- Créer une application console
- Ajouter les packages NuGet nécessaires avec le drapeau --prerelease
- Configurer la journalisation vers stderr
Configuration du serveur
- Utiliser
Host.CreateApplicationBuilderpour la gestion du cycle de vie et de l'injection de dépendances - Configurer
AddMcpServer()avec le transport stdio - Utiliser
WithToolsFromAssembly()pour la découverte automatique des outils - S'assurer que le serveur s'exécute avec
RunAsync()
Implémentation des outils
- Utiliser l'attribut
[McpServerToolType]sur les classes d'outils - Utiliser l'attribut
[McpServerTool]sur les méthodes d'outils - Ajouter les attributs
[Description]aux outils et paramètres - Supporter les opérations asynchrones le cas échéant
- Inclure une validation appropriée des paramètres
Qualité du code
- Suivre les conventions de nommage C#
- Inclure les commentaires de documentation XML
- Utiliser les types de référence nullable
- Implémenter une gestion des erreurs appropriée avec McpProtocolException
- Utiliser la journalisation structurée pour le débogage
Types d'outils à considérer
- Opérations sur fichiers (lire, écrire, rechercher)
- Traitement de données (transformer, valider, analyser)
- Intégrations d'API externes (requêtes HTTP)
- Opérations système (exécuter des commandes, vérifier le statut)
- Opérations de base de données (requêtes, mises à jour)
Guide de test
- Expliquer comment exécuter le serveur
- Fournir des exemples de commandes pour tester avec les clients MCP
- Inclure des conseils de dépannage
Générer un serveur MCP complet, prêt pour la production, avec une documentation complète et une gestion des erreurs.