Nous sommes heureux d'annoncer la sortie de notre extension Elastic pour l'interface de ligne de commande Gemini de Google, qui apporte toute la puissance de Elasticsearch et Elastic Agent Builder directement dans votre workflow de développement d'IA. Cette extension propose également plusieurs compétences d’agent récemment développées pour interagir avec Elasticsearch.
L'extension est disponible en tant que projet open source ici.
Qu'est-ce que Gemini CLI et comment l'installer ?
Gemini CLI est un agent d’IA open source qui intègre les modèles Gemini de Google directement dans la ligne de commande. Il permet aux développeurs d’interagir avec l’IA depuis le terminal pour effectuer des tâches telles que générer du code, éditer des fichiers, exécuter des commandes shell et récupérer des informations sur le web.
Contrairement aux interfaces de chat classiques, Gemini CLI s'intègre à votre environnement de développement local, ce qui signifie qu'il peut comprendre le contexte du projet, modifier des fichiers, assurer l'exécution des compilations ou des tests et automatiser les workflows directement dans le terminal. Il est donc utile aux développeurs, aux ingénieurs de fiabilité des sites (SRE) et aux ingénieurs qui souhaitent un codage assisté par l'IA et une automatisation sans quitter leur workflow en ligne de commande.
Le CLI Gemini s’installe à l’aide de plusieurs gestionnaires de paquets. La méthode la plus courante passe par npm :
Si vous souhaitez connaître d’autres options d’installation, consultez la page officielle d’installation.
Après l’installation, lancez la CLI en exécutant :
Vous voyez un écran, comme illustré sur la figure 1 :

Figure 1 : Capture d'écran du CLI de Gemini.
Configurer Elasticsearch
Nous avons besoin d'une instance Elasticsearch en cours d'exécution. Si vous souhaitez utiliser le serveur Model Context Protocol (MCP), vous devez également installer Kibana 9.3+. Pour utiliser le langage de requête Elasticsearch (ES|QL) (esql) décrit ci-dessous, Kibana n’est pas requise.
Vous pouvez activer un essai gratuit sur Elastic Cloud ou l’installer localement en utilisant le script start-local :
Cela installera Elasticsearch et Kibana sur votre ordinateur et générera une clé API à utiliser pour configurer Gemini CLI.
La clé API sera affichée comme sortie de la commande précédente et stockée dans un fichier .env fichier dans le dossier elastic-start-local.
Si vous utilisez Elasticsearch sur site (par exemple, en utilisant start-local), et que vous souhaitez utiliser Elastic Agent Builder avec MCP, vous devez aussi connecter un grand modèle de langage (LLM). Vous pouvez consulter cette page de documentation pour comprendre les différentes options.
Si vous utilisez Elastic Cloud (ou Elastic Cloud Serverless), vous disposez déjà d’une connexion LLM préconfigurée.
Installez l'extension Elasticsearch
Vous pouvez installer l'extension Elasticsearch pour Gemini CLI avec la commande suivante :
Vous pouvez vérifier que les extensions ont été installées avec succès en ouvrant Gemini et en exécutant la commande suivante :
L'extension Elasticsearch devrait être disponible.
Si vous souhaitez utiliser l'intégration MCP, vous devez avoir une version d'Elasticsearch 9.3+ installée. Vous avez besoin de l’URL de votre serveur MCP depuis Kibana :
- Obtenez l'URL de votre serveur MCP dans Agents > Voir tous les outils > Gérer MCP > Copier l'URL du serveur MCP.
- L'URL se présentera comme suit : https://your-kibana-instance/api/agent_builder/mcp
Vous avez besoin de l’URL de l'endpoint Elasticsearch. Ce message apparaît généralement en haut de la page Elasticsearch de Kibana. Si vous utilisez Elasticsearch avec start-local, vous avez déjà l'endpoint dans la clé ES_LOCAL_URL dans le fichierstart-local .env.
Vous avez également besoin d’une clé API. Si vous exécutez Elasticsearch avec start-local, vous avez déjà le ES_LOCAL_API_KEY dans le fichier start-local .env. Sinon, vous pouvez créer une clé API en utilisant l’interface Kibana, comme indiqué ici :
- Dans Kibana : Stack Management > Security > Clés API > Créer une clé API.
- Nous suggérons de définir uniquement les privilèges de lecture pour la clé API, en activant le privilège
feature_agentBuilder.readcomme indiqué ici. - Copiez la valeur de la clé API encodée.
Définissez les variables d'environnement requises dans votre shell :
Installer l'ensemble de données d'exemple
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 commande.
- Produits (liste de tous les produits avec prix, quantité, identification, catégorie, réduction et autres détails).
- 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 « Intégrations » dans la barre de recherche supérieure) et installez l'ensemble de données « Échantillons de données ». Pour plus de détails, consultez la documentation ici.
Le but de cet article est de montrer à quel point il est facile de configurer la CLI Gemini pour se connecter à Elasticsearch et interagir avec l'index kibana_sample_data_ecommerce.
Comment utiliser le MCP d’Elasticsearch
Vous pouvez vérifier la connexion à l'aide de la commande suivante dans Gemini :
Le elastic-agent-builder devrait être activé, comme le montre la figure 2 :

Figure 2 : Le serveur MCP elastic-agent-builder avec la liste des outils.
Elasticsearch fournit un ensemble d'outils par défaut. Voir la description ici.
Grâce à ces outils, vous pouvez interagir avec Elasticsearch, en posant des questions telles que :
Give me the list of all the indexes available in Elasticsearch.How many customers are based in the USA in the kibana_sample_data_ecommerce index of Elasticsearch?
En fonction de la question, Gemini utilisera un ou plusieurs des outils disponibles pour tenter d'y répondre.
Les commandes
Dans l’extension Elasticsearch pour Gemini CLI, nous avons également ajouté /elastic commandes.
Si vous exécutez la commande /help, vous verrez toutes les options /elastic disponibles (Figure 3) :

Figure 3 : Les commandes /elastic disponibles.
Ces commandes peuvent être utiles si vous souhaitez exécuter directement un outil spécifique du serveur MCP elastic-agent-builder. Par exemple, en utilisant la commande suivante, vous pouvez obtenir le mapping de kibana_sample_data_ecommerce :
Ces commandes sont essentiellement des raccourcis permettant d’exécuter des outils spécifiques, plutôt que de s’en remettre au modèle Gemini pour déterminer l’outil à invoquer.
Comment utiliser les compétences Elasticsearch
Cette extension inclut également une compétence d’agent pour ES|QL, le langage de requête canalisé d’Elasticsearch (ES|QL) disponible dans Elasticsearch. Agent Skills est un format ouvert qui fournit aux agents IA de codage, comme Gemini CLI, des instructions personnalisées pour des tâches spécifiques. Ils utilisent un concept appelé divulgation progressive, ce qui signifie que seule une brève description de la compétence est ajoutée au prompt système initial. Lorsque vous demandez à l’agent d’effectuer une tâche, comme interroger Elasticsearch, il fait correspondre la requête à la compétence pertinente et charge dynamiquement les instructions détaillées. Il s’agit d’un moyen efficace de gérer les budgets de tokens tout en fournissant à l’IA exactement le contexte dont elle a besoin.
La compétence esqlest conçue pour permettre à Gemini CLI d’écrire et d’exécuter des requêtes ES|QL directement sur votre cluster. ES|QL est un langage de requête puissant qui rend l'exploration des données, l'analyse des logs et les agrégations très intuitives. Avec cette compétence activée, vous n'avez pas besoin de rechercher la syntaxe ES|QL ; vous pouvez simplement poser des questions en langage naturel à l'interface en ligne de commande Gemini sur vos données, et l'agent se chargera du reste.
Les exécutions sont réalisées à l'aide de simples commandes curl lancées dans un terminal. L’intégration d’Elasticsearch à n’importe quelle architecture est simplifiée par la richesse de ses API REST.
Ce que la compétenceesql offre :
- Recherche d'index et de schémas : L'agent peut utiliser les outils intégrés de la compétence pour dresser la liste des index disponibles et récupérer le mapping des champs. Par exemple, avant d’écrire une requête pour l’ensemble de données eCommerce, l’agent peut effectuer une exécution de vérification de schéma sur
kibana_sample_data_ecommerceafin de comprendre les champs disponibles, commetaxful_total_priceoucategory. - Traduction transparente en langage naturel : La compétence donne à l'agent plus qu'un simple manuel de référence ; elle lui fournit un guide spécifique pour interpréter l'intention de l'utilisateur. Dès que vous tapez une demande en langage naturel, par exemple « Afficher le temps de réponse moyen groupé par service », l’agent s’appuie sur les modèles intégrés de la compétence pour convertir vos mots en commandes, filtres et agrégations ES|QL appropriés.
- Autocorrection : en cas d’échec d’une requête (erreur de syntaxe ou de type, par exemple), la compétence transmet la requête ainsi que l’erreur Elasticsearch précise. L’agent peut alors la rectifier immédiatement et retenter l’opération sans que vous ayez à intervenir.
Comme la compétence esql est également disponible sous forme d'outil sur le serveur MCP elastic-agent-builder, nous devons désactiver ce serveur temporairement. Vous pouvez utiliser la commande suivante pour le désactiver :
Ensuite, vous pouvez simplement taper une invite comme celle-ci dans votre interface de ligne de commande Gemini :
L’agent devra :
- Reconnaissez la nécessité de la compétence
esql. - Consultez le schéma de
kibana_sample_data_ecommerce. - Construisez une requête ES|QL, comme :
FROM kibana_sample_data_ecommerce | STATS total_revenue = SUM(taxful_total_price) BY category.keyword | SORT total_revenue DESC | LIMIT 5. - Exécutez la requête auprès de l’API Elasticsearch.
- Présentez la réponse finale directement dans le terminal.
Nous avons cité ici un exemple de réponse de Gemini à la question précédente :
Il est intéressant de noter comment le modèle Gemini génère la réponse finale en montrant toutes les étapes qu’il suit. On peut voir ici l’influence de la compétence sur la démarche de réflexion du modèle. Dès que le modèle identifie la nécessité d’utiliser une compétence ou d’exécuter une commande shell, il sollicite une autorisation via l’approche supervision humaine dans la boucle.
Grâce à la gestion automatisée de la découverte de schéma, de la génération de requêtes et de leur exécution, la compétence esql vous libère des contraintes techniques pour vous focaliser uniquement sur l’analyse des résultats. Vous obtiendrez les données dont vous avez besoin, correctement formatées et directement dans votre terminal, sans jamais écrire une seule ligne de code ni basculer vers une autre application.
Conclusion
Dans cet article, nous avons présenté l'extension Elasticsearch pour Gemini CLI que nous avons récemment publiée. Cette extension vous permet d'interagir avec votre instance Elasticsearch en utilisant Gemini et le serveur Elasticsearch MCP fourni par Elastic Agent Builder, disponible à partir de la version 9.3.0, ainsi que la commande /elastic.
De plus, l'extension comprend également une compétence esql qui convertit la demande d'un utilisateur en langage naturel en une requête ES|QL. Cette compétence est très pratique quand l’usage du serveur MCP est impossible, puisque les échanges s’appuient sur l’exécution de commandes curl basiques dans le terminal. L’intégration d’Elasticsearch à tous vos projets est simplifiée par la richesse de ses API REST. C’est particulièrement utile lors du développement d’applications d’IA agentique.
Pour plus d’informations sur notre extension Gemini CLI, visitez le dépôt de projets ici.




