Passez à la pratique avec Elasticsearch : explorez nos notebooks d’exemples, lancez un essai gratuit sur le cloud ou testez Elastic dès maintenant sur votre machine locale.
Dans cet article, nous allons expliquer comment utiliser Google MCP Toolbox avec Elasticsearch pour créer un outil simple permettant d'extraire des informations d'un index Elasticsearch.
Nous avons récemment contribué au projet open source Google MCP Toolbox for Databases en ajoutant la prise en charge d'Elasticsearch en tant que base de données.
Grâce à cette nouvelle fonctionnalité, vous pouvez désormais utiliser Google MCP Toolbox pour vous connecter à Elasticsearch et "dialoguer" directement avec vos données.
Elasticsearch
Nous avons besoin d'une instance Elasticsearch en cours d'exécution. Vous pouvez activer un essai gratuit sur Elastic Cloud ou l'installer localement via le script start-local :
Cela installera Elasticsearch et Kibana sur votre ordinateur et générera une clé API à utiliser pour configurer Google MCP Toolbox.
La clé API sera affichée comme sortie de la commande précédente et stockée dans un fichier .env dans le dossier elastic-start-local.
Installer l'ensemble de données d'exemple
Après l'installation, connectez-vous à Kibana en utilisant le nom d'utilisateur elastic et le mot de passe généré par le script "start-local" (stocké dans un fichier .env).
Vous pouvez installer l'ensemble de données eCommerce orders disponible dans Kibana. Il comprend un seul index nommé kibana_sample_data_ecommerce contenant des informations sur 4 675 commandes provenant d'un site web. Pour chaque commande, nous disposons des informations suivantes :
- Informations client (nom, identifiant, date de naissance, e-mail, etc.)
- Date de la commande
- ID de la commande
- Produits (liste de tous les produits avec prix, quantité, ID, catégorie, réduction, etc.)
- SKU
- Prix total (hors taxes, taxes incluses)
- Quantité totale
- Informations géographiques (ville, pays, continent, localisation, région)
Pour installer les données d'exemple, ouvrez la page Intégrations dans Kibana (recherchez "Integration" dans la barre de recherche supérieure), puis installez l'ensemble de données "Sample Data". Pour plus de détails, consultez la documentation ici : https://www.elastic.co/docs/explore-analyze/#gs-get-data-into-kibana.
Cet article a pour but de montrer combien il est facile de configurer Google MCP Toolbox pour se connecter à Elasticsearch et interagir avec l'index kibana_sample_data_ecommerce en utilisant le langage naturel.
Google MCP Toolbox
Google MCP Toolbox est un serveur MCP open source conçu pour faciliter l'interaction sécurisée et efficace des applications et des agents IA avec les bases de données. Auparavant appelé "GenAI Toolbox for Databases", le projet a été renommé après l'adoption d'une compatibilité totale avec le protocole MCP (Model Context Protocol). Son objectif est de supprimer les tâches complexes traditionnellement requises lors de la connexion d'agents à des bases de données en gérant en arrière-plan les pools de connexion, l'authentification, l'observabilité et d'autres aspects opérationnels.
Essentiellement, la boîte à outils permet aux développeurs de définir des outils réutilisables de haut niveau qui encapsulent les interactions avec la base de données. Ces outils peuvent ensuite être invoqués par n'importe quel client compatible MCP, tel qu'un agent IA, sans que le client n'ait à implémenter des requêtes SQL de bas niveau ni à gérer des connexions de base de données. Cette approche réduit considérablement la quantité de code répétitif nécessaire à la création d'agents compatibles avec les bases de données, permettant ainsi d'intégrer des opérations de données avancées en seulement quelques lignes de logique applicative. Une fois qu'un outil est défini, il peut être partagé entre plusieurs agents, frameworks, ou langages (Figure 1).

Figure 1 : Architecture générale de Google MCP Toolbox
L'un des principaux avantages de la boîte à outils est le modèle de sécurité intégré. Les flux d'authentification tels que OAuth2 et OIDC sont pris en charge de manière native, ce qui permet aux développeurs d'éviter de manipuler ou de stocker des informations sensibles d'identification de base de données dans les agents. La plateforme fournit également des fonctionnalités d'observabilité via OpenTelemetry, y compris les métriques et le traçage, ce qui est essentiel pour le débogage, la surveillance et les déploiements en production. De manière générale, MCP Toolbox sert d'interface unifiée, sécurisée et extensible pour interagir avec vos données depuis n'importe quel système compatible MCP.
Comment installer MCP Toolbox
Vous pouvez installer le serveur MCP Toolbox sur Linux en utilisant la commande suivante :
Si vous souhaitez l'installer sur macOS ou Windows, vous pouvez suivre les instructions détaillées ici.
Configurer Toolbox pour Elasticsearch
Pour configurer MCP Toolbox pour Elasticsearch, nous devons créer un fichier tools.yaml comme suit :
Vous devez remplacer la valeur <insert-here-api-key> par une clé API Elasticsearch valide. Si vous exécutez Elasticsearch localement avec la commande "start-local", vous trouverez la clé API dans le fichier .env généré par start-local, sous la variable ES_LOCAL_API_KEY. Si vous utilisez Elastic Cloud, vous pouvez générer une clé API en suivant la procédure décrite ici.
Les outils précédents contiennent la requête ES|QL suivante pour Elasticsearch :
Si vous ne connaissez pas ES|QL, il s'agit d'un langage de requête développé par Elastic, similaire à SQL, qui peut être utilisé pour effectuer des recherches sur un ou plusieurs indices. Pour en savoir plus sur ES|QL, consultez la documentation officielle ici.
La requête ci-dessus recherche toutes les commandes stockées dans l'index kibana_sample_data_ecommerce qui contiennent le nom du client spécifié, en utilisant le paramètre ?name (le point d'interrogation indique un paramètre).
Le nom du client est défini dans la configuration YAML précédente en utilisant le type chaîne et la description "The customer name" (nom du client).
Cet outil peut être utilisé pour répondre à des questions sur les commandes d'un client, par exemple : Combien de commandes le client Foo a-t-il passées en octobre 2025 ?
Les descriptions des outils et de leurs paramètres sont essentielles pour extraire les informations pertinentes de la requête en langage naturel de l'utilisateur. Cette extraction est réalisée à l'aide de la capacité d'appel de fonctions d'un grand modèle de langage (LLM). En pratique, un LLM peut déterminer quelle fonction (outil) doit être exécutée pour obtenir les informations nécessaires, ainsi que les paramètres appropriés pour cette fonction.
Pour plus d'informations sur les appels de fonctions, nous vous invitons à lire l'article OpenAI function calling with Elasticsearch (en anglais) par Ashish Tiwari.
Exécuter le serveur Toolbox
Vous pouvez exécuter le serveur MCP Toolbox à l'aide du fichier "tools.yaml" précédent avec la commande suivante :
Le paramètre –ui exécute une application web à l'adresse http://127.0.0.1:5000/ui (Figure 2).

Figure 2 : Interface utilisateur de MCP Toolbox
Sélectionnez Tools (Outils) > customer-orders et insérez un nom de client dans le paramètre name (par ex. Gwen Sanders), puis cliquez sur le bouton Run Tool (Exécuter l'outil). Une réponse JSON devrait s'afficher comme illustré dans la figure 3.

Figure 3 : Exécution de l'outil "customer-orders" avec la valeur de nom "Gwen"
La configuration est terminée et MCP Toolbox peut exécuter l'outil customer-orders pour communiquer avec Elasticsearch, en lançant la requête ES|QL.
Utiliser MCP Toolbox avec Gemini CLI
Nous pouvons utiliser n'importe quel client MCP pour communiquer avec MCP Toolbox for Databases. Par exemple, nous pouvons choisir Gemini CLI, un outil en ligne de commande permettant d'utiliser Gemini. Si vous souhaitez installer Gemini CLI, suivez les instructions indiquées ici.
Gemini CLI propose une extension préconfigurée pour MCP Toolbox, disponible sur gemini-cli-extensions/mcp-toolbox. Vous pouvez installer cette extension en exécutant la commande suivante :
Après l'installation, vous devez accéder au répertoire dans lequel vous avez stocké le fichier de configuration "tools.yaml" pour MCP Toolbox et exécuter Gemini CLI comme suit (cette étape est nécessaire pour que Gemini CLI soit automatiquement configuré avec MCP Toolbox) :
Un message de sortie devrait s'afficher comme illustré dans la figure 4.

Figure 4 : Terminal CLI Gemini
Vous pouvez vérifier si la boîte à outils MCP est connectée en utilisant la commande suivante :
Vous devriez voir s'afficher mcp_toolbox avec les outils customer-orders répertoriés (Figure 5).

Figure 5 : Sortie de la commande "/mcp list"
Si MCP Toolbox est connecté à Gemini CLI, nous pouvons maintenant poser quelques questions, telles que : "Indiquez-moi les commandes pour la cliente Gwen Sanders". Gemini CLI demande alors l'autorisation d'exécuter l'outil "customer-orders" depuis le serveur mcp_toolbox (voir Figure 6).

Figure 6 : Autorisation d'exécuter l'outil "customer-orders"
Après confirmation, Gemini CLI exécute la requête dans MCP Toolbox, reçoit une réponse JSON et l'utilise pour mettre en forme la réponse (Figure 7).

Figure 7 : Réponse de MCP Toolbox et réponse finale de Gemini CLI
La réponse de Gemini CLI indique que Gwen Sanders a passé une seule commande de 2 produits, pour un prix total de 132 EUR.
SDK MCP Toolbox
Google MCP Toolbox propose également un SDK pour accéder à toutes les fonctionnalités depuis un programme écrit en Go, Python et Javascript.
Par exemple, le SDK Python est disponible sur Github à la page suivante : https://github.com/googleapis/mcp-toolbox-sdk-python.
Nous devons créer un agent simple pour nous connecter à MCP Toolbox. Nous devons installer les packages suivants :
Et créer un nouveau projet d'agent à l'aide la commande suivante :
Cela créera un nouveau répertoire nommé my_agent contenant un fichier agent.py.
Mettez à jour le fichier my_agent/agent.py avec le contenu suivant pour vous connecter à Toolbox :
Créez un fichier .env avec votre clé API Google :
Enfin, nous pouvons lancer l'exécution de l'agent et observer les résultats. Pour ce faire, exécutez la commande suivante :
Ou, vous pouvez le servir via une interface web :
Dans les deux cas, vous pouvez interagir avec MCP Toolbox à l'aide d'une interface de questions-réponses. Par exemple, vous pouvez poser la question précédente : Indiquez-moi les commandes de la cliente Gwen Sanders.
Pour plus d'informations sur les différents SDK, consultez cette page de documentation.
Conclusion
Dans cet article, nous avons démontré l'intégration d'Elasticsearch pour Google MCP Toolbox for Databases. À l'aide d'un simple fichier de configuration YAML, nous pouvons définir un ensemble d'outils qui traduisent les questions en langage naturel en requêtes Elasticsearch en utilisant le langage ES|QL.
Nous avons montré comment interagir avec l'ensemble de données "kibana_sample_data_ecommerce", qui contient des commandes provenant d'un site web. Avec ce fichier de configuration, nous pouvons simplement lancer l'exécution du serveur MCP Toolbox et nous y connecter depuis n'importe quel client MCP.
Enfin, nous avons démontré comment utiliser Gemini CLI en tant que client pour nous connecter à MCP Toolbox for Databases et interroger les données e-commerce stockées dans Elasticsearch. Nous avons exécuté une requête en langage naturel pour récupérer des informations sur les commandes d'un client spécifique identifié par son nom.
À mesure que l'écosystème MCP se développe, ce modèle – des définitions d'outils légères soutenues par une infrastructure sécurisée et prête pour la production – crée de nouvelles possibilités pour construire des agents de plus en plus performants et sensibles aux données avec un minimum d'efforts. Qu'il s'agisse d'expérimenter localement les ensembles de données Elastic ou d'intégrer des fonctionnalités de recherche dans une application plus vaste, MCP Toolbox fournit une base fiable et extensible pour interagir avec vos données Elasticsearch en langage naturel.
Pour en savoir plus sur le développement d'applications d'IA agentique, consultez l'article Construire des workflows d'IA agentique avec Elasticsearch par Anish Mathur et Dana Juratoni.
Pour plus d'informations sur Google MCP Toolbox, consultez la page vhttps://googleapis.github.io/genai-toolbox/getting-started/introduction/.




