Amusez-vous avec MCP & Copilot grâce à Chuck Norris

Microsoft met à disposition un nouveau lab sympa pour tester la création et l’intégration de serveurs Model Context Protocol (MCP) dans Copilot Studio. Voici un exemple concret d’implémentation d’un serveur MCP, interrogeant ici un endpoint public qui renvoie une blague Chuck Norris aléatoire sous forme de JSON, et que l’on peut déployer localement ou sur Azure.

Qu’est-ce que le MCP ?

Pour rappel, le Model Context Protocol (MCP) est un standard ouvert qui permet de connecter simplement des sources de données ou des API à des modèles d’IA.

J’ai déjà publié plusieurs articles à ce sujet sur mon blog ; vous pouvez les retrouver juste ici :

MCP vs API traditionnelles : quelles différences ?

Pour comprendre l’importance du MCP, comparons-le aux API REST traditionnelles :

CaractéristiqueMCPAPI REST traditionnelles
CommunicationBidirectionnelle et en temps réelGénéralement requête-réponse unidirectionnelle
Découverte d’outilsAutomatique et dynamiqueConfiguration manuelle nécessaire
Conscience du contexteIntégréeLimitée ou inexistante
ExtensibilitéPlug-and-playEffort d’intégration linéaire
StandardisationProtocole unifié pour tous les modèlesVariable selon les services
OrientationConçu spécifiquement pour les modèles d’IAUsage général

Cette standardisation représente un changement de paradigme pour quiconque souhaite développer des applications IA véritablement connectées.

Architecture et fonctionnement du MCP :

L’architecture du MCP repose sur trois composants principaux qui interagissent de façon coordonnée :

Les composants clés du MCP

  1. Hôtes MCP : Ce sont les applications qui intègrent l’IA et ont besoin d’accéder à des données externes. Par exemple, Claude Desktop, un IDE comme Cursor, ou toute application intégrant un LLM.
  2. Clients MCP : Ce sont des intermédiaires qui maintiennent les connexions sécurisées entre l’hôte et les serveurs. Chaque client est dédié à un serveur spécifique pour garantir l’isolation.
  3. Serveurs MCP : Ce sont des programmes externes qui fournissent des fonctionnalités spécifiques et se connectent à diverses sources comme Google Drive, Slack, GitHub, ou des bases de données.

Le flux de communication MCP se déroule typiquement en quatre étapes bien définies :

  1. Découverte : L’hôte (comme Claude Desktop) identifie les serveurs MCP disponibles dans son environnement
  2. Inventaire des capacités : Les serveurs MCP déclarent leurs fonctionnalités disponibles (outils, ressources, prompts)
  3. Sélection et utilisation : Quand l’utilisateur pose une question nécessitant des données externes, l’IA demande l’autorisation d’utiliser un outil spécifique
  4. Exécution et retour : Le serveur MCP exécute l’action demandée (recherche web, accès à un fichier, etc.) et renvoie les résultats à l’IA qui peut alors formuler une réponse complète

Ce processus standardisé permet une communication fluide entre l’IA et les sources de données externes, tout en maintenant un contrôle transparent pour l’utilisateur.

Que propose Microsoft dans ce lab ?

Cette page explique comment tester un serveur MCP en local ou hébergé sur Azure :

Ce guide constitue donc un point de départ idéal pour expérimenter la connexion et l’interaction entre un serveur MCP et Copilot.

L’exercice consiste à configurer un serveur MCP, d’abord sur Azure puis en local, afin de comprendre son fonctionnement et tester ses outils :

  • La première partie de l’exercice consiste à déployer sur Azure Container Apps pour valider le bon fonctionnement du serveur MCP hébergé.
  • La seconde partie de l’exercice consiste à le redéployer en local cette fois-ci.
  • Dans les deux cas, vous expérimentez les actions soit directement au travers de prompts.

Microsoft propose également une vidéo YouTube qui illustre pas à pas la mise en place de ce lab MCP et son intégration dans Copilot Studio. Idéale pour suivre visuellement chaque étape :

Maintenant, il ne nous reste plus qu’à tester tout cela 😎

Etape 0 – Rappel des prérequis :

Pour réaliser l’exercice sur Azure ou en local, il vous faudra dans tous les cas disposer de :

Puis, pour un déploiement sur Azure, il vous faudra disposer en plus de :

  • Un tenant Microsoft
  • Un abonnement Azure valide

Enfin, pour un déploiement en Local, il vous faudra disposer en plus de :

Commençons par déployer notre serveur MCP de test sur Azure.

Etape I – Test de déploiement sur Azure :

Cliquez sur le bouton suivant pour créer un nouveau repository sur votre compte GitHub :

Nommez le repository, choisissez sa visibilité, puis cliquez sur Créer :

Dans une fenêtre Powershell, lancez la commande suivante pour installer le module Azure Developer CLI (azd) :

winget install microsoft.azd

Exécutez la commande suivante pour télécharger les fichiers du repository en adaptant la variable de votre compte :

git clone https://github.com/{account}/mcsmcp.git

Ouvrez Visual Studio Code et chargez le dossier correspondant à l’archive téléchargée :

Lancez la commande suivante pour vous connecter à votre compte Azure :

azd auth login

Complétez l’authentification via le navigateur Internet de votre choix :

Lancez la commande pour déployer les ressources sur Azure :

azd up

Donnez un nom à votre environnement Azure :

Sélectionnez la souscription Azure à utiliser :

Choisissez la région Azure appropriée :

Patientez quelques minutes pendant le déploiement :

Constatez l’apparition des ressources dans le portail Azure :

Attendez la confirmation de fin de déploiement avec succès :

Rafraîchissez la page des ressources Azure et cliquez sur le Container App déployé :

Vérifiez dans les réplicas que le conteneur de l’application est bien en statut Running :

Retournez sur la page principale pour récupérer l’URL de votre déploiement :

Collez cette URL dans un navigateur en ajoutant /mcp pour vérifier le message d’erreur attendu (preuve que le service tourne) :

Notre environnement Azure est maintenant en place, nous pouvons passer directement à l’étape III afin de déployer notre connecteur MCP dans un nouvel agent sur Copilot Studio.

Etape II – Test de déploiement en local :

Lancez la commande npm install pour installer les dépendances nécessaires du projet :

npm install

Exécutez la commande suivante pour compiler et démarrer le serveur MCP en local :

pm run build && npm run start

Copiez l’URL affichée par le serveur et ouvrez-la dans un navigateur pour vérifier le message d’erreur attendu (preuve que le serveur fonctionne) :

localhost:3000/mcp

Lancez la commande ngrok suivante pour exposer votre serveur MCP local sur Internet :

ngrok http http://localhost:3000

Copiez l’URL publique générée par ngrok :

Ouvrez-la dans un navigateur (en ajoutant /mcp) pour tester le bon fonctionnement du serveur :

Lancez la commande suivante pour démarrer l’outil MCP Inspector :

npx @modelcontextprotocol/inspector

Dans l’interface web de MCP Inspector, collez l’URL publique (ngrok) de votre serveur MCP puis cliquez sur Connecter :

Cliquez sur Lister les outils pour afficher les outils disponibles sur le serveur MCP :

Sélectionnez l’un des outils listés puis lancez-le pour exécuter une action :

Constatez l’apparition d’une blague Chuck Norris renvoyée par le serveur MCP, signe que tout fonctionne correctement :

Notre environnement Local est maintenant en place, nous pouvons passer directement à l’étape III afin de déployer notre connecteur MCP dans un nouvel agent sur Copilot Studio.

Etape III – Création de l’agent dans Copilot Studio :

Rendez-vous dans Copilot Studio pour créer un nouvel agent :

Donnez un nom à votre agent :

Jokester

Ajoutez une description à votre agent :

A humor-focused agent that delivers concise, engaging jokes only upon user request, adapting its style to match the user's tone and preferences. It remains in character, avoids repetition, and filters out offensive content to ensure a consistently appropriate and witty experience.

Définissez les instructions de l’agent :

You are a joke-telling assistant. Your sole purpose is to deliver appropriate, clever, and engaging jokes upon request. Follow these rules:
- Respond only when the user asks for a joke or something related (e.g., "Tell me something funny").
- Match the tone and humor preference of the user based on their input—clean, dark, dry, pun-based, dad jokes, etc.
- Never break character or provide information unrelated to humor.
- Keep jokes concise and clearly formatted.
- Avoid offensive, discriminatory, or NSFW content.
- When unsure about humor preference, default to a clever and universally appropriate joke.
- Do not repeat jokes within the same session.
- Avoid explaining the joke unless explicitly asked.
- Be responsive, witty, and quick.

Ajoutez des prompts suggérés pour guider l’usage :

Cliquez sur Créer pour finaliser la création de l’agent :

Attendez quelques secondes :

Allez dans l’onglet Outils et cliquez sur Ajouter un outil :

Sélectionnez le type Model Context Protocol, puis ajoutez un nouvel outil :

Sélectionnez le type Model Context Protocol pour ajouter un outil MCP :

Renseignez un nom, une description et l’URL publique terminant par /mcp, puis créez sans authentification :

Créez une nouvelle connexion pour ce serveur MCP :

Cliquez sur Créer pour valider la connexion

Cliquez sur Ajouter et configurer pour intégrer l’outil à l’agent :

Constatez l’apparition des outils MCP dans votre connecteur MCP :

Cliquez sur Tester et envoyez un prompt demandant une blague :

Tell me a Chuck Norris joke

Vérifiez la réponse renvoyée par le serveur MCP :

Cliquez sur Publier pour mettre votre agent à disposition :

Confirmez la publication en cliquant à nouveau sur Publier :

Patientez quelques secondes le temps que la publication se termine :

Ouvrez l’onglet Canaux pour activer la mise à disposition sur Teams et Microsoft 365 Copilot :

Cliquez sur Publier à nouveau pour confirmer l’activation :

Cliquez sur Publier à nouveau pour confirmer l’activation :

Patientez quelques secondes le temps que la publication se termine :

Rouvrez Teams / Microsoft 365 Copilot puis cliquez sur le lien suivant :

Dans Microsoft 365 Copilot Chat, cliquez sur Ajouter votre agent :

Testez les prompts suggérés mis à disposition :

Si un message d’erreur concernant du filtrage apparaît :

Retournez dans la configuration pour ajuster la modération de l’agent :

Cliquez de nouveau sur Publier après avoir modifié la modération :

Revenez sur Microsoft 365 Copilot Chat et retestez un prompt :

Vérifiez que la réponse s’affiche correctement :

Testez à nouveau avec d’autres prompts suggérés :

En voyant certaines blagues, je comprends que Copilot ai pu vouloir en filtrer 😂 :

Conclusion

Le Model Context Protocol (MCP) n’est plus une simple curiosité technique : il s’impose comme un standard ouvert pour connecter intelligemment nos IA aux sources de données et services externes.

Avec ce lab proposé par Microsoft, on peut expérimenter très concrètement l’intégration d’un serveur MCP dans Copilot Studio, que ce soit sur Azure ou en local.

Ce qui m’a particulièrement plu, c’est la simplicité du déploiement : quelques commandes suffisent pour tester un serveur, valider son fonctionnement, puis l’exposer directement à un agent Copilot.

Cela ouvre la voie à des scénarios bien plus avancés : connecter des bases de données internes, des outils métiers, ou encore enrichir vos assistants IA avec des fonctionnalités maison.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *