Elasticsearch MCP Server

Official
by elastic

Integrations

  • Provides access to Elasticsearch indices, allowing users to list indices, inspect field mappings, and execute search queries using full Query DSL capabilities with automatic highlighting.

Сервер Elasticsearch MCP

Этот репозиторий содержит экспериментальные функции, предназначенные для исследований и оценки и не готовые к использованию в производстве.

Подключитесь к данным Elasticsearch напрямую из любого клиента MCP (например, Claude Desktop) с помощью протокола контекста модели (MCP).

Этот сервер подключает агентов к вашим данным Elasticsearch с помощью Model Context Protocol. Он позволяет вам взаимодействовать с вашими индексами Elasticsearch посредством разговоров на естественном языке.

Доступные инструменты

  • list_indices : Список всех доступных индексов Elasticsearch
  • get_mappings : Получить сопоставления полей для определенного индекса Elasticsearch
  • search : выполнить поиск Elasticsearch с предоставленным запросом DSL
  • get_shards : Получить информацию о шардах для всех или определенных индексов

Предпосылки

  • Экземпляр Elasticsearch
  • Учетные данные аутентификации Elasticsearch (ключ API или имя пользователя/пароль)
  • Клиент MCP (например, Claude Desktop)

Демо

https://github.com/user-attachments/assets/5dd292e1-a728-4ca7-8f01-1380d1bebe0c

Установка и настройка

Использование опубликованного пакета NPM

[!СОВЕТ] Самый простой способ использовать сервер Elasticsearch MCP — через опубликованный пакет npm.

  1. Настроить MCP-клиент
    • Откройте ваш MCP Client. Посмотрите список MCP Clients , здесь мы настраиваем Claude Desktop.
    • Перейдите в Настройки > Разработчик > Серверы MCP.
    • Нажмите Edit Config и добавьте новый сервер MCP со следующей конфигурацией:
    { "mcpServers": { "elasticsearch-mcp-server": { "command": "npx", "args": [ "-y", "@elastic/mcp-server-elasticsearch" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_API_KEY": "your-api-key" } } } }
  2. Начать разговор
    • Откройте новый разговор в вашем MCP Client
    • Сервер MCP должен подключиться автоматически.
    • Теперь вы можете задавать вопросы о своих данных Elasticsearch

Параметры конфигурации

Сервер Elasticsearch MCP поддерживает параметры конфигурации для подключения к Elasticsearch:

[!ПРИМЕЧАНИЕ] Для аутентификации необходимо предоставить либо ключ API, либо имя пользователя и пароль.

Переменная средыОписаниеНеобходимый
ES_URLURL вашего экземпляра ElasticsearchДа
ES_API_KEYКлюч API Elasticsearch для аутентификацииНет
ES_USERNAMEИмя пользователя Elasticsearch для базовой аутентификацииНет
ES_PASSWORDПароль Elasticsearch для базовой аутентификацииНет
ES_CA_CERTПуть к пользовательскому сертификату CA для Elasticsearch SSL/TLSНет

Развитие на местном уровне

[!ПРИМЕЧАНИЕ] Если вы хотите изменить или расширить сервер MCP, следуйте этим шагам локальной разработки.

  1. Используйте правильную версию Node.js
    nvm use
  2. Установить зависимости
    npm install
  3. Построить проект
    npm run build
  4. Запустить локально в приложении Claude Desktop
    • Открыть приложение Claude для ПК
    • Перейдите в Настройки > Разработчик > Серверы MCP.
    • Нажмите Edit Config и добавьте новый сервер MCP со следующей конфигурацией:
    { "mcpServers": { "elasticsearch-mcp-server-local": { "command": "node", "args": [ "/path/to/your/project/dist/index.js" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_API_KEY": "your-api-key" } } } }
  5. Отладка с помощью MCP Inspector
    ES_URL=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspector
    Это запустит MCP Inspector, позволяющий вам отлаживать и анализировать запросы. Вы должны увидеть:
    Starting MCP inspector... Proxy server listening on port 3000 🔍 MCP Inspector is up and running at http://localhost:5173 🚀

Внося вклад

Мы приветствуем вклады от сообщества! Подробности о том, как внести вклад, см. в Руководстве по внесению вкладов .

Примеры вопросов

[!СОВЕТ] Вот несколько запросов на естественном языке, которые вы можете попробовать выполнить с помощью своего клиента MCP.

  • «Какие индексы есть в моем кластере Elasticsearch?»
  • «Покажите мне сопоставления полей для индекса «продукты»».
  • «Найти все заказы на сумму более 500 долларов за прошлый месяц».
  • «Какие продукты получили наибольшее количество 5-звездочных отзывов?»

Как это работает

  1. Клиент MCP анализирует ваш запрос и определяет, какие операции Elasticsearch необходимы.
  2. Сервер MCP выполняет эти операции (перечисление индексов, выборку сопоставлений, выполнение поиска).
  3. Клиент MCP обрабатывает результаты и представляет их в удобном для пользователя формате.

Лучшие практики безопасности

[!WARNING] Избегайте использования привилегий администратора кластера. Создавайте выделенные ключи API с ограниченной областью действия и применяйте детальный контроль доступа на уровне индекса, чтобы предотвратить несанкционированный доступ к данным.

Вы можете создать специальный ключ API Elasticsearch с минимальными правами доступа для управления доступом к вашим данным:

POST /_security/api_key { "name": "es-mcp-server-access", "role_descriptors": { "mcp_server_role": { "cluster": [ "monitor" ], "indices": [ { "names": [ "index-1", "index-2", "index-pattern-*" ], "privileges": [ "read", "view_index_metadata" ] } ] } } }

Лицензия

Данный проект лицензирован по лицензии Apache License 2.0.

Поиск неисправностей

  • Убедитесь, что конфигурация вашего MCP правильная.
  • Убедитесь, что URL-адрес Elasticsearch доступен с вашего компьютера.
  • Убедитесь, что ваши учетные данные аутентификации (ключ API или имя пользователя/пароль) имеют необходимые разрешения.
  • При использовании SSL/TLS с пользовательским центром сертификации убедитесь, что путь к сертификату указан правильно и файл доступен для чтения.
  • Проверьте вывод терминала на наличие сообщений об ошибках.

Если у вас возникли проблемы, смело сообщайте о них в репозитории GitHub.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Подключает Claude и других клиентов MCP к данным Elasticsearch, позволяя пользователям взаимодействовать со своими индексами Elasticsearch посредством общения на естественном языке.

  1. Доступные инструменты
    1. Предпосылки
      1. Демо
        1. Установка и настройка
          1. Использование опубликованного пакета NPM
          2. Параметры конфигурации
          3. Развитие на местном уровне
        2. Внося вклад
          1. Примеры вопросов
            1. Как это работает
              1. Лучшие практики безопасности
                1. Лицензия
                  1. Поиск неисправностей

                    Related MCP Servers

                    • A
                      security
                      A
                      license
                      A
                      quality
                      Facilitates interaction with Elasticsearch clusters by allowing users to perform index operations, document searches, and cluster management via a Model Context Protocol server and natural language commands.
                      Last updated -
                      6
                      127
                      Python
                      Apache 2.0
                      • Apple
                    • -
                      security
                      F
                      license
                      -
                      quality
                      A Python MCP server that enables semantic search through Search Labs blog posts indexed in Elasticsearch, allowing Claude to intelligently retrieve relevant information from the blog content.
                      Last updated -
                      Python
                    • -
                      security
                      F
                      license
                      -
                      quality
                      A Model Context Protocol server that enables LLMs to interact with Elasticsearch clusters, allowing them to manage indices and execute search queries using natural language.
                      Last updated -
                      1
                      JavaScript
                    • A
                      security
                      A
                      license
                      A
                      quality
                      Provides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.
                      Last updated -
                      3
                      1
                      Python
                      Apache 2.0

                    View all related MCP servers

                    ID: jv4tgnn4d2