elasticsearch-mcp-server

elasticsearch-mcp-server

cr7258Apache-2.0
285 звёзд60 форков
Elasticsearch MCP Server — это реализация протокола MCP для взаимодействия с Elasticsearch и OpenSearch. Сервер даёт AI-ассистенту набор инструментов для работы с поисковой системой: от поиска документов до управления кластером. Вы можете подключать его к любому MCP-клиенту — Claude Desktop, Continue, Cursor и другим. Сервер покрывает большинство типовых задач: управление индексами и потоками данных, поиск и индексация документов, настройка алиасов, анализ текста и диагностика кластера. Если для какой-то операции нет отдельного инструмента, используйте общий HTTP-запрос.

Установка

uvx elasticsearch-mcp-server

Характеристики

Общее

  • СтатусСообщество
  • Разработчикcr7258
  • ЛицензияApache-2.0

Технологии

  • Языки
    Python
  • Транспорт
    stdio

Описание

Возможности

  • Общий HTTP-запрос: выполните любой запрос к API Elasticsearch или OpenSearch через инструмент general_api_request. Пригодится для редких или кастомных операций.
  • Управление индексами: создавайте, удаляйте, получайте информацию об индексах (маппинги, настройки, алиасы).
  • Потоки данных: создавайте, просматривайте и удаляйте потоки данных вместе с базовыми индексами.
  • Работа с документами: ищите по любому запросу, получайте или удаляйте по ID, индексируйте новые документы, удаляйте по запросу.
  • Операции кластера: получайте статус здоровья (green/yellow/red) и расширенную статистику кластера.
  • Управление алиасами: создавайте, обновляйте, удаляйте алиасы для индексов.
  • Анализ текста: тестируйте анализаторы и цепочки анализа на любом тексте. Это помогает понять, как токенизируется текст при поиске.

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

Сервер устанавливается через uvx — это встроенный раннер для пакетов Python:

uvx elasticsearch-mcp-server

Перед запуском настройте переменные окружения:

  • ELASTICSEARCH_URL (или OPENSEARCH_URL) — адрес вашего кластера.
  • Для базовой аутентификации: ELASTICSEARCH_USERNAME и ELASTICSEARCH_PASSWORD (или OPENSEARCH_USERNAME/OPENSEARCH_PASSWORD).
  • Можно использовать API-ключи через соответствующие переменные.

Пример конфигурации для Claude Desktop:

{ "mcpServers": { "elasticsearch": { "command": "uvx", "args": ["elasticsearch-mcp-server"], "env": { "ELASTICSEARCH_URL": "http://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "changeme" } } } }

После добавления конфигурации перезапустите Claude Desktop.

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

  • «Найди в индексе logs все записи за последний час с уровнем error».
  • «Покажи здоровье кластера и общую статистику по индексам».
  • «Создай индекс products с маппингом: name (text), price (float), in_stock (boolean)».
  • «Проанализируй текст "The quick brown foxes" с помощью английского стоп-анализатора».
  • «Выполни общий запрос GET _cat/nodes?v для просмотра списка нод».

Технические детали

  • Язык: Python
  • Транспорт: stdio
  • Лицензия: Apache-2.0
  • Совместимость: все MCP-клиенты (Claude Desktop, Continue, Cursor, и др.)

Поделиться