Elasticsearch MCP Server
Сервер Elasticsearch MCP
Введение
Elasticsearch Model Context Protocol (MCP) Server — это серверное приложение, разработанное на основе Spring AI MCP. Оно предназначено для простого определения различных рабочих процессов обработки данных через MCP и эффективной индексации и поиска результатов в кластере Elasticsearch.
Основные характеристики
Автоматическая регистрация и выполнение инструмента MCP : функции, определенные с помощью аннотации
@Toolв среде Spring Boot, автоматически регистрируются на сервере MCP. Это позволяет внешним клиентам (например, Claude, FastMCP CLI) вызывать эти функции через стандартную связь на основе JSON-RPC.Интеграция с кластером Elasticsearch : использует официальный клиент Java Elasticsearch для простого вызова основных API Elasticsearch, таких как проверки работоспособности кластера, поиск по индексному отображению, индексация и поиск документов, а также предоставляет результаты в виде инструментов MCP.
Масштабируемая архитектура : модульная структура пакета обеспечивает гибкое разделение и управление настройками клиента для разных версий Elasticsearch. Она также разработана для легкого добавления новых инструментов или внешних функций интеграции.
Related MCP server: Elasticsearch/OpenSearch MCP Server
Доступные инструменты MCP
get_cluster_health: возвращает основную информацию о состоянии кластера Elasticsearch.get_cluster_statistics: получает полную статистику кластера, включая имя кластера, UUID, статус, роли узлов, использование ресурсов ОС и JVM, количество индексов и метрики шардов.get_cat_mappings: извлекает информацию о сопоставлении полей для определенного индекса Elasticsearch.get_cat_indices: Извлекает список всех индексов в Elasticsearch.get_cat_indices_by_name: извлекает список индексов, соответствующих указанному имени индекса или шаблону подстановочных знаков.get_cat_aliases: получает список всех псевдонимов в Elasticsearch.get_cat_aliases_by_name: извлекает список псевдонимов, соответствующих указанному имени псевдонима или шаблону подстановочных знаков.get_document_search_by_index: поиск документов в индексе Elasticsearch с использованием запросов DSL, сгенерированных ИИ.get_shard_allocation: возвращает информацию о распределении сегментов в кластере Elasticsearch.get_shard_allocation_for_node: возвращает информацию о распределении сегментов для определенного узла в кластере Elasticsearch.
Технологический стек
Язык : Java 17
Фреймворк : Spring Boot 3.4.5, Spring AI MCP
Поисковая система : Elasticsearch 7.16 или более поздняя версия
Инструмент сборки : Gradle 8.12
Предпосылки
Для создания и запуска этого проекта требуется следующее программное обеспечение:
JDK: Версия 17 или более поздняя
Запуск экземпляра Elasticsearch: версия 7.16 или более поздняя
Клиент MCP (например, Claude Desktop)
Установка и исполнение
Вот как настроить и запустить проект в локальной среде:
1. Клонировать исходный код
git clone https://github.com/silbaram/elasticsearch-mcp-server.git
cd elasticsearch-mcp-server2. Настройте application.yml в модуле mcp-server
Откройте файл application.yml , расположенный в mcp-server/src/main/resources/application.yml чтобы настроить информацию о кластере Elasticsearch.
elasticsearch:
version: "8.6.1" # Specifies the version of the Elasticsearch cluster to connect to.
search:
hosts:
- http://localhost:9200 # Specifies the access address of the Elasticsearch cluster.3. Строить
Для сборки проекта используйте следующую команду:
./gradlew buildСобранный JAR-файл можно найти в каталоге
mcp-server/build/libs/.
4. Настройте MCP-клиент
Запустите свой клиент MCP. (Список клиентов MCP можно найти на странице MCP Client List . В этом руководстве в качестве примера используется Claude Desktop.)
В меню настроек клиента MCP перейдите в раздел «Разработчик» > «Серверы MCP».
Нажмите кнопку «Изменить конфигурацию» и добавьте новую конфигурацию сервера MCP со следующим содержимым. (Необходимо использовать фактический путь к созданному ранее файлу JAR.)
{ "mcpServers": { "elasticsearch-server": { "command": "java", "args": [ "-Dusername=YOUR_USERNAME", "-Dpassword=YOUR_PASSWORD", "-jar", "/path/to/your/mcp-server.jar" ] } } }-Dusername(необязательно): указывает идентификатор пользователя, необходимый для доступа к кластеру Elasticsearch. (например,-Dusername=elastic)-Dpassword(необязательно): указывает пароль, необходимый для доступа к кластеру Elasticsearch. (например,-Dpassword=yoursecurepassword)/path/to/your/mcp-server.jar: Его необходимо заменить на фактический полный путь к созданному вами файлуmcp-server.jar.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for medicaid-intelligence
MCP server for searching Airweave collections with natural language queries.
MCP server for AI access to Swagger by SmartBear.
Related MCP Servers
- AlicenseAqualityCmaintenanceRead/write Elasticsearch mcp server with many tools1617 npm3MIT
- AlicenseBqualityDmaintenanceAn 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
- AlicenseNot gradedqualityDmaintenanceMCP server that provides tools and resources to interact with Elasticsearch clusters, including listing indices, searching, and retrieving mappings.3MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to directly interact with Elasticsearch for searching, aggregating, and retrieving documents from indices, supporting full-text search, semantic search, and various query modes.9 npmMIT