# elasticsearch-mcp-server

Даёт агенту инструменты для работы с Elasticsearch и OpenSearch: поиск документов, просмотр индексов и управление кластером. Подходит для задач с данными из поискового хранилища.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 313
- Автор: cr7258
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/cr7258/elasticsearch-mcp-server
- Обновлён: 2026-10-19
- HTML: https://affpapa.org/nevibecode/mcp/elasticsearch-mcp-server

## Что делает

Сервер предоставляет инструменты для поиска, чтения, добавления и удаления документов. Агент также может просматривать индексы и алиасы, создавать индексы и потоки данных, проверять состояние кластера и анализировать токенизацию текста. Для запросов к API без отдельного инструмента есть общий HTTP-запрос.

Подключение настраивается через переменные окружения: можно задать адреса хостов, имя пользователя и пароль либо API-ключ Elasticsearch. Сервер поддерживает несколько именованных кластеров; конфигурацию можно передать JSON-строкой или указать путь к JSON-файлу. Вызов инструмента может выбрать кластер параметром `cluster`.

Для HTTP-транспорта без `MCP_API_KEY` сервер доступен без аутентификации, поэтому при сетевом доступе ключ нужно настроить. В Claude Code сервер запускается через `uvx`; для подключения задайте параметры доступа к вашему кластеру.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `ELASTICSEARCH_HOSTS`, `ELASTICSEARCH_API_KEY`, `ELASTICSEARCH_USERNAME`, `ELASTICSEARCH_PASSWORD`, `ELASTICSEARCH_VERIFY_CERTS` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env ELASTICSEARCH_HOSTS=<ELASTICSEARCH_HOSTS> --env ELASTICSEARCH_API_KEY=<ELASTICSEARCH_API_KEY> --env ELASTICSEARCH_USERNAME=<ELASTICSEARCH_USERNAME> --env ELASTICSEARCH_PASSWORD=<ELASTICSEARCH_PASSWORD> --env ELASTICSEARCH_VERIFY_CERTS=<ELASTICSEARCH_VERIFY_CERTS> --transport stdio elasticsearch-mcp-server -- uvx elasticsearch-mcp-server
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from elasticsearch-mcp-server <команда>

### Codex

**Командой платформы**
```bash
codex mcp add elasticsearch-mcp-server --env ELASTICSEARCH_HOSTS=<ELASTICSEARCH_HOSTS> --env ELASTICSEARCH_API_KEY=<ELASTICSEARCH_API_KEY> --env ELASTICSEARCH_USERNAME=<ELASTICSEARCH_USERNAME> --env ELASTICSEARCH_PASSWORD=<ELASTICSEARCH_PASSWORD> --env ELASTICSEARCH_VERIFY_CERTS=<ELASTICSEARCH_VERIFY_CERTS> -- uvx elasticsearch-mcp-server
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from elasticsearch-mcp-server <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "elasticsearch-mcp-server": {
            "command": "uvx",
            "args": [
                "elasticsearch-mcp-server"
            ],
            "env": {
                "ELASTICSEARCH_HOSTS": "<ELASTICSEARCH_HOSTS>",
                "ELASTICSEARCH_API_KEY": "<ELASTICSEARCH_API_KEY>",
                "ELASTICSEARCH_USERNAME": "<ELASTICSEARCH_USERNAME>",
                "ELASTICSEARCH_PASSWORD": "<ELASTICSEARCH_PASSWORD>",
                "ELASTICSEARCH_VERIFY_CERTS": "<ELASTICSEARCH_VERIFY_CERTS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from elasticsearch-mcp-server <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "elasticsearch-mcp-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "elasticsearch-mcp-server"
            ],
            "env": {
                "ELASTICSEARCH_HOSTS": "<ELASTICSEARCH_HOSTS>",
                "ELASTICSEARCH_API_KEY": "<ELASTICSEARCH_API_KEY>",
                "ELASTICSEARCH_USERNAME": "<ELASTICSEARCH_USERNAME>",
                "ELASTICSEARCH_PASSWORD": "<ELASTICSEARCH_PASSWORD>",
                "ELASTICSEARCH_VERIFY_CERTS": "<ELASTICSEARCH_VERIFY_CERTS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from elasticsearch-mcp-server <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e ELASTICSEARCH_HOSTS=<ELASTICSEARCH_HOSTS> -e ELASTICSEARCH_API_KEY=<ELASTICSEARCH_API_KEY> -e ELASTICSEARCH_USERNAME=<ELASTICSEARCH_USERNAME> -e ELASTICSEARCH_PASSWORD=<ELASTICSEARCH_PASSWORD> -e ELASTICSEARCH_VERIFY_CERTS=<ELASTICSEARCH_VERIFY_CERTS> elasticsearch-mcp-server uvx elasticsearch-mcp-server
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from elasticsearch-mcp-server <команда>

## Когда брать
- найти документы по запросу в Elasticsearch
- проверить маппинги и настройки индекса
- добавить или удалить документ по ID
- посмотреть состояние кластера и его статистику
- проверить, как анализатор разбивает текст на токены

## Примеры запросов агенту
- Найди в индексе `logs-*` документы с ошибками за указанный период.
- Покажи маппинги и настройки индекса `products`.
- Проанализируй текст указанным анализатором и покажи токены.

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
