Elasticsearch MCP Server
Elasticsearch MCP Server предоставляет мост между клиентами MCP и вашими данными Elasticsearch, позволяя взаимодействовать с индексами через естественный язык. Сервер подключается к вашему кластеру Elasticsearch и обеспечивает доступ к данным с использованием протокола Model Context Protocol (MCP).
Основные возможности:
- Получение списка всех доступных индексов Elasticsearch
- Получение схемы полей для конкретного индекса
- Выполнение поисковых запросов с использованием DSL Elasticsearch
- Выполнение запросов ESQL
- Получение информации о шардах для всех или конкретных индексов
Технические требования:
- Экземпляр Elasticsearch версии 8.x или 9.x
- Учетные данные для аутентификации в Elasticsearch (API-ключ или имя пользователя/пароль)
- Клиент MCP (например, Claude Desktop или Goose)
- Docker для запуска контейнера сервера
Сервер поддерживает два протокола связи:
- stdio (рекомендуется для Claude Desktop)
- streamable-HTTP (рекомендуется для общего использования, поскольку SSE устарел)
Инструкция по запуску Elasticsearch MCP Server
- Создайте сервисный аккаунт и назначьте ему роль
lockbox.payloadViewer; - Создайте секрет в Lockbox с учетными данными для доступа к Elasticsearch:
- API-ключ Elasticsearch;
- либо имя пользователя и пароль Elasticsearch (для базовой аутентификации);
- В Marketplace найдите продукт
Elasticsearch MCP Serverи нажмите Установить; - В блоке Дополнительно укажите ранее созданный сервисный аккаунт;
- В блоке Конфигурация продукта:
- В поле Секрет Lockbox укажите ID созданного секрета;
- В поле адреса введите URL вашего кластера Elasticsearch;
- При необходимости включите пропуск проверки SSL/TLS сертификата;
- Выберите подсеть с настроенным доступом в Интернет и создайте группу безопасности с разрешенным портом
8080; - Создайте виртуальную машину;
- После установки:
- MCP сервер будет доступен по адресу
http://<IP адрес ВМ>:8080/mcp; - Для проверки работоспособности выполните тестовый запрос:
curl --location 'http://<IP адрес ВМ>:8080/mcp' \ --header 'Accept: application/json, text/event-stream' \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": { "name": "client", "version": "1.0.0" } } }'
- MCP сервер будет доступен по адресу
Взаимодействие с данными Elasticsearch через естественный язык
Сценарий: Получение списка всех индексов
Пользователь: «Покажи мне все доступные индексы Elasticsearch»
Система: «Вот список всех доступных индексов в вашем кластере Elasticsearch:
- customers
- products
- orders
- logs-2023
- logs-2024»
Сценарий: Анализ структуры данных
Пользователь: «Какие поля содержатся в индексе customers?»
Система: «Индекс customers содержит следующие поля:
- id (тип: keyword)
- name (тип: text)
- email (тип: keyword)
- age (тип: integer)
- address (тип: object)
- created_at (тип: date)»
Сценарий: Выполнение поисковых запросов
Пользователь: «Найди всех клиентов старше 30 лет, проживающих в Москве»
Система: «Я выполнил поиск по вашему запросу. Найдено 15 клиентов, соответствующих критериям. Вот первые 5 результатов:
- Иван Петров, 35 лет, email: ivan@example.com
- Мария Сидорова, 42 года, email: maria@example.com
- Алексей Иванов, 38 лет, email: alexey@example.com
- Екатерина Смирнова, 31 год, email: ekaterina@example.com
- Дмитрий Козлов, 45 лет, email: dmitry@example.com»
Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю. Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.
Yandex Cloud не предоставляет техническую поддержку продукта. При возникновении проблем обращайтесь к информационным ресурсам разработчика.