<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Joe McElroy - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Joe McElroy - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/fr/search-labs/author/joe-mcelroy</link>
    </image>
    <link>https://www.elastic.co/fr/search-labs/author/joe-mcelroy</link>
    <atom:link href="https://www.elastic.co/fr/search-labs/rss/author/joe-mcelroy.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[fr]]></language>
    <lastBuildDate>Mon, 28 Sep 2026 04:24:13 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Serveur MCP élastique : Expose les outils de l'Agent Builder à n'importe quel agent d'intelligence artificielle]]></title>
    <description><![CDATA[Découvrez comment utiliser le serveur Elastic MCP intégré dans Agent Builder pour étendre en toute sécurité n'importe quel agent d'IA avec un accès à vos données privées et à vos outils personnalisés.]]></description>
    <content:encoded><![CDATA[<p>Elastic Agent Builder est une plateforme permettant de créer des outils et des agents profondément intégrés à vos propres données dans Elasticsearch. Par exemple, vous pouvez créer des outils qui effectuent des recherches sémantiques sur des documents internes, analysent les journaux d'observabilité ou interrogent les alertes de sécurité.</p><p>Mais la véritable magie s'opère lorsque vous pouvez introduire ces outils personnalisés et conscients des données dans les environnements où vous passez le plus clair de votre temps. Et si l'agent de votre éditeur de code pouvait accéder en toute sécurité à la base de connaissances privée de votre organisation ?</p><p>C'est là qu'intervient le <strong>protocole de contexte de modèle (MCP).</strong> Elastic Agent Builder est livré avec un serveur MCP intégré qui permet d'accéder aux outils de la plateforme.</p><h2>Pourquoi utiliser le serveur MCP Elastic Agent Builder ?</h2><p>Les agents d'IA sont incroyablement puissants, mais leurs connaissances sont généralement limitées aux données sur lesquelles ils ont été formés et aux informations qu'ils peuvent activement rechercher sur l'internet public. Ils ne connaissent pas les documents de conception internes de votre entreprise, les manuels de déploiement spécifiques de votre équipe ou la structure unique des journaux de votre application.</p><p>Le défi consiste à donner à votre assistant d'intelligence artificielle le contexte spécialisé dont il a besoin. C'est précisément le problème que le MCP est censé résoudre. <strong>MCP est une norme ouverte qui permet à un modèle ou à un agent d'IA de découvrir et d'utiliser des outils externes.</strong></p><p>Pour rendre cela possible, l'Elastic Agent Builder expose nativement vos outils personnalisés par le biais d'un serveur MCP intégré. Cela signifie que vous pouvez facilement connecter n'importe quel client compatible MCP, comme <strong>Cursor</strong>, <strong>VS Code</strong> ou <strong>Claude Desktop</strong>, avec les outils spécialisés et sensibles aux données que vous avez construits avec Elastic Agent Builder.</p><h2>Quand utiliser MCP (et quand ne pas le faire)</h2><p>Elastic Agent Builder comprend plusieurs protocoles pour prendre en charge différents modèles d'intégration. Il est essentiel de choisir la bonne solution pour mettre en place des flux de travail efficaces en matière d'IA.</p><ul><li><p><strong>Utilisez </strong><a href="https://www.elastic.co/docs/solutions/search/agent-builder/mcp-server"><strong>MCP</strong></a> pour compléter votre agent d'intelligence artificielle (comme dans <strong>Cursor</strong> ou <strong>VS Code</strong>) avec des outils spécialisés. Il s'agit de l'approche ""apportez vos propres outils"", qui permet d'améliorer l'assistant que vous utilisez déjà grâce à un accès sécurisé à vos données privées. Seuls les outils sont exposés par l'intermédiaire du serveur MCP - les agents d'Elastic sont distincts.</p></li><li><p><strong>Utilisez le </strong><a href="https://www.elastic.co/docs/solutions/search/agent-builder/a2a-server"><strong>protocole A2A</strong></a> pour permettre à votre agent Elastic personnalisé de collaborer avec d'autres agents autonomes (comme dans <a href="https://www.elastic.co/search-labs/blog/a2a-protocol-elastic-agent-builder-gemini-enterprise"><strong>Gemini Enterprise de Google)</strong></a>. Il s'agit de la délégation d'agent à agent, où chaque agent travaille comme un pair pour résoudre un problème.</p></li><li><p><strong>Utilisez les </strong><a href="https://www.elastic.co/docs/solutions/search/agent-builder/kibana-api"><strong>API de l'Agent Builder</strong></a> pour un contrôle programmatique complet lors de la création d'une application personnalisée à partir de zéro.</p></li></ul><p>Pour un développeur qui cherche à obtenir des réponses dans sa documentation interne sans quitter son IDE, le MCP est la solution idéale.</p><h2>Exemple : vos outils personnalisés dans Cursor avec le serveur MCP Agent Builder</h2><p>Prenons un exemple pratique que j'utilise quotidiennement. Tout d'abord, j'ai exploré et indexé notre documentation technique interne dans un index Elasticsearch appelé <code>elastic-dev-docs</code>. Nous pourrions utiliser les outils génériques intégrés disponibles dans Agent Builder, mais nous allons créer notre propre outil personnalisé pour interroger cette base de connaissances spécifique.</p><p>La raison de la construction d'un outil sur mesure est simple : <strong>contrôle et précision</strong>. Cette approche nous permet d'exécuter une requête sémantique rapide directement sur notre index <code>elastic-dev-docs</code>. Nous avons un contrôle total sur l'index ciblé et sur la manière dont les données sont extraites.</p><p>Voici maintenant comment nous pouvons utiliser cette base de connaissances personnalisée dans un éditeur de code doté d'une intelligence artificielle, comme Cursor.</p><h3>Étape 1 : Créer un outil de base de connaissances personnalisé dans Agent Builder</h3><p>Tout d'abord, créez un nouvel outil dans Agent Builder. Une description claire et précise de l'outil est importante car c'est ainsi que tout agent d'IA, qu'il s'agisse de l'agent Elastic interne ou d'un outil externe tel que Cursor se connectant via MCP, découvre et sélectionne votre outil pour la bonne tâche.</p><p>Une description solide doit être explicite. Par exemple : "Effectue une recherche sémantique sur l'index elastic-dev-docs pour trouver la documentation d'ingénierie interne, les runbooks et les procédures de mise en production."</p><p>L'outil est alors configuré pour effectuer une recherche sémantique dans notre index spécifique. Une fois sauvegardé, il est immédiatement disponible pour être servi.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt011118f0a9279185/6a17f367dbb4ffc4f3fb581a/1eea079908fdf7cc72dbe81abd07ff51601a43d4-1472x1600.png" alt="Création d'un outil de base de connaissances personnalisé dans Agent Builder." /><p>Avant de le connecter au monde extérieur, vous pouvez le tester directement dans l'interface utilisateur. Il suffit de cliquer sur le bouton <strong>Test</strong> pour remplir manuellement les paramètres, émuler ce que le LLM fera, et inspecter les résultats pour confirmer que tout fonctionne correctement.</p><h3>Étape 2 : Connecter le curseur au serveur Elastic MCP</h3><p>Elastic Agent Builder expose automatiquement tous les outils disponibles via un point de terminaison MCP sécurisé. Vous pouvez trouver l'URL unique de votre serveur dans l'interface utilisateur Outils de Kibana.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdd0e62ae0f394c3d/6a17f368e317916ec32d5933/ba137be30f0eaa7f028b96bd8af4e2779c3f8a33-1600x589.png" alt="Comment connecter le curseur dans l'interface outils de Kibana au serveur Elastic MCP." /><p>Pour se connecter à Cursor, il suffit d'ajouter cette URL à son fichier de configuration, ainsi qu'une clé API Elastic pour l'authentification<a href="https://www.elastic.co/docs/deploy-manage/api-keys/elasticsearch-api-keys">(découvrez comment créer une clé API ES</a>). Nous utilisons une clé API pour l'autorisation, car elle garantit que les outils ne s'exécutent qu'avec les permissions que vous avez accordées, en respectant toutes vos règles de contrôle d'accès.</p><p>La configuration MCP dans le site <code>~/.cursor/mcp.json</code> de Cursor se présente comme suit :</p>{
  "mcpServers": {
    "elastic-agent-builder": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-kibana.kb.company.io/api/agent_builder/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "ApiKey &lt;ELASTIC_API_KEY&gt;"
      }
    }
  }
}<p>Une fois la configuration sauvegardée, vous devriez voir l'outil Elastic Agent Builder MCP server disponible dans Cursor.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt2837638263e628ed/6a17f36adbb4ffeb9cfb5820/d302c6d3609fbf14fd40e21b9e69e567bf12553f-1600x1002.png" alt="Une image de l'outil serveur Elastic Agent Builder MCP disponible dans Cursor." /><h3>Étape 3 : Posez vos questions !</h3><p>Une fois la connexion établie, les agents Cursor peuvent maintenant invoquer vos outils personnalisés pour répondre à vos questions ou guider le processus de génération de code.</p><p>Posons une question précise :</p><p><em>"Consulter les étapes pour libérer le service de crawler de la documentation interne de l'ingénierie d'elastic search org"</em></p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt83fa357261b30e93/6a17f36c4b055d16d1432326/14f572730203c23615bb9dd38234bcb3b0f81155-1600x1468.png" alt="Agents curseurs invoquant des outils personnalisés pour répondre aux questions et guider le processus de génération de code." /><p>En coulisses, la magie opère :</p><ol><li><p>L'agent du curseur décide de la meilleure façon de répondre à votre question et décide d'appeler la fonction <code>engineering_documentation_internal_search</code></p></li><li><p>Il invoque l'outil à l'aide d'une requête en langage naturel</p></li><li><p>L'outil effectue une recherche sémantique dans l'index <code>elastic-dev-docs</code> et renvoie les procédures les plus pertinentes et les plus récentes.</p></li></ol><p>Nous obtenons une réponse précise et fiable, basée sur notre documentation interne, sans jamais quitter l'éditeur de code. L'expérience est transparente et puissante.</p><h2>À vous de construire</h2><p>Vous avez maintenant vu comment utiliser le serveur MCP intégré dans Elastic Agent Builder pour étendre vos assistants IA avec un accès sécurisé à vos données privées. Pour que les modèles soient réellement utiles, il est essentiel de les ancrer dans vos propres informations.</p><p>Pour récapituler, nous avons couvert les principales étapes :</p><ul><li><p>Choisir le bon protocole pour vos besoins (MCP).</p></li><li><p>Création d'un outil de base de connaissances personnalisé.</p></li><li><p>Connecter cet outil à un assistant IDE comme Cursor.</p></li></ul><p>Vos agents et vos outils n'ont plus besoin d'être déconnectés de leur contexte le plus précieux. Nous espérons que ce guide vous aidera à créer des flux de travail plus efficaces et tenant compte des données. Bonne construction !</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elastic-mcp-server-agent-builder-tools</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elastic-mcp-server-agent-builder-tools</guid>
    <category><![CDATA[IA agentique]]></category>
    <category><![CDATA[IA]]></category>
    <category><![CDATA[Outils d'IA ]]></category>
    <dc:creator><![CDATA[Jedr Blaszyk,Joe McElroy]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta5b61961b6269ab1/6a17f36ea29299d839d02db2/ef5153551a1d14833c7f512fede554d1dfb31553-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Connexion des agents élastiques à Gemini Enterprise via le protocole A2A]]></title>
    <description><![CDATA[Apprenez à utiliser Agent Builder pour exposer votre agent Elastic personnalisé à des services externes tels que Gemini Enterprise avec le protocole A2A.]]></description>
    <content:encoded><![CDATA[<p><strong>Elastic Agent Builder</strong> est un ensemble de fonctionnalités permettant de créer des agents d'intelligence artificielle pilotés par les données directement dans Elasticsearch. Dans les articles précédents de cette <a href="https://www.elastic.co/search-labs/blog/series/context-aware-ai-agentic-workflows-with-elastic">série</a>, nous avons montré comment doter les agents personnalisés d'outils leur permettant d'effectuer des tâches complexes et leur fournir un ensemble d'instructions personnalisées pour guider leur comportement.</p><p>Mais qu'en est-il si vous souhaitez utiliser vos agents personnalisés avec les applications et les outils de productivité dont vous disposez déjà ?</p><p>C'est là qu'intervient le <strong>protocole Agent-to-Agent (A2A)</strong>. A2A est une <a href="https://github.com/a2aproject/A2A">norme ouverte</a> d'interopérabilité qui permet aux agents de différentes plateformes de communiquer et de collaborer. Et nous l'avons intégré directement dans l'Elastic Agent Builder.</p><p>Aujourd'hui, nous allons vous montrer comment prendre un agent personnalisé que vous avez construit et l'exposer à d'autres services, en particulier <strong>Gemini Enterprise </strong>(anciennement Agentspace).</p><h2>Le pouvoir des normes ouvertes : l'importance de l'A2A</h2><p>Dans l'article de blog <a href="https://www.elastic.co/search-labs/blog/ai-agent-builder-elasticsearch">Votre premier agent Elastic</a>, nous avons montré comment créer des agents personnalisés, tels qu'un agent <em>Assistant financier</em> avec un accès sécurisé à vos données de marché. Mais sa valeur est limitée si vous ne pouvez pas rendre ses informations disponibles dans d'autres environnements, comme Gemini Enterprise, sans avoir à reconstruire votre travail.</p><p>C'est ce défi de l'interopérabilité qui freine l'IA agentique. Les agents ont besoin d'un langage commun pour communiquer entre les plateformes, ce qui est précisément le rôle du protocole A2A. Il fournit une couche de communication standard qui vous permet non seulement d'interagir directement avec votre agent, mais qui ouvre également la voie à un avenir où les agents spécialisés de votre organisation pourront collaborer et partager des informations.</p><p>Pour rendre cela possible, l'Elastic Agent Builder supporte nativement le protocole A2A à travers deux points de terminaison standard pour tous vos agents :</p><ol><li><p><strong>Le point de terminaison de la carte d'agent (</strong><strong><code>GET {your-kibana-url}/api/agent_builder/a2a/{agentId}.json</code></strong> )<strong>- </strong>Il s'agit de la carte de visite de votre agent personnalisé. Il fournit des métadonnées sur votre agent (nom, description, capacités, etc.) à tout service compatible A2A.</p></li><li><p><strong>Le point de terminaison du protocole A2A (</strong><strong><code>POST {your-kibana-url}/api/agent_builder/a2a/{agentId}</code></strong><strong>)</strong> - Il s'agit du canal de communication. D'autres agents envoient leurs demandes ici, et votre agent les traite et renvoie une réponse, conformément à la <a href="https://a2a-protocol.org/latest/specification/">spécification du protocole A2A</a>.</p></li></ol><h2>Testez votre agent avec l'inspecteur A2A</h2><p>Avant de connecter notre agent à un système de production, il est bon de vérifier qu'il communique correctement. Le moyen le plus simple d'y parvenir est d'utiliser l'<strong>inspecteur A2A</strong>, un outil spécialement conçu pour tester et déboguer les intégrations A2A.</p><p>La mise en route de l'inspecteur est simple. Vous pouvez cloner le dépôt <a href="https://github.com/a2aproject/a2a-inspector">a2a-inspector</a> et suivre les instructions du README pour <a href="https://github.com/a2aproject/a2a-inspector?tab=readme-ov-file#3-run-the-application">lancer l'application</a>. Une fois lancée, l'interface utilisateur est disponible par défaut à l'adresse <code>http://localhost:5001/</code>.</p><p>Pour connecter l'inspecteur A2A à votre agent, vous devez fournir deux informations essentielles :</p><ul><li><p>URL de la carte d'agent : Il s'agit du point de terminaison qui décrit votre agent. Pour l'<a href="https://www.elastic.co/search-labs/blog/ai-agent-builder-elasticsearch">agent assistant financier de notre poste précédent</a>, cette URL serait <code>{your-kibana-url}/api/agent_builder/a2a/financial_assistant.json</code>.</p></li><li><p>En-tête d'authentification : Nous utiliserons une clé API standard pour l'authentification.</p></li></ul><p>Une fois que vous avez saisi ces informations dans l'interface utilisateur de l'inspecteur, vous pouvez vous connecter et commencer à dialoguer avec votre agent immédiatement.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6381135e3fb297df/6a17ef4bec0f898b0c5a66ea/7231c72bf30bed2a854f58658c1eca2843f43bfc-1600x1296.png" alt="Configuration de la carte d'agent A2A et de l'inspecteur d'agent" /><p>Cette simple validation nous donne l'assurance que notre agent est configuré correctement et qu'il est prêt pour l'étape suivante.</p><h2>En direct ! Votre agent personnalisé dans Gemini Enterprise</h2><p>Passons maintenant à la partie la plus excitante : donner vie à notre agent financier personnalisé au sein de Gemini Enterprise (anciennement Agentspace). Cette intégration s'appuie sur l'<a href="https://console.cloud.google.com/marketplace/product/elastic-prod/elastic-ai-agent">agent Elastic AI, disponible sur Google Cloud Marketplace</a>.</p><p>Une fois connecté, Gemini Enterprise utilise le protocole A2A pour communiquer directement avec votre agent. C'est là que la véritable puissance de l'interopérabilité se manifeste : les utilisateurs peuvent désormais accéder aux informations approfondies et axées sur les données de votre agent Elasticsearch personnalisé sans jamais quitter leur environnement familier. Vous pouvez voir votre agent Elastic personnalisé dans la liste des agents :</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7f54f0bb15216d8e/6a17ef4d6df73107d90a0fdb/37a39e92ebf3d72c6c8014397cd8e846336173a4-1600x834.png" alt="Affichage d'un agent personnalisé dans une liste Google Agentspace" /><p>Imaginez qu'un utilisateur de Gemini Enterprise demande :</p><p><em>"Je m'inquiète du sentiment du marché. Pouvez-vous m'indiquer quels sont nos clients les plus exposés aux mauvaises nouvelles ?</em>"</p><p>En coulisses, Gemini Enterprise achemine cette requête via le protocole A2A vers votre agent Elastic personnalisé. Votre agent utilise alors ses outils spécialisés pour interroger vos données, formuler une réponse et la renvoyer. Pour l'utilisateur final, l'expérience est transparente.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blte130c332ee0648a6/6a17ef4fe9ea874426a9c6bb/e5f126c1a27a51c6e69a767aa87c9f746b62e39c-1600x1044.png" alt="Un utilisateur demande à Agentspace de répondre à une requête et ce qui se passe dans les coulisses." /><p>Et cela ne s'arrête pas là ! La réponse obtenue avec l'agent Elastic peut maintenant être utilisée comme contexte pour vos prochaines questions qui peuvent déclencher un agent spécialisé différent (par exemple, l'agent Elastic). l'agent de votre plateforme d'investissement pour ajuster l'exposition aux sociétés cotées). Le tout sans quitter votre barre de recherche.</p><p>Avec vos agents Elastic déployés sur Gemini Enterprise avec A2A, vous pouvez unifier l'accès, l'orchestration et les flux de travail en éliminant les frictions entre l'IA, la recherche et les systèmes d'entreprise en offrant une interface utilisateur unique où les utilisateurs parlent à leurs données et à leurs outils - le tout en contexte. Pour les utilisateurs, cela signifie moins de changements d'outils et des assistants d'IA plus intuitifs et plus compétents. Pour les organisations, cela signifie une gouvernance cohérente, une évolutivité et une interopérabilité intégrées.</p><h2>À vous de construire</h2><p>Vous disposez désormais des outils nécessaires pour que vos agents élastiques soient disponibles partout. En tirant parti du protocole ouvert A2A, vous pouvez étendre la portée de vos agents personnalisés et sensibles aux données.</p><p>Dans cet article, nous vous avons présenté les principales étapes :</p><ul><li><p>Exposer votre agent via la carte d'agent A2A et les points d'extrémité du protocole.</p></li><li><p>Tester la connexion avec l'inspecteur A2A.</p></li><li><p>Intégrer votre agent en direct dans un service externe tel que Gemini Enterprise de Google.</p></li></ul><p>Vos agents n'ont plus besoin d'être isolés. Nous sommes impatients de voir les systèmes puissants et interconnectés que vous créerez. Bonne construction !</p><p>Le moyen le plus simple de commencer est d'essayer gratuitement Elastic Cloud sur <a href="https://console.cloud.google.com/marketplace/product/elastic-prod/elastic-cloud?pli=1">Google Cloud Marketplace</a>.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/a2a-protocol-elastic-agent-builder-gemini-enterprise</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/a2a-protocol-elastic-agent-builder-gemini-enterprise</guid>
    <category><![CDATA[IA agentique]]></category>
    <category><![CDATA[IA]]></category>
    <dc:creator><![CDATA[Jedr Blaszyk,Valerio Arvizzigno,Joe McElroy]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt63d7675adc5bc211/6a17ef51ddf97d38e8910bdf/5be8a425fab55dca2f9717d2e50812b0450fa625-1440x840.png" length="0" type="image/png"/>
    <pubDate>Thu, 09 Oct 2025 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Connecter des agents à Elasticsearch avec Model Context Protocol]]></title>
    <description><![CDATA[Utilisons le serveur Model Context Protocol pour dialoguer avec vos données dans Elasticsearch.]]></description>
    <content:encoded><![CDATA[<p>Et si l'interaction avec vos données était aussi facile que de discuter avec un collègue ? Imaginez que vous demandiez simplement : "Montrez-moi toutes les commandes de plus de 500 $ du mois dernier" ou "Quels sont les produits qui ont reçu le plus d'avis 5 étoiles ?" et que vous obteniez des réponses instantanées et précises, sans qu'aucune requête ne soit nécessaire.</p><p>Le protocole de contexte de modèle (MCP) rend cela possible. Il connecte de manière transparente l'IA conversationnelle avec vos bases de données et vos API externes, transformant les demandes complexes en conversations naturelles. Si les LLM modernes sont excellents pour comprendre le langage, leur véritable potentiel se révèle lorsqu'ils sont intégrés à des systèmes du monde réel. MCP comble le fossé qui les sépare, en rendant l'interaction des données plus intuitive et plus efficace.</p><p>Dans ce billet, nous allons explorer :</p><ul><li><p>Architecture MCP - Comment cela fonctionne-t-il sous le capot ?</p></li><li><p>Avantages d'un serveur MCP connecté à Elasticsearch</p></li><li><p>Construire un <a href="https://github.com/elastic/mcp-server-elasticsearch">serveur MCP alimenté par Elasticsearch</a></p></li></ul><p>Des moments passionnants nous attendent ! L'intégration de MCP avec votre pile Elastic transforme la façon dont vous interagissez avec l'information, rendant les requêtes complexes aussi intuitives qu'une conversation de tous les jours.</p><h2>Modèle Contexte Protocole</h2><p><a href="https://modelcontextprotocol.io/introduction">Model Context Protocol</a> (MCP), développé par Anthropic, est une norme ouverte qui connecte les modèles d'intelligence artificielle à des sources de données externes par le biais de canaux sécurisés et bidirectionnels. Il résout un problème majeur de l'IA : l'accès en temps réel à des systèmes externes tout en préservant le contexte de la conversation.</p><h3>Architecture MCP</h3><p>Modèle Contexte L'architecture du protocole se compose de deux éléments clés :</p><ul><li><p><strong>Clients MCP</strong> - Assistants IA et chatbots qui demandent des informations ou exécutent des tâches au nom des utilisateurs.</p></li><li><p><strong>Serveurs MCP</strong> - Référentiels de données, moteurs de recherche et API qui récupèrent les informations pertinentes ou effectuent les actions demandées (par exemple, appel d'API externes).</p></li></ul><p>Les serveurs MCP exposent quatre capacités principales aux clients :</p><ul><li><p><strong>Ressources</strong> - Données structurées, documents et contenu qui peuvent être récupérés et utilisés comme contexte pour les interactions LLM. Cela permet aux assistants d'IA d'accéder à des informations pertinentes à partir de bases de données, d'index de recherche ou d'autres sources.</p></li><li><p><strong>Outils</strong> - Fonctions exécutables qui permettent aux LLM d'interagir avec des systèmes externes, d'effectuer des calculs ou de prendre des mesures dans le monde réel. Ces outils étendent les capacités de l'IA au-delà de la génération de texte, en permettant aux assistants de déclencher des flux de travail, d'appeler des API ou de manipuler des données de manière dynamique.</p></li><li><p><strong>Invitations</strong> - Modèles d'invitations et flux de travail réutilisables pour normaliser et partager les interactions LLM communes.</p></li><li><p><strong>Échantillonnage</strong> - Demander des compléments LLM par l'intermédiaire du client pour permettre des comportements agentiques sophistiqués tout en maintenant la sécurité et la confidentialité.</p></li></ul><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfe82754551bb187a/6a17f7ec6864a43e71b6895d/bef5178133391e96e3d66ae634e41a85712a33a9-2345x1620.png" alt="Architecture du protocole de contexte de modèle (MCP)" /><h2>Serveur MCP + Elasticsearch</h2><p></p><p>Les systèmes traditionnels de récupération et de génération augmentée (RAG) récupèrent des documents sur la base des requêtes de l'utilisateur, mais le MCP va plus loin : il permet aux agents d'intelligence artificielle de construire et d'exécuter des tâches de manière dynamique et en temps réel. Cela permet aux utilisateurs de poser des questions en langage naturel, comme par exemple :</p><p></p><ul><li><p>"Affichez toutes les commandes de plus de 500 $ passées le mois dernier."</p></li><li><p>"Quels sont les produits qui ont reçu le plus d'avis 5 étoiles ?"</p></li></ul><p></p><p>Et obtenir des réponses instantanées et précises, sans avoir à rédiger la moindre requête.</p><p></p><p>MCP atteint cet objectif grâce à</p><ul><li><p>Sélection dynamique des outils - Les agents choisissent intelligemment les bons outils exposés via les serveurs MCP en fonction de l'intention de l'utilisateur. Les gestionnaires de programmes d'éducation et de formation tout au long de la vie "plus intelligents" sont généralement plus aptes à sélectionner les bons outils avec les arguments appropriés en fonction du contexte.</p></li><li><p>Communication bidirectionnelle - Les agents et les sources de données échangent des informations de manière fluide, en affinant les requêtes si nécessaire (par ex. d'abord le mappage de l'index de consultation, puis seulement la construction de la requête ES).</p></li><li><p>Orchestration multi-outils - Les flux de travail peuvent exploiter simultanément les outils de plusieurs serveurs MCP.</p></li><li><p>Contexte persistant - Les agents se souviennent des interactions précédentes, ce qui permet de maintenir une continuité entre les conversations.</p></li></ul><p>Un serveur MCP connecté à Elasticsearch débloque une puissante architecture de recherche en temps réel. Les agents d'intelligence artificielle peuvent explorer, interroger et analyser les données Elasticsearch à la demande. Vos données peuvent être recherchées par le biais d'une interface de chat simple.</p><p>Au-delà de la simple récupération de données, MCP permet d'agir. Il s'intègre à d'autres outils pour déclencher des flux de travail, automatiser des processus et alimenter des systèmes d'analyse. En séparant la recherche de l'exécution, MCP permet aux applications alimentées par l'IA de rester flexibles, à jour et intégrées de manière transparente dans les flux de travail des agents.</p><h2>Pratique : Serveur MCP pour dialoguer avec vos données Elasticsearch</h2><p>Pour interagir avec Elasticsearch via un serveur MCP, nous avons au moins besoin des fonctions suivantes :</p><ul><li><p>Récupérer les indices</p></li><li><p>Obtenir des correspondances</p></li><li><p>Effectuer des recherches à l'aide du DSL de requête d'Elasticsearch</p></li></ul><p>Notre serveur est écrit en TypeScript, et nous utiliserons le <a href="https://github.com/modelcontextprotocol/typescript-sdk">SDK TypeScript officiel</a> du MCP. Pour l'installation, nous recommandons d'installer l'application Claude Desktop (la version gratuite est suffisante) car elle comprend un client MCP intégré. Notre serveur MCP expose essentiellement le <a href="https://www.elastic.co/fr/guide/en/elasticsearch/client/javascript-api/current/index.html">client Elasticsearch JavaScript</a> officiel à travers les outils MCP.</p><p>Commençons par définir le client Elasticsearch et le serveur MCP :</p> const esClient = new Client({
    node: url,
    auth: {
      apiKey: apiKey,
    },
  });

  const server = new McpServer({
    name: "elasticsearch-mcp-server",
    version: "0.1.0",
  });<p>Nous utiliserons les outils de serveur MCP suivants qui peuvent interagir avec Elasticsearch :</p><ul><li><p><strong>Liste des index</strong> <a href="https://github.com/elastic/mcp-server-elasticsearch/blob/main/index.ts#L46">(list_indices</a>) : Cet outil récupère tous les index Elasticsearch disponibles, en fournissant des détails tels que le nom de l'index, l'état de santé et le nombre de documents.</p></li><li><p><strong>Obtenir des correspondances</strong> <a href="https://github.com/elastic/mcp-server-elasticsearch/blob/main/index.ts#L94">(get_mappings</a>) : Cet outil récupère les correspondances de champs pour un index Elasticsearch spécifié, aidant les utilisateurs à comprendre la structure et les types de données des documents stockés.</p></li><li><p><strong>Search</strong> <a href="https://github.com/elastic/mcp-server-elasticsearch/blob/main/index.ts#L147">(recherche</a>) : Cet outil exécute une recherche Elasticsearch à l'aide d'un DSL de requête fourni. Il active automatiquement les surlignages pour les champs de texte, ce qui facilite l'identification des résultats de recherche pertinents.</p></li></ul><p>L'implémentation complète du serveur MCP Elasticsearch est disponible dans le repo <a href="https://github.com/elastic/mcp-server-elasticsearch">elastic/mcp-server-elasticsearch</a>.</p><h4>Chat avec votre index</h4><p>Voyons comment configurer le serveur Elasticsearch MCP pour pouvoir poser des questions en langage naturel sur vos données, telles que "Trouver toutes les commandes de plus de 500 $ du mois dernier."</p><p><strong>Configurez votre application Claude Desktop</strong></p><ul><li><p>Ouvrir l'application Claude Desktop</p></li><li><p>Naviguer vers Settings &gt; Developer &gt; MCP Servers</p></li><li><p>Cliquez sur "Edit Config" et ajoutez cette configuration à votre <code>claude_desktop_config.json</code>:</p></li></ul>{
  "mcpServers": {
    "Elasticsearch MCP Server": {
      "command": "npx",
      "args": [
        "-y",
        "@elastic/mcp-server-elasticsearch"
      ],
      "env": {
        "ES_URL": "",
        "ES_API_KEY": ""
      }
    }
  }
}<p>Note : Cette configuration utilise le paquet <a href="https://www.npmjs.com/package/@elastic/mcp-server-elasticsearch">@elastic/mcp-server-elasticsearch</a> npm publié par Elastic. Si vous souhaitez développer localement, vous trouverez plus de détails sur l'installation du serveur Elasticsearch MCP <a href="https://github.com/elastic/mcp-server-elasticsearch/blob/main/README.md">ici.</a></p><p><strong>Remplir votre index Elasticseach</strong></p><ul><li><p>Vous pouvez utiliser nos <a href="https://gist.github.com/jedrazb/60e9400cbe40addfd9e4337749c28431">données d'exemple</a> pour remplir l'index "orders" pour cette démo.</p></li><li><p>Cela vous permettra d'essayer des requêtes telles que "Trouver toutes les commandes de plus de 500 $ du mois dernier."</p></li></ul><p><strong>Commencez à l'utiliser</strong></p><ul><li><p>Ouvrir une nouvelle conversation dans l'application Claude Desktop</p></li><li><p>Le serveur MCP se connecte automatiquement</p></li><li><p>Commencez à poser des questions sur vos données Elasticsearch !</p></li></ul><p>Regardez cette démo pour voir à quel point il est facile d'interroger vos données Elasticsearch en utilisant le langage naturel :</p><h4>Comment fonctionne-t-elle ?</h4><p>À la question "Trouver toutes les commandes de plus de 500 $ du mois dernier", le LLM reconnaît l'intention d'effectuer une recherche dans l'index Elasticsearch avec les contraintes spécifiées. Pour effectuer une recherche efficace, l'agent doit.. :</p><ul><li><p>Déterminez le nom de l'index : <code>orders</code></p></li><li><p>Comprendre les mappings de l'index <code>orders</code></p></li><li><p>Construire le DSL de requête compatible avec les mappages d'index et enfin exécuter la requête de recherche.</p></li></ul><p>Cette interaction peut être représentée comme suit :</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt152f41bc8c3e9752/6a17f7ee6df73152df0a10cc/8875bc75745124be87deac0be666509446887de2-2345x1620.png" alt="Comment fonctionne le serveur MCP + Elasticsearch ?" /><h2>Conclusion</h2><p>Model Context Protocol améliore la façon dont vous interagissez avec les données Elasticsearch, en permettant des conversations en langage naturel au lieu de requêtes complexes. En associant les capacités de l'IA à vos données, MCP crée un flux de travail plus intuitif et plus efficace qui maintient le contexte tout au long de vos interactions.</p><p>Le serveur Elasticsearch MCP est disponible sous forme de paquetage npm public<a href="https://www.npmjs.com/package/@elastic/mcp-server-elasticsearch">(@elastic/mcp-server-elasticsearch</a>), ce qui facilite l'intégration pour les développeurs. Avec une configuration minimale, votre équipe peut commencer à explorer les données, à déclencher des flux de travail et à obtenir des informations par le biais de simples conversations.</p><p>Prêt à en faire l'expérience ? Essayez le <a href="https://github.com/elastic/mcp-server-elasticsearch">serveur Elasticsearch MCP</a> dès aujourd'hui et commencez à discuter avec vos données.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/model-context-protocol-elasticsearch</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/model-context-protocol-elasticsearch</guid>
    <category><![CDATA[IA agentique]]></category>
    <category><![CDATA[IA]]></category>
    <dc:creator><![CDATA[Jedr Blaszyk,Joe McElroy]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltce68a95c633809ae/6a17f7f0148009fa28b48915/65b378f644bd13e3edf2f108d48186f1889f546c-1200x628.png" length="0" type="image/png"/>
    <pubDate>Fri, 28 Mar 2025 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>