Skip to main content
Glama
cr7258

Elasticsearch MCP Server

Сервер Elasticsearch/OpenSearch MCP

значок кузнеца

Обзор

Реализация сервера Model Context Protocol (MCP), которая обеспечивает взаимодействие Elasticsearch и OpenSearch. Этот сервер позволяет искать документы, анализировать индексы и управлять кластером с помощью набора инструментов.

Related MCP server: OpenSearch MCP Server

Демо

https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15

Функции

Общие операции

  • general_api_request : Выполнить общий запрос HTTP API. Используйте этот инструмент для любого API Elasticsearch/OpenSearch, у которого нет специального инструмента.

Индексные операции

  • list_indices : Список всех индексов.

  • get_index : Возвращает информацию (сопоставления, настройки, псевдонимы) об одном или нескольких индексах.

  • create_index : Создать новый индекс.

  • delete_index : Удалить индекс.

Операции с документами

  • search_documents : Поиск документов.

  • index_document : Создает или обновляет документ в индексе.

  • get_document : Получить документ по идентификатору.

  • delete_document : Удалить документ по идентификатору.

  • delete_by_query : Удаляет документы, соответствующие предоставленному запросу.

Кластерные операции

  • get_cluster_health : возвращает основную информацию о состоянии кластера.

  • get_cluster_stats : возвращает общий обзор статистики кластера.

Операции под псевдонимом

  • list_aliases : Список всех псевдонимов.

  • get_alias : Получить информацию о псевдониме для определенного индекса.

  • put_alias : создать или обновить псевдоним для определенного индекса.

  • delete_alias : Удалить псевдоним для определенного индекса.

Настроить переменные среды

Скопируйте файл .env.example в .env и обновите значения соответствующим образом.

Запустите кластер Elasticsearch/OpenSearch с помощью Docker Compose:

# For Elasticsearch
docker-compose -f docker-compose-elasticsearch.yml up -d

# For OpenSearch
docker-compose -f docker-compose-opensearch.yml up -d

Имя пользователя Elasticsearch по умолчанию — elastic , а пароль — test123 . Имя пользователя OpenSearch по умолчанию — admin , а пароль — admin .

Доступ к панелям управления Kibana/OpenSearch можно получить по адресу http://localhost:5601 .

Использование с Claude Desktop

Вариант 1: Установка через Smithery

Чтобы автоматически установить Elasticsearch Server для Claude Desktop через Smithery :

npx -y @smithery/cli install elasticsearch-mcp-server --client claude

Вариант 2: Использование uvx

Использование uvx автоматически установит пакет из PyPI, нет необходимости клонировать репозиторий локально. Добавьте следующую конфигурацию в файл конфигурации Claude Desktop claude_desktop_config.json .

// For Elasticsearch
{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "uvx",
      "args": [
        "elasticsearch-mcp-server"
      ],
      "env": {
        "ELASTICSEARCH_HOSTS": "https://localhost:9200",
        "ELASTICSEARCH_USERNAME": "elastic",
        "ELASTICSEARCH_PASSWORD": "test123"
      }
    }
  }
}

// For OpenSearch
{
  "mcpServers": {
    "opensearch-mcp-server": {
      "command": "uvx",
      "args": [
        "opensearch-mcp-server"
      ],
      "env": {
        "OPENSEARCH_HOSTS": "https://localhost:9200",
        "OPENSEARCH_USERNAME": "admin",
        "OPENSEARCH_PASSWORD": "admin"
      }
    }
  }
}

Вариант 3: Использование УФ-излучения с локальной проявкой

Использование uv требует локального клонирования репозитория и указания пути к исходному коду. Добавьте следующую конфигурацию в файл конфигурации Claude Desktop claude_desktop_config.json .

// For Elasticsearch
{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/src/elasticsearch_mcp_server",
        "run",
        "elasticsearch-mcp-server"
      ],
      "env": {
        "ELASTICSEARCH_HOSTS": "https://localhost:9200",
        "ELASTICSEARCH_USERNAME": "elastic",
        "ELASTICSEARCH_PASSWORD": "test123"
      }
    }
  }
}

// For OpenSearch
{
  "mcpServers": {
    "opensearch-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/src/elasticsearch_mcp_server",
        "run",
        "opensearch-mcp-server"
      ],
      "env": {
        "OPENSEARCH_HOSTS": "https://localhost:9200",
        "OPENSEARCH_USERNAME": "admin",
        "OPENSEARCH_PASSWORD": "admin"
      }
    }
  }
}
  • В macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • В Windows: %APPDATA%/Claude/claude_desktop_config.json

Перезапустите Claude Desktop, чтобы загрузить новый сервер MCP.

Теперь вы можете взаимодействовать с кластером Elasticsearch/OpenSearch через Claude, используя команды естественного языка, например:

  • «Список всех индексов в кластере»

  • «Сколько лет студенту Бобу?»

  • «Покажите мне состояние работоспособности кластера»

Использование с клиентом Anthropic MCP

uv run mcp_client/client.py src/server.py

Лицензия

Данный проект лицензирован в соответствии с лицензией Apache License Version 2.0 — подробности см. в файле LICENSE .

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/cr7258/elasticsearch-mcp-server'

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