Сервер 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. Она также разработана для легкого добавления новых инструментов или внешних функций интеграции.
Доступные инструменты 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. Клонировать исходный код
2. Настройте application.yml в модуле mcp-server
Откройте файл application.yml , расположенный в mcp-server/src/main/resources/application.yml чтобы настроить информацию о кластере Elasticsearch.
3. Строить
Для сборки проекта используйте следующую команду:
Собранный 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 installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Сервер Elasticsearch MCP
Related MCP Servers
- MIT License
- MIT License
- MIT License