mshegolev/kibana-mcp
kibana-mcp
MCP-сервер для Kibana / Elasticsearch — поиск по логам, агрегация, обнаружение индексов и просмотр дашбордов через Claude и любой MCP-совместимый агент.
Почему еще один Kibana MCP?
Существующие интеграции требуют запущенного экземпляра Kibana с учетными данными уровня браузера и часто оборачивают UI Kibana, а не стабильные REST API. Этот сервер:
Обращается к Elasticsearch REST API напрямую для запросов к логам (быстрее, стабильнее при изменениях UI Kibana)
Переключается на прокси-сервер консоли Kibana, если прямой URL ES не настроен (не требует дополнительных правил брандмауэра)
Поддерживает ApiKey auth (лучший вариант для агентов), а также Basic auth и анонимный доступ
Возвращает как структурированный JSON (
outputSchema), так и текст в формате markdown, поэтому работает с любым MCP-клиентомРаботает только для чтения — все инструменты имеют
readOnlyHint: true, данные не изменяются
Инструменты
Инструмент | API | Описание |
|
| Обнаружение доступных индексов с информацией о состоянии, документах и размере |
|
| Полнотекстовый поиск по логам с указанием временного диапазона, сортировки и размера |
|
| Группировка по терминам с метриками count/avg/sum/min/max |
|
| Список сохраненных дашбордов с поиском и пагинацией |
|
| Получение одного дашборда с разбивкой по панелям |
Установка
pip install kibana-mcpИли запустите напрямую с помощью uvx:
uvx kibana-mcpКонфигурация
Переменные окружения
Переменная | Обязательно | Описание |
| Да | Базовый URL Kibana (например, |
| Нет | Прямая конечная точка ES. Если не задана, запросы ES идут через прокси-сервер консоли Kibana |
| Нет | Ключ API ES (формат |
| Нет | Имя пользователя для HTTP Basic auth (используется, если API key не задан) |
| Нет | Пароль для HTTP Basic auth |
| Нет |
|
Приоритет аутентификации: ApiKey > Basic > анонимный.
Скопируйте .env.example в .env и заполните своими значениями.
Конфигурация 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"
}
}
}
}Или с прямым доступом к ES для лучшей производительности:
{
"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-mcpПримеры использования
Поиск по логам
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)
Агрегации
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")
Обнаружение индексов
What log indices are available?→ kibana_list_indices()
Show me all filebeat indices→ kibana_list_indices(pattern="filebeat-*")
Дашборды
Find the infrastructure dashboard→ kibana_list_dashboards(search="infrastructure")
What panels does dashboard X have?→ kibana_get_dashboard(dashboard_id="<id from list_dashboards>")
Характеристики производительности
Поиск по логам (
kibana_search_logs): обычно 50-500 мс при прямом URL ES; добавьте 100-200 мс при маршрутизации через прокси-сервер консоли KibanaАгрегации (
kibana_aggregate_logs): запросыsize:0— данные не передаются, обычно 10-100 мсСписок индексов: один вызов
_cat/indices, ответ O(количество_индексов), обычно <100 мсAPI дашбордов: Kibana Saved Objects API, обычно 50-200 мс; задержка на стороне Kibana, а не сети
Установите
ELASTICSEARCH_URLнапрямую, если ваш агент часто выполняет поиск по логам — это устраняет накладные расходы прокси-сервера
Разработка
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 testsЛицензия
MIT — см. 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