csharp-mcp-server-generator

Par github · awesome-copilot

Générer un projet de serveur MCP complet en C# avec des tools, des prompts et une configuration appropriée

npx skills add https://github.com/github/awesome-copilot --skill csharp-mcp-server-generator

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

  1. Structure de projet : Créer une nouvelle application console C# avec une structure de répertoires appropriée
  2. Packages NuGet : Inclure ModelContextProtocol (préversion) et Microsoft.Extensions.Hosting
  3. Configuration de la journalisation : Configurer tous les journaux vers stderr pour éviter d'interférer avec le transport stdio
  4. Configuration du serveur : Utiliser le modèle Host builder avec une configuration d'injection de dépendances appropriée
  5. Outils : Créer au moins un outil utile avec les attributs et descriptions appropriés
  6. 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.CreateApplicationBuilder pour 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.

Skills similaires