mshegolev/kibana-mcp
kibana-mcp
Servidor MCP para Kibana / Elasticsearch: búsqueda de registros, agregaciones, descubrimiento de índices y navegación por paneles a través de Claude y cualquier agente compatible con MCP.
¿Por qué otro MCP para Kibana?
Las integraciones existentes requieren una instancia de Kibana en ejecución con credenciales a nivel de navegador y, a menudo, envuelven la interfaz de usuario de Kibana en lugar de utilizar las API REST estables. Este servidor:
Accede directamente a la API REST de Elasticsearch para consultas de registros (más rápido, estable ante cambios en la interfaz de Kibana)
Recurre al proxy de la consola de Kibana cuando no hay una URL de ES directa configurada (cero reglas de firewall adicionales)
Admite autenticación ApiKey (ideal para agentes), así como autenticación básica y acceso anónimo
Devuelve tanto JSON estructurado (
outputSchema) como texto en formato markdown para que funcione con cualquier cliente MCPEs de solo lectura: todas las herramientas incluyen
readOnlyHint: true, no se modifican datos
Herramientas
Herramienta | API | Descripción |
|
| Descubre índices disponibles con estado, documentos y tamaño |
|
| Búsqueda de registros de texto completo con rango de tiempo, orden y tamaño |
|
| Agrupación por términos con métricas de conteo/promedio/suma/mínimo/máximo |
|
| Lista paneles guardados con búsqueda y paginación |
|
| Obtiene un panel con desglose de paneles |
Instalación
pip install kibana-mcpO ejecútalo directamente con uvx:
uvx kibana-mcpConfiguración
Variables de entorno
Variable | Requerido | Descripción |
| Sí | URL base de Kibana (ej. |
| No | Endpoint directo de ES. Si no se establece, las solicitudes de ES pasan por el proxy de la consola de Kibana |
| No | Clave API de ES (formato |
| No | Nombre de usuario para autenticación HTTP básica (usado si no se establece la clave API) |
| No | Contraseña para autenticación HTTP básica |
| No |
|
Prioridad de autenticación: ApiKey > Básica > Anónima.
Copia .env.example a .env y rellena tus valores.
Configuración del cliente MCP (Claude Desktop / claude.app)
{
"mcpServers": {
"kibana": {
"command": "uvx",
"args": ["kibana-mcp"],
"env": {
"KIBANA_URL": "https://kibana.example.com",
"KIBANA_API_KEY": "your-api-key-here"
}
}
}
}O con acceso directo a ES para un mejor rendimiento:
{
"mcpServers": {
"kibana": {
"command": "uvx",
"args": ["kibana-mcp"],
"env": {
"KIBANA_URL": "https://kibana.example.com",
"ELASTICSEARCH_URL": "https://es.example.com:9200",
"KIBANA_API_KEY": "your-api-key-here"
}
}
}
}Docker
docker run --rm -i \
-e KIBANA_URL=https://kibana.example.com \
-e KIBANA_API_KEY=your-key \
ghcr.io/mshegolev/kibana-mcpEjemplos de uso
Búsqueda de registros
Find the last 50 ERROR logs from the API service in the last hour→ kibana_search_logs(index="logs-*", query="level:ERROR AND service:api", size=50, time_from="2026-04-18T09:00:00Z")
Show 500 HTTP errors sorted oldest first for incident replay→ kibana_search_logs(index="nginx-*", query="status:500", sort_order="asc", size=100)
Agregaciones
How many logs per log level in the last hour?→ kibana_aggregate_logs(index="logs-*", group_by="level", time_from="2026-04-18T09:00:00Z")
What is the average response time per service?→ kibana_aggregate_logs(index="logs-*", group_by="service.keyword", metric="avg", metric_field="response_time_ms")
Descubrimiento de índices
What log indices are available?→ kibana_list_indices()
Show me all filebeat indices→ kibana_list_indices(pattern="filebeat-*")
Paneles
Find the infrastructure dashboard→ kibana_list_dashboards(search="infrastructure")
What panels does dashboard X have?→ kibana_get_dashboard(dashboard_id="<id from list_dashboards>")
Características de rendimiento
Búsqueda de registros (
kibana_search_logs): normalmente 50-500ms con URL de ES directa; añade 100-200ms al enrutar a través del proxy de la consola de KibanaAgregaciones (
kibana_aggregate_logs): consultassize:0— no se transfieren resultados, generalmente 10-100msListado de índices: una sola llamada
_cat/indices, respuesta O(index_count), generalmente <100msAPI de paneles: API de objetos guardados de Kibana, generalmente 50-200ms; la latencia es del lado de Kibana, no de la red
Establece
ELASTICSEARCH_URLdirectamente si tu agente realiza búsquedas de registros frecuentes — elimina la sobrecarga del proxy
Desarrollo
git clone https://github.com/mshegolev/kibana-mcp
cd kibana-mcp
pip install -e '.[dev]'
pytest tests/ -v
ruff check src tests
ruff format src testsLicencia
MIT — ver LICENSE.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mshegolev/kibana-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server