Skip to main content
Glama
baburajr

elasticsearch-mcp

by baburajr

elasticsearch-mcp

MCP-сервер для Elasticsearch, построенный напрямую на REST API (без зависимости elasticsearch-py, поэтому он также работает и c OpenSearch, и с управляемыми кластерами, где доступен только HTTP).

21 инструмент, охватывающий запросы, диагностику, маппинг и операции с кластером. По умолчанию — режим только чтения; каждый путь записи защищён проверками.

Установка

git clone <your-repo> elasticsearch-mcp && cd elasticsearch-mcp
uv sync            # or: pip install -e ".[dev]"
cp .env.example .env
pytest -q

Related MCP server: OpenSearch MCP Server

Подключение к Claude Code / Claude Desktop

{
  "mcpServers": {
    "elasticsearch": {
      "command": "uv",
      "args": ["--directory", "/abs/path/elasticsearch-mcp", "run", "elasticsearch-mcp"],
      "env": {
        "ES_MCP_HOSTS": "https://es.internal:9200",
        "ES_MCP_API_KEY": "base64-encoded-api-key",
        "ES_MCP_INDEX_ALLOW": "logs-*,metrics-*",
        "ES_MCP_READ_ONLY": "true"
      }
    }
  }
}

Удалённое или совместное развертывание вместо stdio:

elasticsearch-mcp --transport streamable-http

Инструменты

Запросы

Инструмент

Что делает

run_query

Выполняет Query DSL. Размер ограничен, таймаут подставляется автоматически, глубокая пагинация отклоняется, поддерживается search_after

generate_dsl

Преобразует структурированное описание в корректный DSL, проверяет его по индексу и возвращает каталог полей

explain_query

_validate?rewrite=true + разбивка по времени profile + _explain по каждому документу

count_docdocuments

Подсчёт совпадений без получения самих документов

Диагностика

Инструмент

Что делает

cluster_health

Статус, число шардов, отложенные задачи; опционально heap/disk/CPU/отказы по каждому узлу

index_health

По каждому индексу: документы, хранилище, сегменты, средняя задержка запросов и индексации, слияния (merges)

shard_allocation

_cat/shards плюс причины решений _cluster/allocation/explain для неназначенных шардов

find_slow_queries

Индексы, отсортированные по средней задержке запросов, выполняющиеся поисковые задачи, отказы thread pool, пороги slowlog

Маппинг

Инструмент

Что делает

list_indices

Индексы и алиасы с количеством документов и размером

get_mapping

Плоский каталог field path -> type, включая multi-поля

analyze_text

Вывод токенов анализатора для отладки match-запросов с нулевыми найденными

put_mapping

Дополняющие изменения маппинга (только с разрешением на запись)

Операции

Инструмент

Описание

list_snapshot_repositories, list_snapshots, snapshot_status

Инвентаризация снимков и их прогресс

create_snapshot

Снимок выбранных индексов, асинхронно по умолчанию

restore_snapshot

Восстановление с предварительной проверкой на существующие открытые индексы; с поддержкой переименования

reindex

Асинхронное переиндексирование с query, pipeline, script, slicing и троттлингом; возвращает task id

get_task, cancel_task

Опрос статуса или отмена длительных задач

cluster_info

Версия, дистрибутив и действующая политика безопасности

Конфигурация

Все переменные используют префикс ES_MCP_ и читаются из окружения или файла .env.

Переменная

По умолчанию

Назначение

HOSTS

http://localhost:9200

Через запятую; позволяет отказоустойчивое переключение между узлами

API_KEYY / USERNAME+PASSWORD / BEARER_TOKEN

Выберите один из способов аутентификации

VERIFY_CERTS, CA_CERTS, CLIENT_CERT, CLIENT_KEY

true

TLS

REQUEST_TIMEOUT, CONNECT_TIMEOUT, MAX_RETRIES

30, 10, 3

Повторы покрывают коды 429/502/503/504 и ошибки подключения, с дрожащей задержкой (jitter) и Retry-After

READ_ONLY

true

Главный переключатель для всех инструментов записи

ALLOW_DESTRUCTIVE

false

Второй рубеж для restore, reindex, put_mapping

INDEX_ALLOW

*

Glob-список разрешённых индексов

INDEX_DENY

.*,security-*

Glob-список запрещённых индексов; запрет имеет приоритет

DEFAULT_SIZE, MAX_RESULT_SIZE

10, 200

Ограничения количества результатов

MAX_AGG_BUCKETS

1000

Отсекает «взрыв» количества bucket'ов

SEARCH_TIMEOUT, TERMINATE_AFTER

30s, не задан

Ограничения для каждого запроса

MAX_RESPONSE_CHARS, MAX_SOURCE_CHARS

60000, 2000

Контроль числа токенов

AUDIT_LOG_PATH

не задан

JSONL-запись каждого вызова инструмента и его результата

LOG_LEVEL

INFO

Логи идут в stderr и никогда не в stdout (stdio-транспорт)

Модель безопасности

Четыре независимых уровня, все закрыты по умолчанию (fail closed):

  1. Политика индексов — список разрешённых и список запрещённых проверяются при каждом вызове; запрет всегда побеждаетзапрет; запись по wildcard на весь кластер отклоняется.

  2. Только чтение — инструменты записи отклоняют выполнение, пока не установлено READ_ONLY=false.

  3. Деструктивные операции — restore, reindex и put_mapping дополнительно требуют ALLOW_DESTRUCTIVE=true и явного аргумента confirm=true в самом вызове.

  4. Лимиты запросов — ограничение размера выдачи, предел числа bucket'ов, предел глубины вложенности агрегаций, отклонение глубокой пагинации, подставляемый таймаут поиска.

Инструменты возвращают ошибки в виде читаемого текста (ERROR (run_query): ...) вместо выброса исключения, чтобы модель могла сама исправиться, а не останавливаться.

Рекомендуемая конфигурация для продакшена: отдельный ES API-ключ с правом read ровно на разрешённых индексах, READ_ONLY=true, и лишь при реальной необходимости — отдельный инстанс с разрешённой записью, если нужен reindex/restore.

Расширение

Добавьте модуль в src/es_mcp/tools/, экспонируйте register(server, ctx), подключите его в server.build_server. Используйте ctx.guard для проверок политик и ctx.render для вывода, чтобы лимиты применялись автоматически.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that enables interaction with Elasticsearch and OpenSearch clusters for searching documents and managing indices. It provides tools for cluster health monitoring, index configuration, and general API requests.
    16
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to interact with OpenSearch clusters to monitor cluster health, manage indices, and perform data searches. It provides a standardized interface for real-time OpenSearch operations within MCP-compatible environments like Open WebUI.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to interact with OpenSearch clusters for searching indices, retrieving mappings, and managing shards through the MCP protocol.
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Read-only MCP server for exploring and searching OpenSearch clusters, enabling log analysis, index exploration, and query execution.
    MIT

View all related MCP servers

Related MCP Connectors

  • Search, document and execute authenticated API calls across 700+ apps via one MCP server

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • Read-only Remote MCP for externally grounded AI agent trust receipts.

View all MCP Connectors

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/baburajr/elasticsearch_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server