e-naxosMAF COURSE / COURS
English

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

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-build

Relever 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-restore

Les 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.

Du protocole à l’interface

Prérequis

Pour poursuivre

lot014-consolidation-1 · 2026-10-24 · 9a895c94534cd5fc6f3da883e37e5f7856e588c1