elasticsearch-mcp
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 -qRelated 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Инструменты
Запросы
Инструмент | Что делает |
| Выполняет Query DSL. Размер ограничен, таймаут подставляется автоматически, глубокая пагинация отклоняется, поддерживается |
| Преобразует структурированное описание в корректный DSL, проверяет его по индексу и возвращает каталог полей |
|
|
| Подсчёт совпадений без получения самих документов |
Диагностика
Инструмент | Что делает |
| Статус, число шардов, отложенные задачи; опционально heap/disk/CPU/отказы по каждому узлу |
| По каждому индексу: документы, хранилище, сегменты, средняя задержка запросов и индексации, слияния (merges) |
|
|
| Индексы, отсортированные по средней задержке запросов, выполняющиеся поисковые задачи, отказы thread pool, пороги slowlog |
Маппинг
Инструмент | Что делает |
| Индексы и алиасы с количеством документов и размером |
| Плоский каталог |
| Вывод токенов анализатора для отладки match-запросов с нулевыми найденными |
| Дополняющие изменения маппинга (только с разрешением на запись) |
Операции
Инструмент | Описание |
| Инвентаризация снимков и их прогресс |
| Снимок выбранных индексов, асинхронно по умолчанию |
| Восстановление с предварительной проверкой на существующие открытые индексы; с поддержкой переименования |
| Асинхронное переиндексирование с query, pipeline, script, slicing и троттлингом; возвращает task id |
| Опрос статуса или отмена длительных задач |
| Версия, дистрибутив и действующая политика безопасности |
Конфигурация
Все переменные используют префикс ES_MCP_ и читаются из окружения или файла .env.
Переменная | По умолчанию | Назначение |
|
| Через запятую; позволяет отказоустойчивое переключение между узлами |
| – | Выберите один из способов аутентификации |
|
| TLS |
|
| Повторы покрывают коды 429/502/503/504 и ошибки подключения, с дрожащей задержкой (jitter) и |
|
| Главный переключатель для всех инструментов записи |
|
| Второй рубеж для restore, reindex, put_mapping |
|
| Glob-список разрешённых индексов |
|
| Glob-список запрещённых индексов; запрет имеет приоритет |
|
| Ограничения количества результатов |
|
| Отсекает «взрыв» количества bucket'ов |
|
| Ограничения для каждого запроса |
|
| Контроль числа токенов |
| не задан | JSONL-запись каждого вызова инструмента и его результата |
|
| Логи идут в stderr и никогда не в stdout (stdio-транспорт) |
Модель безопасности
Четыре независимых уровня, все закрыты по умолчанию (fail closed):
Политика индексов — список разрешённых и список запрещённых проверяются при каждом вызове; запрет всегда побеждаетзапрет; запись по wildcard на весь кластер отклоняется.
Только чтение — инструменты записи отклоняют выполнение, пока не установлено
READ_ONLY=false.Деструктивные операции — restore, reindex и put_mapping дополнительно требуют
ALLOW_DESTRUCTIVE=trueи явного аргументаconfirm=trueв самом вызове.Лимиты запросов — ограничение размера выдачи, предел числа 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 для вывода, чтобы лимиты применялись автоматически.
Maintenance
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
- AlicenseBqualityCmaintenanceAn 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.16Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables 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.
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with OpenSearch clusters for searching indices, retrieving mappings, and managing shards through the MCP protocol.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for exploring and searching OpenSearch clusters, enabling log analysis, index exploration, and query execution.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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