<?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/pt/search-labs/author/walter-rafelsberger</link>
    </image>
    <link>https://www.elastic.co/pt/search-labs/author/walter-rafelsberger</link>
    <atom:link href="https://www.elastic.co/pt/search-labs/rss/author/walter-rafelsberger.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[pt]]></language>
    <lastBuildDate>Mon, 14 Sep 2026 23:54:23 GMT</lastBuildDate>
  <item>
    <title><![CDATA[A extensão Gemini CLI para Elasticsearch com ferramentas e recursos]]></title>
    <description><![CDATA[Apresentamos a extensão da Elastic para a CLI Gemini do Google, que permite buscar, extrair e analisar dados do Elasticsearch em fluxos de trabalho de desenvolvedores e agentes.
]]></description>
    <content:encoded><![CDATA[<p>Temos a satisfação de anunciar o lançamento da nossa extensão Elastic para a Gemini CLI do Google, trazendo toda a eficiência da <a href="https://www.elastic.co/elasticsearch">Elasticsearch</a> e <a href="https://www.elastic.co/elasticsearch/agent-builder">Elastic Agent Builder</a> diretamente para o seu fluxo de trabalho de desenvolvimento de IA. Essa extensão também oferece várias habilidades de agente recentemente desenvolvidas para interagir com o Elasticsearch.</p><p>A extensão está disponível como um projeto open source <a href="https://github.com/elastic/gemini-cli-elasticsearch">aqui</a>.</p><h2>O que é a Gemini CLI e como você a instala?</h2><p><a href="https://geminicli.com/">Gemini CLI</a> é um agente de IA open source que traz os modelos Gemini do Google diretamente para a linha de comando. Ele permite que os desenvolvedores interajam com a IA a partir do terminal para realizar tarefas como gerar código, editar arquivos, executar comandos do shell e recuperar informações da web.</p><p>Diferentemente das interfaces típicas de chat, a Gemini CLI se integra ao seu ambiente local de desenvolvimento, o que significa que ela pode entender o contexto do projeto, modificar arquivos, executar builds ou testes e automatizar fluxos de trabalho diretamente no terminal. Isso a torna útil para desenvolvedores, engenheiros de confiabilidade de sites (SREs) e outros profissionais que desejam codificação e automação assistidas por IA sem sair do fluxo de trabalho da linha de comando.</p><p>Você pode instalar a Gemini CLI usando vários gerenciadores de pacotes. O método mais comum é usar o npm:</p>npm install -g @google/gemini-cli<p>Para conhecer opções alternativas de instalação, consulte a <a href="https://geminicli.com/docs/get-started/installation/">página oficial de instalação</a>.</p><p>Após a instalação, inicie a CLI executando:</p>gemini<p>Você vê uma tela, conforme mostrado na Figura 1:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4ff43abe550941b4/6a17072ba29299fc2ad00fa4/6dfcec4a77b3dc83bf0d974417bf2e211abb1f4f-876x468.png" alt="Uma captura de tela da Gemini CLI." /><h2>Configurar o Elasticsearch</h2><p>Precisamos ter uma instância do Elasticsearch em execução. Se quiser usar o servidor MCP (Model Context Protocol), você também precisará ter o Kibana 9.3+ instalado. Para usar a habilidade da Elasticsearch linguagem de consulta (ES|QL) (<code>esql</code>) descrita abaixo, o Kibana não é necessário.</p><p>Você pode ativar um teste gratuito no <a href="https://www.elastic.co/cloud">Elastic Cloud</a> ou instalá-lo localmente usando o script <a href="https://github.com/elastic/start-local"><code>start-local</code></a> :</p>curl -fsSL https://elastic.co/start-local | sh<p>Isso instalará o Elasticsearch e o Kibana no seu computador e gerará uma chave API para ser usada na configuração da Gemini CLI.</p><p>A chave API será mostrada como saída do comando anterior e armazenada em um <strong>.env</strong> arquivo na pasta <strong><code>elastic-start-local</code></strong>.</p><p>Se você está usando o Elasticsearch no local (por exemplo, usando <code>start-local</code>), e quer usar o Elastic Agent Builder com MCP, também precisa conectar um grande modelo de linguagem (LLM). Você pode ler <a href="https://www.elastic.co/docs/explore-analyze/ai-features/llm-guides/llm-connectors">esta página de documentação</a> para entender as diferentes opções.</p><p>Se você estiver usando o Elastic Cloud (ou serverless), já tem uma conexão LLM pré-configurada.</p><h2>Instale a extensão do Elasticsearch</h2><p>Você pode instalar a extensão Elasticsearch para Gemini CLI com o seguinte comando:</p>gemini extensions install https://github.com/elastic/gemini-cli-elasticsearch<p>Você pode verificar se as extensões foram instaladas com sucesso abrindo o Gemini e executando o seguinte comando:</p>/extensions list<p>Você deverá ver a extensão Elasticsearch disponível.</p><p>Se quiser usar a integração MCP, precisa ter uma versão do Elasticsearch 9.3+ instalada. Você precisa da URL do seu servidor MCP do <a href="https://www.elastic.co/kibana">Kibana</a>:</p><ul><li><p>Obtenha a URL do seu servidor MCP em Agents &gt; View all tools &gt; Manage MCP &gt; Copy MCP Server URL (Agentes &gt; Ver todas as ferramentas &gt; Gerenciar MCP &gt; Copiar URL do Servidor MCP).</p></li><li><p>A URL ficará assim: https://your-kibana-instance/api/agent_builder/mcp</p></li></ul><p>Você precisa da URL do endpoint do Elasticsearch. Isso normalmente é relatado no topo da página do Kibana Elasticsearch. Se você está rodando o Elasticsearch com <code>start-local</code>, você já tem o endpoint na chave <code>ES_LOCAL_URL</code> no <code>start-local</code> .env. arquivo.</p><p>Também é necessário uma chave de API. Se estiver executando o Elasticsearch com <code>start-local</code>, você já tem a <code>ES_LOCAL_API_KEY</code> no arquivo<code>start-local</code> .env arquivo. Caso contrário, é possível criar uma chave de API usando a interface do Kibana, conforme <a href="https://www.elastic.co/docs/deploy-manage/api-keys/elasticsearch-api-keys">indicado aqui</a>:</p><ul><li><p>No Kibana: Stack Management &gt; Security &gt; API Keys &gt; Create API Key (Stack management &gt; Segurança &gt; Chaves de API &gt; Criar chave de API) .</p></li><li><p>Sugerimos definir apenas os privilégios de leitura para a chave API, habilitando o privilégio <code>feature_agentBuilder.read</code> conforme <a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/permissions#grant-access-with-roles">reportado aqui</a>.</p></li><li><p>Copie o valor da chave de API codificada.</p></li></ul><p>Defina as variáveis de ambiente necessárias no seu 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>Instale o conjunto de dados de exemplo</h2><p>Você pode instalar o conjunto de dados de <strong>pedidos de comércio eletrônico </strong>disponível no Kibana. Inclui um único índice chamado <strong><code>kibana_sample_data_ecommerce</code></strong>, contendo informações sobre 4.675 pedidos de um website. Para cada pedido, temos as seguintes informações:</p><ul><li><p>Informações do cliente (nome, ID, data de nascimento, e-mail e mais).</p></li><li><p>Data do pedido.</p></li><li><p>ID do pedido.</p></li><li><p>Produtos (lista de todos os produtos com preço, quantidade, ID, categoria, desconto e outros detalhes).</p></li><li><p>SKU.</p></li><li><p>Preço total (sem impostos, com impostos).</p></li><li><p>Quantidade total.</p></li><li><p>Informações geográficas (cidade, país, continente, localização, região).</p></li></ul><p>Para instalar os dados de exemplo, abra a página <strong>Integrações</strong> no Kibana (busque por “Integração” na barra de busca superior) e instale os <strong>Dados de Exemplo</strong>. Para mais detalhes, consulte a <a href="https://www.elastic.co/docs/explore-analyze/#gs-get-data-into-kibana">documentação aqui</a>.</p><p>O objetivo deste artigo é mostrar como é fácil configurar o Gemini CLI para se conectar ao Elasticsearch e interagir com o índice <strong><code>kibana_sample_data_ecommerce</code></strong>.</p><h2>Como usar o Elasticsearch MCP</h2><p>Você pode verificar a conexão usando o seguinte comando no Gemini:</p>/mcp list<p>Você deve ver o <strong><code>elastic-agent-builder</code></strong> ativado, como mostrado na Figura 2:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt52b85e7255360f3b/6a17072da929cf33d3ae08f5/1508423bc1d1bc3c04a1cb01e2d59495a3516ed1-1465x844.png" alt="O servidor MCP 'elastic-agent-builder' com a lista de ferramentas." /><p>O Elasticsearch fornece um conjunto padrão de ferramentas. Veja a descrição <a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/tools/builtin-tools-reference">aqui</a>.</p><p>Usando essas ferramentas, você pode interagir com o Elasticsearch, fazendo perguntas 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>Dependendo da pergunta, o Gemini usará uma ou mais ferramentas disponíveis para tentar respondê-la.</p><h2>Os comandos /elastic</h2><p>Na extensão Elasticsearch para Gemini CLI, também adicionamos<strong><code>/elastic</code></strong> comandos.</p><p>Se você executar o comando <strong><code>/help</code></strong>, verá todas as opções de <code>/elastic</code> disponíveis (Figura 3):</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt741c7451ecab10d2/6a17072ea6c2b9ccd6e79643/5b2a0727ce7a04354878dd048253d3f4d062324b-1983x230.png" alt="Os comandos '/elastic' disponíveis." /><p>Esses comandos podem ser úteis se você quiser executar diretamente uma ferramenta específica do servidor MCP.<code>elastic-agent-builder</code>  Por exemplo, usando o seguinte comando, você pode obter o mapeamento do <code>kibana_sample_data_ecommerce</code>:</p>/elastic:get-mapping kibana_sample_data_ecommerce<p>Esses comandos são essencialmente atalhos para executar ferramentas específicas, em vez de depender do modelo Gemini para determinar qual ferramenta deve ser usada.</p><h2>Como usar as habilidades do Elasticsearch</h2><p>Essa extensão também inclui uma <a href="https://github.com/elastic/gemini-cli-elasticsearch/tree/main/skills/esql">habilidade de agente para o ES|QL</a>, a <a href="https://www.elastic.co/docs/explore-analyze/discover/try-esql">Linguagem de Consulta Elasticsearch</a> disponível no Elasticsearch. <a href="https://agentskills.io/home">Agent Skills</a> é um formato aberto que fornece aos agentes de programação de IA, como o Gemini CLI, instruções personalizadas para tarefas específicas. Eles utilizam um conceito chamado <em>divulgação progressiva</em>, o que significa que apenas uma breve descrição da habilidade é adicionada ao prompt inicial do sistema. Quando você solicita que o agente execute uma tarefa, como consultar o Elasticsearch, ele associa a solicitação à habilidade relevante e carrega dinamicamente as instruções detalhadas. Essa é uma forma eficiente de gerenciar orçamentos de tokens enquanto fornece à IA exatamente o contexto que ela precisa.</p><p>A<strong> habilidade</strong> <strong><code>esql</code></strong>foi projetada para permitir que o Gemini CLI escreva e execute consultas ES|QL diretamente no seu cluster. ES|QL é uma poderosa linguagem de consulta encadeada que torna a exploração de dados, a análise de logs e as agregações altamente intuitivas. Com essa habilidade ativada, você não precisa pesquisar a sintaxe ES|QL; basta fazer perguntas em linguagem natural ao Gemini CLI sobre seus dados e o agente cuidará do resto.</p><p>As execuções são realizadas usando simples comandos <a href="https://curl.se/">curl</a> executados em um terminal. Isso é possível porque o Elasticsearch oferece um conjunto abrangente de APIs REST que podem ser facilmente usadas para integrar o sistema a qualquer arquitetura.</p><p><strong>O que a </strong><strong> habilidadeesqloferece:</strong></p><ul><li><p><strong>Descoberta de índices e esquemas:</strong> o agente pode usar as ferramentas integradas da habilidade para listar os índices disponíveis e buscar mapeamentos de campo. Por exemplo, antes de escrever uma consulta para o conjunto de dados de comércio eletrônico, o agente pode executar uma verificação de esquema em <strong><code>kibana_sample_data_ecommerce</code></strong> para entender os campos disponíveis, como <strong><code>taxful_total_price</code></strong> ou <strong><code>category</code></strong>.</p></li><li><p><strong>Tradução perfeita da linguagem natural:</strong> a habilidade dá ao agente mais do que um simples manual de referência; ela fornece um guia específico para interpretar a intenção do usuário. Quando você digita solicitações em linguagem natural, como "Mostrar tempo médio de resposta agrupado por serviço", o agente usa o padrão de correspondência da habilidade para traduzir instantaneamente suas palavras nas agregações, filtros e comandos ES|QL corretos.</p></li><li><p><strong>Autocorreção:</strong> Se uma consulta falhar (por exemplo, devido a uma incompatibilidade de tipo ou erro de sintaxe), a skill retorna a consulta gerada juntamente com a mensagem de erro exata do Elasticsearch, permitindo que o agente corrija instantaneamente a consulta e tente novamente sem que você precise intervir.</p></li></ul><p>Como a habilidade <code>esql</code> também está disponível como ferramenta no servidor MCP <code>elastic-agent-builder</code>, precisamos desativar esse servidor momentaneamente. Você pode usar o seguinte comando para desativá-lo:</p>/mcp disable elastic-agent-builder<p>Em seguida, você pode simplesmente digitar um prompt como esse em sua Gemini CLI:</p>Find the top 5 product categories by total sales revenue in the kibana_sample_data_ecommerce index<p>O agente irá:</p><ul><li><p>Reconheça a necessidade da habilidade <code>esql</code> .</p></li><li><p>Verifique o esquema do <strong><code>kibana_sample_data_ecommerce</code></strong>.</p></li><li><p>Crie uma consulta 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>Execute a consulta na API do Elasticsearch.</p></li><li><p>Apresente a resposta final para você diretamente no terminal.</p></li></ul><p>Aqui, apresentamos um exemplo de resposta do Gemini ao prompt 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>É interessante notar como o modelo Gemini gera a resposta final mostrando todos os passos que ele segue. Aqui, você pode ver claramente a influência da habilidade no processo de raciocínio do modelo. Na primeira vez que o modelo reconhece que precisa usar uma habilidade ou executar um comando shell, ele solicita permissão usando a abordagem baseada em intervenção humana.</p><p>Ao lidar com o trabalho pesado de descoberta de esquema, geração de consultas e execução, a habilidade <code>esql</code> permite que você se concentre inteiramente nas respostas, em vez da mecânica de obtê-las. Você obterá os dados de que precisa, formatados corretamente e diretamente no seu terminal, tudo isso sem precisar escrever uma única linha de código ou alternar para outro aplicativo.</p><h2>Conclusão</h2><p>Neste artigo, apresentamos a extensão Elasticsearch para Gemini CLI que lançamos recentemente. Essa extensão oferece a você a capacidade de interagir com a instância do Elasticsearch usando o Gemini e o servidor Elasticsearch MCP fornecido pelo Elastic Agent Builder, disponível a partir da versão 9.3.0, bem como o comando <code>/elastic</code>.</p><p>Além disso, a extensão também inclui uma habilidade <code>esql</code> que converte a solicitação do usuário de linguagem natural em uma consulta ES|QL. Essa habilidade pode ser particularmente útil quando o servidor MCP não pode ser usado, pois a comunicação subjacente é conduzida por comandos curl simples executados em um terminal. O Elasticsearch oferece um conjunto abrangente de APIs REST que podem ser facilmente integradas a qualquer projeto. Isso é especialmente útil ao desenvolver aplicações de IA agêntica.</p><p>Para mais informações sobre nossa extensão Gemini CLI, acesse o repositório do projeto <a href="https://github.com/elastic/gemini-cli-elasticsearch">aqui</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[Integrações]]></category>
    <category><![CDATA[IA Agêntica]]></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>