Kibana MCP Server
Acesse e interaja com sua instância do Kibana usando linguagem natural ou solicitações programáticas.
Documentação
Kibana MCP Server
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ável | Descrição | Exemplo |
|---|---|---|
KIBANA_URL | Endereço do servidor Kibana | http://localhost:5601 |
Autenticação (escolha um método)
| Variável | Descrição | Prioridade |
|---|---|---|
KIBANA_API_KEY | Chave de API (codificada em base64) | 1ª |
KIBANA_USERNAME + KIBANA_PASSWORD | Autenticação básica | 2ª |
KIBANA_COOKIES | Cookies de sessão | 3ª |
Variáveis Opcionais
| Variável | Descrição | Padrão |
|---|---|---|
KIBANA_DEFAULT_SPACE | Espaço padrão do Kibana | default |
KIBANA_CA_CERT | Caminho do certificado CA | - |
KIBANA_TIMEOUT | Tempo limite de solicitação (ms) | 60000 |
MCP_TRANSPORT | Modo de transporte | stdio |
MCP_HTTP_PORT | Porta do servidor HTTP | 3000 |
MCP_HTTP_HOST | Host do servidor HTTP | localhost |
NODE_TLS_REJECT_UNAUTHORIZED | Desativar validação SSL | 1 |
🛠️ Ferramentas Disponíveis
Ferramentas Base
get_status- Obter status do servidor Kibanaexecute_kb_api- Executar solicitações personalizadas à API do Kibanaget_available_spaces- Listar espaços disponíveis do Kibanasearch_kibana_api_paths- Pesquisar endpoints da APIlist_all_kibana_api_paths- Listar todos os endpoints da APIget_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 salvovl_create_saved_object- Criar novo objeto salvovl_update_saved_object- Atualizar um único objeto salvovl_bulk_update_saved_objects- Operações de atualização em lotevl_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 salvosanalyze_deletion_impact- Verificar impacto antes da exclusãocheck_dashboard_health- Verificação de saúde do dashboardscan_all_dashboards_health- Verificação de saúde em lote
📖 Recursos
| URI do Recurso | Descrição |
|---|---|
kibana-api://paths | Listar 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
- NPM: @tocharianou/mcp-server-kibana
- GitHub: TocharianOU/mcp-server-kibana
- Node.js: >= 18.0.0
- Licença: Apache 2.0
🤝 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.
