Kibana MCP Server

Acesse e interaja com sua instância do Kibana usando linguagem natural ou solicitações programáticas.

Documentação

MseeP.ai Security Assessment Badge

Kibana MCP Server

npm version Downloads Ask DeepWiki

Uma implementação de servidor MCP do Kibana que permite que qualquer cliente compatível com MCP (como o Claude Desktop) acesse sua instância do Kibana por meio de linguagem natural ou solicitações programáticas.

Este projeto é baseado na documentação oficial da API do Elastic Kibana e usa a especificação OpenAPI YAML do Elastic Stack 8.x. Para detalhes, consulte a documentação da API do Kibana.

Este projeto é mantido pela comunidade e não é um produto oficial da Elastic ou do MCP.

💡 Projeto Complementar: Para integração completa com o Elastic Stack, combine este com o Elasticsearch MCP Server para operações diretas de dados no Elasticsearch.


🚀 Instalação

# Global installation (recommended)
npm install -g @tocharianou/mcp-server-kibana

# Or use directly with npx
npx @tocharianou/mcp-server-kibana

A partir do código-fonte

git clone https://github.com/TocharianOU/mcp-server-kibana.git
cd mcp-server-kibana
npm install && npm run build

🎯 Início Rápido

Integração com Claude Desktop (Recomendado)

Adicione ao arquivo de configuração do seu Claude Desktop:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "kibana": {
      "command": "npx",
      "args": ["@tocharianou/mcp-server-kibana"],
      "env": {
        "KIBANA_URL": "http://your-kibana-server:5601",
        "KIBANA_API_KEY": "your-api-key",
        "KIBANA_DEFAULT_SPACE": "default"
      }
    }
  }
}

Uso direto via CLI

# Using API Key (recommended)
KIBANA_URL=http://localhost:5601 \
KIBANA_API_KEY=your-api-key \
npx @tocharianou/mcp-server-kibana

# Using Basic Auth
KIBANA_URL=http://localhost:5601 \
KIBANA_USERNAME=your-username \
KIBANA_PASSWORD=your-password \
npx @tocharianou/mcp-server-kibana

# Using Cookie Auth
KIBANA_URL=http://localhost:5601 \
KIBANA_COOKIES="sid=xxx; security-session=yyy" \
npx @tocharianou/mcp-server-kibana

Modo HTTP (Acesso Remoto)

MCP_TRANSPORT=http \
MCP_HTTP_PORT=3000 \
KIBANA_URL=http://localhost:5601 \
KIBANA_API_KEY=your-api-key \
npx @tocharianou/mcp-server-kibana

Acesse em: http://localhost:3000/mcp
Verificação de saúde: http://localhost:3000/health


✨ Recursos

Capacidades Principais

  • Modos de transporte duplos: Stdio (local) e HTTP (acesso remoto)
  • Múltiplos métodos de autenticação: Chave de API, Autenticação Básica, baseada em cookies
  • Suporte a múltiplos espaços: Gerenciamento de espaços do Kibana pronto para empresas
  • Suporte SSL/TLS: Configuração de certificado CA personalizado
  • Gerenciamento de sessão: Geração automática de UUID para modo HTTP
  • Descoberta dinâmica de API: Baseada na especificação oficial do OpenAPI do Kibana

Gerenciamento de Objetos Salvos

  • Operações CRUD completas para todos os tipos de objetos salvos do Kibana
  • Busca inteligente com suporte a paginação
  • Operações em lote para atualizações em massa eficientes
  • Controle de versão com concorrência otimista
  • Gerenciamento de referências para relacionamentos entre objetos

🔧 Configuração

Variáveis Obrigatórias

VariávelDescriçãoExemplo
KIBANA_URLEndereço do servidor Kibanahttp://localhost:5601

Autenticação (escolha um método)

VariávelDescriçãoPrioridade
KIBANA_API_KEYChave de API (codificada em base64)1ª
KIBANA_USERNAME + KIBANA_PASSWORDAutenticação básica2ª
KIBANA_COOKIESCookies de sessão3ª

Variáveis Opcionais

VariávelDescriçãoPadrão
KIBANA_DEFAULT_SPACEEspaço padrão do Kibanadefault
KIBANA_CA_CERTCaminho do certificado CA-
KIBANA_TIMEOUTTempo limite de solicitação (ms)60000
MCP_TRANSPORTModo de transportestdio
MCP_HTTP_PORTPorta do servidor HTTP3000
MCP_HTTP_HOSTHost do servidor HTTPlocalhost
NODE_TLS_REJECT_UNAUTHORIZEDDesativar validação SSL1

🛠️ Ferramentas Disponíveis

Ferramentas Base

  • get_status - Obter status do servidor Kibana
  • execute_kb_api - Executar solicitações personalizadas à API do Kibana
  • get_available_spaces - Listar espaços disponíveis do Kibana
  • search_kibana_api_paths - Pesquisar endpoints da API
  • list_all_kibana_api_paths - Listar todos os endpoints da API
  • get_kibana_api_detail - Obter detalhes de um endpoint da API

Ferramentas de Objetos Salvos

  • vl_search_saved_objects - Pesquisar objetos salvos (universal)
  • vl_get_saved_object - Obter um único objeto salvo
  • vl_create_saved_object - Criar novo objeto salvo
  • vl_update_saved_object - Atualizar um único objeto salvo
  • vl_bulk_update_saved_objects - Operações de atualização em lote
  • vl_bulk_delete_saved_objects - Operações de exclusão em lote

Tipos de Objetos Suportados: dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element

Ferramentas de Análise (v0.6.0+)

  • analyze_object_dependencies - Analisar dependências de objetos salvos
  • analyze_deletion_impact - Verificar impacto antes da exclusão
  • check_dashboard_health - Verificação de saúde do dashboard
  • scan_all_dashboards_health - Verificação de saúde em lote

📖 Recursos

URI do RecursoDescrição
kibana-api://pathsListar todos os endpoints disponíveis da API
kibana-api://paths?search=<keyword>Pesquisar endpoints por palavra-chave
kibana-api://path/{method}/{encoded_path}Obter detalhes de um endpoint específico

💬 Exemplos de Consultas

Operações Básicas

  • "Qual é o status do meu servidor Kibana?"
  • "Liste todos os espaços disponíveis do Kibana"
  • "Mostre-me todos os endpoints da API relacionados a dashboards"

Objetos Salvos

  • "Pesquise todos os dashboards"
  • "Encontre visualizações contendo 'nginx' no título"
  • "Crie um novo dashboard chamado 'Visão Geral de Vendas'"
  • "Atualize a descrição do dashboard 'my-dashboard-123'"
  • "Exclua vários dashboards pelos seus IDs"

Saúde e Análise

  • "Verifique a saúde do dashboard 'overview'"
  • "Analise dependências da visualização 'viz-123'"
  • "Verifique todos os dashboards em busca de problemas de saúde"

🐛 Solução de Problemas

Problemas de Conexão

  • Verifique se a URL do Kibana está acessível
  • Verifique as credenciais de autenticação
  • Para problemas de SSL: NODE_TLS_REJECT_UNAUTHORIZED=0 (use com cautela)

Problemas com Claude Desktop

  • Reinicie o Claude Desktop após alterações de configuração
  • Valide a sintaxe JSON da configuração
  • Verifique os logs do console para erros

Erros Comuns

  • "import: command not found": Atualize para a versão mais recente
  • Falha na autenticação: Verifique as credenciais e permissões
  • Erros de SSL: Verifique o certificado CA ou desative a validação SSL

🔍 Depuração

Use o MCP Inspector para depuração:

npm run inspector

Isso fornece uma interface de depuração acessível pelo navegador.


📦 Informações do Pacote


🤝 Contribuição

Este projeto é mantido pela comunidade. Contribuições e feedback são bem-vindos!

Siga o Código de Conduta da Comunidade Elastic em todas as comunicações.


📄 Licença

Licença Apache 2.0 - Consulte o arquivo LICENSE para detalhes.