Elasticsearch MCP: поиск и индексы через агента в Claude Code и Cursor

cr7258/elasticsearch-mcp-server· Проверено 12.11.2026· 317на GitHub

Подключает агента к кластеру Elasticsearch: список индексов и маппингов, поиск на query DSL и ES|QL. Сторонние серверы добавляют запись документов, алиасы и управление индексами.

3 реализации:

Самый широкий набор из 20 инструментов: индексы, документы, алиасы, data streams и запрос к любому API; работает и с OpenSearch, запись отключается одной переменной.

Как подключить

Что сделать до подключения

1

uv с командой uvx

2

Кластер Elasticsearch 7.x, 8.x или 9.x и API-ключ или логин с паролем

3
ELASTICSEARCH_API_KEY

API-ключ Elasticsearch или Elastic Cloud; вместо него можно задать ELASTICSEARCH_USERNAME и ELASTICSEARCH_PASSWORD

4
ELASTICSEARCH_HOSTS

адрес кластера, несколько узлов через запятую; по умолчанию https://localhost:9200

Конфиг для вашего клиента

Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code

claude mcp add --env ELASTICSEARCH_HOSTS=https://localhost:9200 --env 'ELASTICSEARCH_API_KEY=<ваш API-ключ Elasticsearch>' --transport stdio elasticsearch \
  -- uvx elasticsearch-mcp-server

Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.

Инструменты сервера

list_indicesпоказывает все индексы
get_indexчитает маппинг, настройки и алиасы
create_indexсоздаёт индекс
delete_indexудаляет индекс
search_documentsищет документы
get_documentчитает документ по ID
index_documentсоздаёт или обновляет документ
delete_documentудаляет документ по ID
delete_by_queryудаляет документы по запросу
get_cluster_healthпоказывает здоровье кластера
get_cluster_statsсобирает статистику кластера
list_aliasesпоказывает все алиасы
get_aliasчитает алиасы индекса
put_aliasсоздаёт или меняет алиас
delete_aliasудаляет алиас
create_data_streamсоздаёт data stream
get_data_streamчитает data stream
delete_data_streamудаляет data stream
analyze_textразбирает текст анализатором
general_api_requestшлёт запрос к любому API

Что попросить агента

«Какое состояние у моего кластера Elasticsearch?»Агент вызовет get_cluster_health у cr7258 или elasticsearch_health у awesimon
«Покажи маппинг полей индекса <индекс>»Агент вызовет get_mappings или get_index и перечислит поля с типами
«Найди заказы дороже <сумма> за прошлый месяц»Агент найдёт индекс через list_indices, посмотрит поля в get_mappings и соберёт запрос для search
«Создай индекс <имя> с 3 шардами и 1 репликой»Агент вызовет create_index с настройками шардов и реплик
«Перенеси данные из <старый индекс> в <новый индекс>»awesimon вызовет reindex с исходным и целевым индексом

Для каких задач

Найти документы в индексе запросом на query DSL или ES|QL
Показать индексы и маппинг полей перед тем, как писать запрос
Проверить здоровье кластера и распределение шардов
Создать индекс, маппинг или шаблон и загрузить данные пачкой
Разобрать, на какие токены анализатор режет текст, когда поиск не находит документ
Работать с кластером OpenSearch через тот же сервер cr7258

Ограничения

!

Сервер Elastic объявлен устаревшим: его заменил MCP-эндпоинт Elastic Agent Builder, доступный в Elastic 9.2.0 и новее и в Serverless-проектах

!

У cr7258 по умолчанию открыты запись и удаление, включая delete_by_query и general_api_request, а проверка SSL-сертификатов выключена (VERIFY_CERTS=false)

!

awesimon проверен только на Elasticsearch 8.x: 7.x и 9.x не тестировались, npm test проверяет лишь компиляцию TypeScript

!

В режиме HTTP сервер cr7258 без переменной MCP_API_KEY открыт любому, кто достучится до порта

Если не работает

Сервер подключён, но агент не получает данные из кластера
Проверьте, что адрес ES_URL доступен из контейнера, ключ действителен и имеет нужные права, а контейнер запустился: ошибки видны в docker logs <id контейнера>.
Claude Desktop не подключается к серверу Elastic в режиме HTTP
Бесплатный Claude Desktop понимает только stdio: поставьте mcp-proxy командой uv tool install mcp-proxy и укажите его в command с флагом --transport=streamablehttp и адресом http://<хост>:<порт>/mcp.

Какую реализацию выбрать

РеализацияКто делаетЗвёздыЗапускКлючИнструментыОбновлён
Elasticsearch/OpenSearch MCP Servercr7258317локальнотокен2011 ноября 2026
Elasticsearch MCP Serverawesimon24локальнотокен1112 ноября 2026
Elasticsearch MCP Serverразработчик сервисаElastic732локальнотокен56 ноября 2026

Частые вопросы

Какой из трёх серверов выбрать?
cr7258 подойдёт для работы с индексами, документами и алиасами, а также для OpenSearch. awesimon ставится из npm и умеет reindex и загрузку пачкой. Сервер Elastic только читает данные и понимает ES|QL, но больше не развивается.
Как запретить агенту удалять данные?
В cr7258 задайте DISABLE_HIGH_RISK_OPERATIONS=true: инструменты записи и удаления скроются от клиента. Отдельные инструменты отключаются списком в DISABLE_OPERATIONS. Для любого сервера выдайте API-ключ с правами только на чтение нужных индексов.
Что пришло на смену серверу Elastic?
MCP-эндпоинт Elastic Agent Builder. Он есть в Elastic 9.2.0 и новее и в проектах Elasticsearch Serverless.
Как подключить несколько кластеров к одному серверу?
В cr7258 задайте ELASTICSEARCH_CLUSTERS с JSON-описанием кластеров или ELASTICSEARCH_CLUSTERS_FILE с путём к такому файлу. Кластер по умолчанию выбирает DEFAULT_CLUSTER, остальные агент указывает параметром cluster.
Какой пакет cr7258 брать под Elasticsearch 7 или 9?
Пакет elasticsearch-mcp-server рассчитан на 8.x. Для 7.x запускайте elasticsearch-mcp-server-es7, для 9.x — elasticsearch-mcp-server-es9, для OpenSearch — opensearch-mcp-server.
Как подключить Elasticsearch MCP к Claude Code?
Откройте вкладку Claude Code в блоке «Как подключить». Сервер cr7258 запускается командой uvx elasticsearch-mcp-server с переменными ELASTICSEARCH_HOSTS и ELASTICSEARCH_API_KEY.
Где Elasticsearch MCP на GitHub?
Сервер Elastic лежит в репозитории elastic/mcp-server-elasticsearch, образ — docker.elastic.co/mcp/elasticsearch. Сторонние: cr7258/elasticsearch-mcp-server на PyPI и awesimon/elasticsearch-mcp в npm как @awesome-ai/elasticsearch-mcp.
Есть ли Elasticsearch MCP для OpenSearch?
Да, у cr7258 есть пакет opensearch-mcp-server для OpenSearch 1.x, 2.x и 3.x. Он берёт переменные OPENSEARCH_HOSTS, OPENSEARCH_USERNAME и OPENSEARCH_PASSWORD.
Работает ли сервер из России?
Серверы запускаются на вашем компьютере или в Docker и обращаются только к вашему кластеру, данные остаются в нём.

Похожие серверы