<?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[Walter Rafelsberger - 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[Walter Rafelsberger - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/es/search-labs/author/walter-rafelsberger</link>
    </image>
    <link>https://www.elastic.co/es/search-labs/author/walter-rafelsberger</link>
    <atom:link href="https://www.elastic.co/es/search-labs/rss/author/walter-rafelsberger.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[es]]></language>
    <lastBuildDate>Mon, 14 Sep 2026 05:50:59 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Extensión CLI de Gemini para Elasticsearch con herramientas y habilidades]]></title>
    <description><![CDATA[Te presentamos la extensión de Elastic para la CLI de Gemini de Google, que te permite hacer búsquedas, recuperar y analizar datos de Elasticsearch en flujos de trabajo de desarrollo y de agentes.
]]></description>
    <content:encoded><![CDATA[<p>Nos complace anunciar el lanzamiento de nuestra extensión Elastic para la CLI de Gemini de Google, que trae todo el poder de <a href="https://www.elastic.co/elasticsearch">Elasticsearch</a> y <a href="https://www.elastic.co/elasticsearch/agent-builder">Elastic Agent Builder</a> directamente a tu flujo de trabajo de desarrollo de IA. Esta extensión también ofrece varias funciones de agente desarrolladas recientemente para interactuar con Elasticsearch.</p><p>La extensión está disponible como proyecto de open source <a href="https://github.com/elastic/gemini-cli-elasticsearch">aquí</a>.</p><h2>¿Qué es Gemini CLI y cómo lo instalas?</h2><p><a href="https://geminicli.com/">Gemini CLI</a> es un agente open source de IA que lleva los modelos Gemini de Google directamente a la línea de comando. Permite a los desarrolladores interactuar con la IA desde la terminal para hacer tareas como generar código, editar archivos, ejecutar comandos de shell y obtener información de la web.</p><p>A diferencia de las interfaces de chat típicas, Gemini CLI se integra con tu entorno local de desarrollo, lo que significa que puede entender el contexto del proyecto, modificar archivos, ejecutar compilaciones o pruebas, y automatizar flujos de trabajo directamente dentro de la terminal. Esto lo hace útil para desarrolladores, ingenieros de confiabilidad del sitio (SRE) e ingenieros que buscan codificación y automatización asistidas por IA sin salir de su flujo de trabajo de línea de comandos.</p><p>Gemini CLI puede instalarse usando diversos gestores de paquetes. El método más común es a través de npm:</p>npm install -g @google/gemini-cli<p>Si quieres conocer opciones de instalación alternativas, consulta la <a href="https://geminicli.com/docs/get-started/installation/">página de instalación oficial</a>.</p><p>Luego de la instalación, inicia la CLI ejecutando:</p>gemini<p>Verás una pantalla, como se muestra en la Figura 1:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4ff43abe550941b4/6a17072ba29299fc2ad00fa4/6dfcec4a77b3dc83bf0d974417bf2e211abb1f4f-876x468.png" alt="Captura de pantalla de Gemini CLI." /><h2>Configurar Elasticsearch</h2><p>Es necesario tener una instancia de Elasticsearch en funcionamiento. Si quieres usar el servidor Model Context Protocol (MCP), también necesitas instalar Kibana 9.3+. Para emplear la habilidad del lenguaje de búsqueda Elasticsearch (ES|QL) (<code>esql</code>) descrito más abajo, Kibana no es obligatorio.</p><p>Puedes activar una prueba gratis en <a href="https://www.elastic.co/cloud">Elastic Cloud</a> o instalarlo localmente usando el script <a href="https://github.com/elastic/start-local"><code>start-local</code></a>:</p>curl -fsSL https://elastic.co/start-local | sh<p>Se instalarán Elasticsearch y Kibana en tu computadora y se generará una clave API que se utilizará para configurar Gemini CLI.</p><p>La clave de API se mostrará como salida del comando anterior y se almacenará en un archivo <strong>.env</strong> en la carpeta <strong><code>elastic-start-local</code></strong>.</p><p>Si usas Elasticsearch local (por ejemplo, usar <code>start-local</code>), y quieres usar Elastic Agent Builder con MCP, también necesitas conectar un modelo de lenguaje grande (LLM). Puedes leer <a href="https://www.elastic.co/docs/explore-analyze/ai-features/llm-guides/llm-connectors">esta página de documentación</a> para entender las diferentes opciones.</p><p>Si usas Elastic Cloud (o sin servidor), ya tienes una conexión con el LLM preconstruida.</p><h2>Instala la extensión de Elasticsearch</h2><p>Puedes instalar la extensión de Elasticsearch para Gemini CLI con el siguiente comando:</p>gemini extensions install https://github.com/elastic/gemini-cli-elasticsearch<p>Puedes verificar que las extensiones se hayan instalado correctamente abriendo Gemini y ejecutando el siguiente comando:</p>/extensions list<p>Deberías ver la extensión de Elasticsearch disponible.</p><p>Si quieres usar la integración de MCP, necesitas tener instalada una versión de Elasticsearch 9.3 o superior. Necesitas la URL de tu servidor MCP de <a href="https://www.elastic.co/kibana">Kibana</a>:</p><ul><li><p>Obtén la URL del servidor MCP desde Agentes &gt; Ver todas las herramientas &gt; Administrar MCP &gt; Copiar URL del servidor MCP.</p></li><li><p>La URL tendrá este formato: https://your-kibana-instance/api/agent_builder/mcp</p></li></ul><p>Necesitas la URL del endpoint de Elasticsearch. Esta generalmente se informa en la parte superior de la página de Kibana Elasticsearch. Si estás ejecutando Elasticsearch con <code>start-local</code>, ya tienes el endpoint en la clave <code>ES_LOCAL_URL</code>en el archivo <code>start-local</code>.env .</p><p>También necesitas una clave API. Si estás ejecutando Elasticsearch con <code>start-local</code>, ya tienes <code>ES_LOCAL_API_KEY</code> en el archivo <code>start-local</code> .env . De lo contrario, puedes crear una clave API desde la interfaz de Kibana, como se indica <a href="https://www.elastic.co/docs/deploy-manage/api-keys/elasticsearch-api-keys">aquí</a>:</p><ul><li><p>En Kibana: Stack Management &gt; Seguridad &gt; Claves de API &gt; Crear clave de API.</p></li><li><p>Sugerimos establecer solo los privilegios de lectura para la clave API, habilitando el privilegio <code>feature_agentBuilder.read</code> como <a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/permissions#grant-access-with-roles">se informa aquí</a>.</p></li><li><p>Copia el valor de la clave API codificada.</p></li></ul><p>Configura las variables de entorno requeridas en tu shell:</p>export ELASTIC_URL="your-elasticsearch-url"
export ELASTIC_MCP_URL="your-elasticsearch-mcp-url"
export ELASTIC_API_KEY="your-encoded-api-key"<h2>Instala el set de datos de ejemplo</h2><p>Puedes instalar el set de datos de <strong>pedidos de comercio electrónico </strong>disponible desde Kibana. Incluye un único índice llamado <strong><code>kibana_sample_data_ecommerce</code></strong>, que contiene información sobre 4,675 pedidos de un sitio web de comercio electrónico. Para cada pedido, tenemos la siguiente información:</p><ul><li><p>Información del cliente (nombre, identificación, fecha de nacimiento, correo electrónico y más).</p></li><li><p>Fecha del pedido.</p></li><li><p>ID de pedido.</p></li><li><p>Productos (lista de todos los productos con precio, cantidad, identificación, categoría, descuento y otros detalles).</p></li><li><p>SKU.</p></li><li><p>Precio total (sin impuestos, con impuestos).</p></li><li><p>Cantidad total.</p></li><li><p>Información geográfica (ciudad, país, continente, ubicación, región).</p></li></ul><p>Para instalar los datos de muestra, abre la página <strong>Integraciones</strong> en Kibana (busca "Integración" en la barra superior de búsqueda) e instala los <strong>Datos de muestra</strong>. Para más detalles, consulta la documentación <a href="https://www.elastic.co/docs/explore-analyze/#gs-get-data-into-kibana">aquí</a>.</p><p>El objetivo de este artículo es mostrar lo fácil que es configurar la CLI Gemini para conectarse a Elasticsearch e interactuar con el índice <strong><code>kibana_sample_data_ecommerce</code></strong> .</p><h2>Cómo usar el MCP de Elasticsearch</h2><p>Puedes comprobar la conexión usando el siguiente comando en Gemini:</p>/mcp list<p>Deberías ver el <strong><code>elastic-agent-builder</code></strong> activado, como se muestra en la Figura 2:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt52b85e7255360f3b/6a17072da929cf33d3ae08f5/1508423bc1d1bc3c04a1cb01e2d59495a3516ed1-1465x844.png" alt="Servidor MCP &quot;elastic-agent-builder&quot; con la lista de herramientas." /><p>Elasticsearch proporciona un conjunto predeterminado de herramientas. Ve la descripción <a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools/builtin-tools-reference">aquí</a>.</p><p>Con estas herramientas, puedes interactuar con Elasticsearch y hacer preguntas como:</p><ul><li><p><code>Give me the list of all the indexes available in Elasticsearch.</code></p></li><li><p><code>How many customers are based in the USA in the kibana_sample_data_ecommerce index of Elasticsearch?</code></p></li></ul><p>Dependiendo de la pregunta, Gemini usará una o varias de las herramientas disponibles para intentar responderla.</p><h2>Los comandos /elastic</h2><p>En la extensión Elasticsearch para Gemini CLI, también agregamos comandos<strong><code>/elastic</code></strong>.</p><p>Si ejecutas el comando <strong><code>/help</code></strong>, verás todas las opciones <code>/elastic</code> disponibles (Figura 3):</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt741c7451ecab10d2/6a17072ea6c2b9ccd6e79643/5b2a0727ce7a04354878dd048253d3f4d062324b-1983x230.png" alt="Los comandos disponibles de `/elastic`." /><p>Estos comandos pueden ser útiles si quieres ejecutar directamente una herramienta específica del servidor MCP <code>elastic-agent-builder</code>. Por ejemplo, usando el siguiente comando, puedes obtener el mapping del <code>kibana_sample_data_ecommerce</code>:</p>/elastic:get-mapping kibana_sample_data_ecommerce<p>Estos comandos son esencialmente atajos para ejecutar herramientas específicas, en lugar de depender del modelo Gemini para determinar qué herramienta debe invocarse.</p><h2>Cómo usar las habilidades de Elasticsearch</h2><p>Esta extensión también incluye una <a href="https://github.com/elastic/gemini-cli-elasticsearch/tree/main/skills/esql">habilidad de agente para ES|QL</a>, el <a href="https://www.elastic.co/docs/explore-analyze/discover/try-esql">lenguaje de búsqueda Elasticsearch</a> disponible en Elasticsearch. <a href="https://agentskills.io/home">Habilidades del Agente</a> es un formato abierto que proporciona a los agentes de codificación de IA, como Gemini CLI, instrucciones personalizadas para tareas específicas. Utilizan un concepto llamado <em>revelación progresiva</em>, lo que significa que solo se agrega una breve descripción de la habilidad a la indicación inicial del sistema. Cuando le pides al agente que haga una tarea, como consultar Elasticsearch, hace coincidir la solicitud con la habilidad relevante y carga dinámicamente las instrucciones detalladas. Esta es una forma eficaz de gestionar los presupuestos de tokens y, al mismo tiempo, proporcionar a la IA exactamente el contexto que necesita.</p><p>La <strong>habilidad</strong><strong><code>esql</code></strong> está diseñada para permitir que la CLI de Gemini escriba y ejecute consultas en ES|QL directamente en tu cluster. ES|QL es un poderoso lenguaje de búsqueda con barras verticales que hace que la exploración de datos, el análisis de logs y las agregaciones sean sumamente intuitivas. Con esta habilidad activada, no necesitas buscar la sintaxis de ES|QL; simplemente puedes hacer preguntas en lenguaje natural a la CLI de Gemini sobre tus datos, y el agente se encargará del resto.</p><p>Las ejecuciones se efectúan mediante comandos <a href="https://curl.se/">curl</a> sencillos ejecutados en una terminal. Esto es posible porque Elasticsearch ofrece un amplio conjunto de API REST que se pueden utilizar fácilmente para integrar el sistema en cualquier arquitectura.</p><p><strong>Lo que la </strong> habilidad<strong><code>esql</code></strong><strong> ofrece:</strong></p><ul><li><p><strong>Detección de índices y esquemas:</strong> El agente puede usar las herramientas integradas de la habilidad para mostrar los índices disponibles y obtener el mapping de campos. Por ejemplo, antes de escribir una consulta para el set de datos de comercio electrónico, el agente puede ejecutar una verificación de esquema en <strong><code>kibana_sample_data_ecommerce</code></strong> para comprender los campos disponibles, como <strong><code>taxful_total_price</code></strong> o <strong><code>category</code></strong>.</p></li><li><p><strong>Traducción perfecta al lenguaje natural:</strong> la habilidad le da al agente algo más que un simple manual de referencia; proporciona una guía específica para interpretar la intención del usuario. Cuando escribes solicitudes en lenguaje natural, como "Mostrar el tiempo de respuesta promedio agrupado por servicio", el agente utiliza la función de coincidencia de patrones integrada en la habilidad para traducir al instante tus palabras en las agregaciones, filtros y comandos en ES|QL correctos.</p></li><li><p><strong>Autocorrección:</strong> Si una consulta falla (por ejemplo, debido a una incompatibilidad de tipos o un error de sintaxis), la habilidad devuelve la consulta generada junto con el mensaje de error exacto de Elasticsearch, lo que permite al agente corregirla al instante y volver a intentarlo sin que tengas que intervenir.</p></li></ul><p>Dado que la habilidad <code>esql</code> también está disponible como una herramienta en el servidor MCP <code>elastic-agent-builder</code>, necesitamos deshabilitar este servidor momentáneamente. Puedes usar el siguiente comando para desactivarlo:</p>/mcp disable elastic-agent-builder<p>Entonces puedes simplemente escribir un mensaje como este en tu CLI de Gemini:</p>Find the top 5 product categories by total sales revenue in the kibana_sample_data_ecommerce index<p>El agente deberá:</p><ul><li><p>Reconoce la necesidad de la habilidad <code>esql</code> .</p></li><li><p>Verifica el esquema de <strong><code>kibana_sample_data_ecommerce</code></strong>.</p></li><li><p>Construye una consulta en ES|QL, como: <code>FROM kibana_sample_data_ecommerce | STATS total_revenue = SUM(taxful_total_price) BY category.keyword | SORT total_revenue DESC | LIMIT 5</code>.</p></li><li><p>Ejecutar la consulta en la API de Elasticsearch.</p></li><li><p>Presentar la respuesta final directamente en la terminal.</p></li></ul><p>Aquí, presentamos un ejemplo de respuesta de Gemini al mensaje anterior:</p>───────────────────────────────────────────────────────────
&gt; Find the top 5 product categories by total sales revenue in the kibana_sample_data_ecommerce index   ───────────────────────────────────────────────────────────
✓  Activate Skill "esql": Interact with Elasticsearch using ES|QL and curl. Use when querying, managing indices,  …
Skill esql activated. Resources loaded from /home/user/.gemini/extensions/elasticsearch/skills/esql: 
Showing up to 200 items (files + folders).                                                                     /home/user/.gemini/extensions/elasticsearch/skills/esql/                                                            ├───SKILL.md 
└───references/
├───esql-reference.md 
├───generation-tips.md 
└───query-patterns.md

✦ I will start by exploring the mapping of the kibana_sample_data_ecommerce index to identify the fields for product category and sales revenue. Then, I will construct and execute an ES|QL query to determine the top 5 product categories by total sales revenue.

✓  Shell curl -s "${ELASTIC_URL%/}/kibana_sample_data_ecommerce/_mapping" -H "Authorization: ApiKey $(printenv ELAS…                                                                                                                       {  
   "kibana_sample_data_ecommerce": { 
     "mappings": { 
       "properties": {
         "category": { 
           "type": "text", 
           "fields": {
             "keyword": {
               "type": "keyword"
             }
           }
         }, 
         "currency": {
           "type": "keyword"
         }, 

✦ Okay, I have the mapping. The category is products.category.keyword and sales revenue is taxful_total_price. I'll now execute the ES|QL query to get the top 5 categories by revenue.

✓  Shell curl -s -X POST "${ELASTIC_URL%/}/_query" \  -H "Authorization: ApiKey $(printenv ELASTIC_API_KEY)" \  -H …
{ 
   "took": 62,
   "is_partial": false, 
   "completion_time_in_millis": 1772805644164,
   "documents_found": 4675,
   "values_loaded": 12084, 
   "start_time_in_millis": 1772805644102, 
   "expiration_time_in_millis": 1773237644087,  
   "columns": [ 
     { 
       "name": "total_revenue",    
       "type": "double"  
     }, 
     {   
       "name": "products.category.keyword",

✦ The query for top 5 product categories by revenue was successful. I'll format the returned JSON values into a   user-friendly list.

 ✓  Shell 
                             
 Top 5 product categories by total sales revenue: 
 1. Men's Clothing: 149393.91
 2. Women's Clothing: 135099.91
 3. Women's Shoes: 105479.17
 4. Men's Shoes: 91797.92
 5. Women's Accessories: 60830.31 

✦ I've found the answer; now I'll format it for clarity.

 ✓  Shell 

 Here are the top 5 product categories by total sales revenue:                                                        
                                                                      
 | Rank | Category              | Total Revenue | 
 |------|-----------------------|---------------| 
 | 1    | Men's Clothing        | 149,393.91    |
 | 2    | Women's Clothing      | 135,099.91    |
 | 3    | Women's Shoes         | 105,479.17    |
 | 4    | Men's Shoes           | 91,797.92     | 
 | 5    | Women's Accessories   | 60,830.31     | 

✦ I've formatted and presented the answer. I'm finished.
 ───────────────────────────────────────────────────────────<p>Es interesante ver cómo el modelo Gemini genera la respuesta final mostrando todos los pasos que sigue. Aquí, puedes ver claramente la influencia de la habilidad en el proceso de razonamiento del modelo. La primera vez que el modelo reconoce que necesita usar una habilidad o ejecutar un comando de shell, pide permiso empleando el enfoque de intervención humana.</p><p>Al manejar el trabajo pesado de descubrimiento de esquemas, generación de consultas y ejecución, la habilidad <code>esql</code> te permite concentrarte completamente en las respuestas en lugar de en la mecánica para obtenerlas. Obtendrás los datos que necesitas, correctamente formateados y directamente en tu terminal, todo sin escribir una sola línea de sintaxis o cambiar de contexto a otra aplicación.</p><h2>Conclusión</h2><p>En este artículo, presentamos la extensión Elasticsearch para Gemini CLI que lanzamos recientemente. Esta extensión te permite interactuar con tu instancia de Elasticsearch mediante Gemini y el servidor MCP de Elasticsearch que ofrece Elastic Agent Builder, disponible a partir de la versión 9.3.0, así como el comando <code>/elastic</code> .</p><p>Además, la extensión también incluye una habilidad <code>esql</code> que convierte la solicitud del usuario de lenguaje natural en una consulta en ES|QL. Esta habilidad puede resultar especialmente útil cuando no se puede usar el servidor MCP, ya que la comunicación subyacente se gestiona mediante simples comandos curl ejecutados en una terminal. Elasticsearch ofrece un amplio conjunto de API REST que se pueden integrar fácilmente en cualquier proyecto. Esto es especialmente útil cuando se desarrollan aplicaciones de AI agéntica.</p><p>Para más información sobre nuestra extensión Gemini CLI, visita el repositorio del proyecto <a href="https://github.com/elastic/gemini-cli-elasticsearch">aquí</a>.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/gemini-cli-extension-elasticsearch</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/gemini-cli-extension-elasticsearch</guid>
    <category><![CDATA[Integraciones]]></category>
    <category><![CDATA[Agentic AI]]></category>
    <dc:creator><![CDATA[Walter Rafelsberger,Enrico Zimuel]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4ff43abe550941b4/6a17072ba29299fc2ad00fa4/6dfcec4a77b3dc83bf0d974417bf2e211abb1f4f-876x468.png" length="0" type="image/png"/>
    <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>