MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1
Redécouvrir le serveur MCP
Distinguer découverte du schéma, autorisation hôte et résultat réel du serveur MCP.
Objectifs
- Utiliser cette page pour comprendre : Redécouvrir le serveur MCP.
Une manipulation sans serveur à installer
Prérequis : Demo060 et Demo400. Fichiers de travail : Client, Server/SupportTools.cs et tests/LocalMcp.Tests. Le client lance son serveur stdio précompilé ; reconstruire la solution après une modification. Le mode direct et les tests utilisent des données fixture mais un véritable processus MCP. --live ajoute le modèle chat et sa configuration.
Découvrir, modifier une copie, redécouvrir
dotnet build BaseTechnique.slnx -m:1 -c Release
dotnet run --project demos/Demo400_LocalMcp/Server/Demo400.Server.csproj -c Release --no-buildRelever le schéma incidentId et les réponses INC-318 puis INC-999. Dans une copie du serveur, ajouter un outil de lecture distinct avec description anglaise et documentation XML, puis reconstruire et relancer le client. Vérifier que le catalogue découvert peut grandir sans que la sélection autorisée par l’hôte grandisse. Modifier délibérément cette politique dans la copie uniquement pour poursuivre.
Observer la frontière protocolaire
Attendu : Found pour INC-318, NotFound sans incident inventé pour INC-999, isError pour entrée invalide et refus hôte pour delete_incident avant dispatch. Une découverte réussie n’autorise pas l’outil. La prose finale ne remplace pas les trois lookups effectivement réussis du mode agent. Garder stdout réservé au protocole ; les logs vont sur stderr.
Vérifier quel binaire tourne
Inspecter le chemin du serveur et la configuration Release/Debug. Un processus déjà lancé ne recharge pas automatiquement un nouveau schéma. Redémarrer le client propriétaire du sous-processus. Pour une panne, lire séparément initialisation, découverte, invocation et fin de session.
Correction et tests réels du transport
dotnet test tests/LocalMcp.Tests/LocalMcp.Tests.csproj -m:1 -c Release --no-build --no-restoreLes tests vérifient entrées invalides, outil refusé, annulation, deadline et fermeture du processus. Corriger en séparant schéma exposé, allowlist sélectionnée et résultat métier ; ne pas masquer un refus en réponse vide. Un outil supplémentaire reste une extension de travail, sans solution Start/End distribuée.
Un processus de confiance
Le serveur choisi s’exécute avec les droits du host. L’allowlist et les annotations ReadOnly ne constituent pas une sandbox OS ni une authentification. Aucun benchmark live ni résistance générale aux injections n’est déduit de cette manipulation.
