# 🌐 Module 2 : MCP avec les fondamentaux de Microsoft Foundry Toolkit [![Duration](https://img.shields.io/badge/Duration-20%20minutes-blue.svg)]() [![Difficulty](https://img.shields.io/badge/Difficulty-Intermediate-yellow.svg)]() [![Prerequisites](https://img.shields.io/badge/Prerequisites-Module%201%20Complete-orange.svg)]() ## 📋 Objectifs d’apprentissage À la fin de ce module, vous serez capable de : - ✅ Comprendre l’architecture et les avantages du Model Context Protocol (MCP) - ✅ Explorer l’écosystĂšme des serveurs MCP de Microsoft - ✅ IntĂ©grer les serveurs MCP avec Microsoft Foundry Toolkit Agent Builder - ✅ Construire un agent d’automatisation de navigateur fonctionnel en utilisant Playwright MCP - ✅ Configurer et tester les outils MCP au sein de vos agents - ✅ Exporter et dĂ©ployer des agents alimentĂ©s par MCP pour une utilisation en production ## 🎯 Fondations du Module 1 Dans le Module 1, nous avons maĂźtrisĂ© les bases de Microsoft Foundry Toolkit et créé notre premier Agent Python. Maintenant, nous allons **booster** vos agents en les connectant Ă  des outils et services externes grĂące au rĂ©volutionnaire **Model Context Protocol (MCP)**. Pensez Ă  cela comme passer d’une calculatrice basique Ă  un vĂ©ritable ordinateur : vos agents IA acquerront la capacitĂ© de : - 🌐 Naviguer et interagir avec des sites web - 📁 AccĂ©der et manipuler des fichiers - 🔧 S’intĂ©grer aux systĂšmes d’entreprise - 📊 Traiter des donnĂ©es en temps rĂ©el depuis des APIs ## 🧠 Comprendre le Model Context Protocol (MCP) ### 🔍 Qu'est-ce que le MCP ? Le Model Context Protocol (MCP) est le **« USB-C pour les applications IA »** - une norme ouverte rĂ©volutionnaire qui connecte les grands modĂšles de langage (LLMs) Ă  des outils externes, sources de donnĂ©es et services. Tout comme l’USB-C a Ă©liminĂ© le chaos des cĂąbles en fournissant un connecteur universel, le MCP supprime la complexitĂ© d’intĂ©gration IA avec un protocole standardisĂ© unique. ### 🎯 Le problĂšme que rĂ©sout le MCP **Avant le MCP :** - 🔧 IntĂ©grations personnalisĂ©es pour chaque outil - 🔄 Verrouillage fournisseur avec des solutions propriĂ©taires - 🔒 VulnĂ©rabilitĂ©s de sĂ©curitĂ© liĂ©es aux connexions ad hoc - ⏱ Plusieurs mois de dĂ©veloppement pour des intĂ©grations basiques **Avec le MCP :** - ⚡ IntĂ©gration d’outils plug-and-play - 🔄 Architecture agnostique au fournisseur - đŸ›Ąïž Meilleures pratiques de sĂ©curitĂ© intĂ©grĂ©es - 🚀 Ajout de nouvelles fonctionnalitĂ©s en quelques minutes ### đŸ—ïž PlongĂ©e dans l’architecture MCP Le MCP suit une **architecture client-serveur** qui crĂ©e un Ă©cosystĂšme sĂ©curisĂ© et Ă©volutif : ```mermaid graph TB A[Application/Agent IA] --> B[Client MCP] B --> C[Serveur MCP 1 : Fichiers] B --> D[Serveur MCP 2 : API Web] B --> E[Serveur MCP 3 : Base de donnĂ©es] B --> F[Serveur MCP N : Outils personnalisĂ©s] C --> G[SystĂšme de fichiers local] D --> H[API externes] E --> I[SystĂšmes de bases de donnĂ©es] F --> J[SystĂšmes d'entreprise] ``` **🔧 Composants clĂ©s :** | Composant | RĂŽle | Exemples | |-----------|------|----------| | **HĂŽtes MCP** | Applications consommant les services MCP | Claude Desktop, VS Code, Microsoft Foundry Toolkit | | **Clients MCP** | Gestionnaires de protocole (1:1 avec serveurs) | IntĂ©grĂ©s dans les applications hĂŽtes | | **Serveurs MCP** | Exposent des capacitĂ©s via le protocole standard | Playwright, Fichiers, Azure, GitHub | | **Couche Transport** | MĂ©thodes de communication | stdio, HTTP, WebSockets | ## 🏱 ÉcosystĂšme des serveurs MCP de Microsoft Microsoft est le leader de l’écosystĂšme MCP avec une suite complĂšte de serveurs de niveau entreprise rĂ©pondant aux besoins mĂ©tiers rĂ©els. ### 🌟 Serveurs MCP Microsoft mis en avant #### 1. ☁ Serveur Azure MCP **🔗 DĂ©pĂŽt** : [azure/azure-mcp](https://github.com/azure/azure-mcp) **🎯 Objectif** : Gestion complĂšte des ressources Azure avec intĂ©gration IA **✹ FonctionnalitĂ©s clĂ©s :** - Provisionnement dĂ©claratif d’infrastructure - Surveillance en temps rĂ©el des ressources - Recommandations d’optimisation des coĂ»ts - ContrĂŽle de la conformitĂ© sĂ©curitĂ© **🚀 Cas d’utilisation :** - Infrastructure as Code avec assistance IA - Mise Ă  l’échelle automatisĂ©e des ressources - Optimisation des coĂ»ts cloud - Automatisation des workflows DevOps #### 2. 📊 Microsoft Dataverse MCP **📚 Documentation** : [IntĂ©gration Microsoft Dataverse](https://go.microsoft.com/fwlink/?linkid=2320176) **🎯 Objectif** : Interface en langage naturel pour donnĂ©es mĂ©tier **✹ FonctionnalitĂ©s clĂ©s :** - RequĂȘtes base de donnĂ©es en langage naturel - ComprĂ©hension du contexte mĂ©tier - ModĂšles de prompt personnalisĂ©s - Gouvernance des donnĂ©es d’entreprise **🚀 Cas d’utilisation :** - Reporting business intelligence - Analyse des donnĂ©es clients - Insights sur le pipeline de vente - RequĂȘtes de conformitĂ© rĂ©glementaire #### 3. 🌐 Serveur Playwright MCP **🔗 DĂ©pĂŽt** : [microsoft/playwright-mcp](https://github.com/microsoft/playwright-mcp) **🎯 Objectif** : Automatisation de navigateur et interaction web **✹ FonctionnalitĂ©s clĂ©s :** - Automatisation multi-navigateurs (Chrome, Firefox, Safari) - DĂ©tection intelligente d’élĂ©ments - Captures d’écran et gĂ©nĂ©ration PDF - Surveillance du trafic rĂ©seau **🚀 Cas d’utilisation :** - Workflows de tests automatisĂ©s - Web scraping et extraction de donnĂ©es - Surveillance UI/UX - Automatisation d’analyses concurrentielles #### 4. 📁 Serveur Fichiers MCP **🔗 DĂ©pĂŽt** : [microsoft/files-mcp-server](https://github.com/microsoft/files-mcp-server) **🎯 Objectif** : OpĂ©rations intelligentes sur le systĂšme de fichiers **✹ FonctionnalitĂ©s clĂ©s :** - Gestion dĂ©clarative des fichiers - Synchronisation de contenu - IntĂ©gration avec contrĂŽle de version - Extraction de mĂ©tadonnĂ©es **🚀 Cas d’utilisation :** - Gestion de documentation - Organisation de rĂ©pertoires de code - Workflows de publication de contenu - Gestion des fichiers dans les pipelines de donnĂ©es #### 5. 📝 Serveur MarkItDown MCP **🔗 DĂ©pĂŽt** : [microsoft/markitdown](https://github.com/microsoft/markitdown) **🎯 Objectif** : Traitement et manipulation avancĂ©e du Markdown **✹ FonctionnalitĂ©s clĂ©s :** - Analyse riche du Markdown - Conversion de formats (MD ↔ HTML ↔ PDF) - Analyse de structure de contenu - Traitement de templates **🚀 Cas d’utilisation :** - Workflows de documentation technique - SystĂšmes de gestion de contenu - GĂ©nĂ©ration de rapports - Automatisation de bases de connaissances #### 6. 📈 Serveur Clarity MCP **📩 Package** : [@microsoft/clarity-mcp-server](https://www.npmjs.com/package/@microsoft/clarity-mcp-server) **🎯 Objectif** : Analyse web et comportement utilisateur **✹ FonctionnalitĂ©s clĂ©s :** - Analyse de donnĂ©es heatmap - Enregistrements de sessions utilisateur - MĂ©triques de performance - Analyse entonnoirs de conversion **🚀 Cas d’utilisation :** - Optimisation de site web - Recherche sur l’expĂ©rience utilisateur - Analyses de tests A/B - Tableaux de bord business intelligence ### 🌍 ÉcosystĂšme communautaire Au-delĂ  des serveurs Microsoft, l’écosystĂšme MCP inclut : - **🐙 GitHub MCP** : Gestion de dĂ©pĂŽts et analyse de code - **đŸ—„ïž MCP bases de donnĂ©es** : IntĂ©grations PostgreSQL, MySQL, MongoDB - **☁ MCP fournisseurs Cloud** : Outils AWS, GCP, Digital Ocean - **📧 MCP communication** : IntĂ©grations Slack, Teams, Email ## đŸ› ïž Atelier pratique : Construire un agent d’automatisation de navigateur **🎯 But du projet** : CrĂ©er un agent intelligent d’automatisation navigateur en utilisant le serveur Playwright MCP capable de naviguer sur des sites web, extraire des informations et effectuer des interactions web complexes. ### 🚀 Phase 1 : Mise en place de la base de l’agent #### Étape 1 : Initialiser votre agent 1. **Ouvrir Microsoft Foundry Toolkit Agent Builder** 2. **CrĂ©er un nouvel agent** avec la configuration suivante : - **Nom** : `BrowserAgent` - **ModĂšle** : Choisir GPT-4o ![BrowserAgent](../../../../translated_images/fr/BrowserAgent.09c1adde5e136573.webp) ### 🔧 Phase 2 : Workflow d’intĂ©gration MCP #### Étape 3 : Ajouter une intĂ©gration serveur MCP 1. **Naviguer dans la section Outils** de l’Agent Builder 2. **Cliquer sur "Add Tool"** pour ouvrir le menu d’intĂ©gration 3. **SĂ©lectionner "MCP Server"** parmi les options disponibles ![AddMCP](../../../../translated_images/fr/AddMCP.afe3308ac20aa944.webp) **🔍 Comprendre les types d’outils :** - **Outils intĂ©grĂ©s** : Fonctions prĂ©configurĂ©es de Microsoft Foundry Toolkit - **Serveurs MCP** : IntĂ©grations de services externes - **API personnalisĂ©es** : Vos propres points d’accĂšs services - **Appels de fonction** : AccĂšs direct aux fonctions du modĂšle #### Étape 4 : SĂ©lection du serveur MCP 1. **Choisir l’option "MCP Server"** pour continuer ![AddMCPServer](../../../../translated_images/fr/AddMCPServer.69b911ccef872cbd.webp) 2. **Explorer le catalogue MCP** pour parcourir les intĂ©grations disponibles ![MCPCatalog](../../../../translated_images/fr/MCPCatalog.a817d05314569900.webp) ### 🎼 Phase 3 : Configuration Playwright MCP #### Étape 5 : SĂ©lectionner et configurer Playwright 1. **Cliquer sur "Use Featured MCP Servers"** pour accĂ©der aux serveurs vĂ©rifiĂ©s par Microsoft 2. **SĂ©lectionner "Playwright"** dans la liste en vedette 3. **Accepter l’ID MCP par dĂ©faut** ou personnaliser pour votre environnement ![MCPID](../../../../translated_images/fr/MCPID.67d446052979e819.webp) #### Étape 6 : Activer les capacitĂ©s Playwright **🔑 Étape critique** : SĂ©lectionner **TOUTES** les mĂ©thodes Playwright disponibles pour une fonctionnalitĂ© maximale ![Tools](../../../../translated_images/fr/Tools.3ea23c447b4d9fec.webp) **đŸ› ïž Outils Playwright essentiels :** - **Navigation** : `goto`, `goBack`, `goForward`, `reload` - **Interaction** : `click`, `fill`, `press`, `hover`, `drag` - **Extraction** : `textContent`, `innerHTML`, `getAttribute` - **Validation** : `isVisible`, `isEnabled`, `waitForSelector` - **Capture** : `screenshot`, `pdf`, `video` - **RĂ©seau** : `setExtraHTTPHeaders`, `route`, `waitForResponse` #### Étape 7 : VĂ©rifier la rĂ©ussite de l’intĂ©gration **✅ Indicateurs de succĂšs :** - Tous les outils apparaissent dans l’interface de l’Agent Builder - Aucune erreur dans le panneau d’intĂ©gration - Le statut du serveur Playwright indique "Connected" ![AgentTools](../../../../translated_images/fr/AgentTools.053cfb96a17e0219.webp) **🔧 RĂ©solution des problĂšmes courants :** - **Échec de connexion** : VĂ©rifier la connectivitĂ© internet et les paramĂštres du pare-feu - **Outils manquants** : S’assurer que toutes les capacitĂ©s ont Ă©tĂ© sĂ©lectionnĂ©es durant la configuration - **Erreurs d’autorisation** : VĂ©rifier que VS Code dispose des permissions systĂšme nĂ©cessaires ### 🎯 Phase 4 : IngĂ©nierie avancĂ©e des prompts #### Étape 8 : Concevoir des prompts systĂšme intelligents CrĂ©er des prompts sophistiquĂ©s qui exploitent toutes les capacitĂ©s de Playwright : ```markdown # Web Automation Expert System Prompt ## Core Identity You are an advanced web automation specialist with deep expertise in browser automation, web scraping, and user experience analysis. You have access to Playwright tools for comprehensive browser control. ## Capabilities & Approach ### Navigation Strategy - Always start with screenshots to understand page layout - Use semantic selectors (text content, labels) when possible - Implement wait strategies for dynamic content - Handle single-page applications (SPAs) effectively ### Error Handling - Retry failed operations with exponential backoff - Provide clear error descriptions and solutions - Suggest alternative approaches when primary methods fail - Always capture diagnostic screenshots on errors ### Data Extraction - Extract structured data in JSON format when possible - Provide confidence scores for extracted information - Validate data completeness and accuracy - Handle pagination and infinite scroll scenarios ### Reporting - Include step-by-step execution logs - Provide before/after screenshots for verification - Suggest optimizations and alternative approaches - Document any limitations or edge cases encountered ## Ethical Guidelines - Respect robots.txt and rate limiting - Avoid overloading target servers - Only extract publicly available information - Follow website terms of service ``` #### Étape 9 : CrĂ©er des prompts utilisateur dynamiques Concevoir des prompts montrant diverses capacitĂ©s : **🌐 Exemple d’analyse web :** ```markdown Navigate to github.com/kinfey and provide a comprehensive analysis including: 1. Repository structure and organization 2. Recent activity and contribution patterns 3. Documentation quality assessment 4. Technology stack identification 5. Community engagement metrics 6. Notable projects and their purposes Include screenshots at key steps and provide actionable insights. ``` ![Prompt](../../../../translated_images/fr/Prompt.bfc846605db4999f.webp) ### 🚀 Phase 5 : ExĂ©cution et test #### Étape 10 : ExĂ©cuter votre premiĂšre automatisation 1. **Cliquer sur "Run"** pour lancer la sĂ©quence d’automatisation 2. **Surveiller l’exĂ©cution en temps rĂ©el** : - Le navigateur Chrome se lance automatiquement - L’agent navigue vers le site cible - Des captures d’écran sont prises Ă  chaque Ă©tape majeure - Les rĂ©sultats d’analyse s’affichent en flux continu ![Browser](../../../../translated_images/fr/Browser.ec011d0bd64d0d11.webp) #### Étape 11 : Analyser les rĂ©sultats et insights Consulter l’analyse complĂšte dans l’interface de l’Agent Builder : ![Result](../../../../translated_images/fr/Result.8638f2b6703e9ea6.webp) ### 🌟 Phase 6 : CapacitĂ©s avancĂ©es et dĂ©ploiement #### Étape 12 : Exporter et dĂ©ployer en production Agent Builder supporte plusieurs options de dĂ©ploiement : ![Code](../../../../translated_images/fr/Code.d9eeeead0b96db0c.webp) ## 🎓 RĂ©sumĂ© du Module 2 & prochaines Ă©tapes ### 🏆 SuccĂšs dĂ©bloquĂ© : MaĂźtrise de l’intĂ©gration MCP **✅ CompĂ©tences maĂźtrisĂ©es :** - [ ] ComprĂ©hension de l’architecture et des avantages MCP - [ ] Navigation dans l’écosystĂšme des serveurs MCP de Microsoft - [ ] IntĂ©gration Playwright MCP avec Microsoft Foundry Toolkit - [ ] Construction d’agents sophistiquĂ©s d’automatisation navigateur - [ ] IngĂ©nierie avancĂ©e de prompts pour l’automatisation web ### 📚 Ressources supplĂ©mentaires - **🔗 SpĂ©cification MCP** : [Documentation officielle du protocole](https://modelcontextprotocol.io/) - **đŸ› ïž API Playwright** : [RĂ©fĂ©rence complĂšte des mĂ©thodes](https://playwright.dev/docs/api/class-playwright) - **🏱 Serveurs MCP Microsoft** : [Guide d’intĂ©gration entreprise](https://github.com/microsoft/mcp-servers) - **🌍 Exemples communautaires** : [Galerie de serveurs MCP](https://github.com/modelcontextprotocol/servers) **🎉 FĂ©licitations !** Vous avez rĂ©ussi Ă  maĂźtriser l’intĂ©gration MCP et pouvez maintenant construire des agents IA prĂȘts pour la production avec des capacitĂ©s d’outils externes ! ### 🔜 Continuer vers le module suivant PrĂȘt Ă  passer vos compĂ©tences MCP au niveau supĂ©rieur ? Passez au **[Module 3 : DĂ©veloppement avancĂ© MCP avec Microsoft Foundry Toolkit](../lab3/README.md)** oĂč vous apprendrez Ă  : - CrĂ©er vos propres serveurs MCP personnalisĂ©s - Configurer et utiliser le dernier SDK MCP Python - Mettre en place le MCP Inspector pour le dĂ©bogage - MaĂźtriser les workflows avancĂ©s de dĂ©veloppement serveur MCP - Construire un serveur MCP mĂ©tĂ©o de A Ă  Z --- **Avertissement** : Ce document a Ă©tĂ© traduit Ă  l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisĂ©es peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit ĂȘtre considĂ©rĂ© comme la source faisant autoritĂ©. Pour les informations critiques, il est recommandĂ© de recourir Ă  une traduction professionnelle rĂ©alisĂ©e par un humain. Nous ne saurions ĂȘtre tenus responsables des malentendus ou erreurs d'interprĂ©tation dĂ©coulant de l'utilisation de cette traduction.