Elasticsearch MCP Server
Servidor MCP de Elasticsearch
Introducción
El servidor del Protocolo de Contexto de Modelo (MCP) de Elasticsearch es una aplicación de servidor desarrollada con Spring AI MCP. Está diseñado para definir fácilmente diversos flujos de trabajo de procesamiento de datos mediante MCP e indexar y buscar eficientemente los resultados en un clúster de Elasticsearch.
Características principales
Registro y ejecución automáticos de herramientas MCP : Las funciones definidas con la anotación
@Toolen un entorno Spring Boot se registran automáticamente en el servidor MCP. Esto permite a los clientes externos (p. ej., Claude, FastMCP CLI) llamar a estas funciones mediante comunicación estándar basada en JSON-RPC.Integración de clúster de Elasticsearch : utiliza el cliente Java oficial de Elasticsearch para llamar fácilmente a las principales API de Elasticsearch, como verificaciones de estado del clúster, búsquedas de mapeo de índices, indexación y búsqueda de documentos, y proporciona los resultados en forma de herramientas MCP.
Arquitectura escalable : La estructura modular de paquetes permite separar y gestionar con flexibilidad la configuración del cliente para las diferentes versiones de Elasticsearch. Además, está diseñada para añadir fácilmente nuevas herramientas o funciones de integración externa.
Related MCP server: Elasticsearch/OpenSearch MCP Server
Herramientas MCP disponibles
get_cluster_health: devuelve información básica sobre el estado del clúster Elasticsearch.get_cluster_statistics: recupera estadísticas completas del clúster, incluido el nombre del clúster, UUID, estado, roles de nodo, uso de recursos del sistema operativo y de JVM, recuento de índices y métricas de fragmentos.get_cat_mappings: recupera información de mapeo de campos para un índice Elasticsearch específico.get_cat_indices: recupera una lista de todos los índices en Elasticsearch.get_cat_indices_by_name: recupera una lista de índices que coinciden con el nombre de índice especificado o el patrón comodín.get_cat_aliases: recupera una lista de todos los alias en Elasticsearch.get_cat_aliases_by_name: recupera una lista de alias que coinciden con el nombre de alias especificado o el patrón comodín.get_document_search_by_index: busca documentos dentro de un índice de Elasticsearch utilizando una consulta DSL generada por IA.get_shard_allocation: devuelve información sobre la asignación de fragmentos en el clúster Elasticsearch.get_shard_allocation_for_node: devuelve información sobre la asignación de fragmentos para un nodo específico en el clúster Elasticsearch.
Pila de tecnología
Lenguaje : Java 17
Marco : Spring Boot 3.4.5, Spring AI MCP
Motor de búsqueda : Elasticsearch 7.16 o posterior
Herramienta de compilación : Gradle 8.12
Prerrequisitos
Se requiere el siguiente software para crear y ejecutar este proyecto:
JDK: Versión 17 o posterior
Ejecución de la instancia de Elasticsearch: versión 7.16 o posterior
Cliente MCP (por ejemplo, Claude Desktop)
Instalación y ejecución
A continuación se explica cómo configurar y ejecutar el proyecto en su entorno local:
1. Clonar el código fuente
git clone https://github.com/silbaram/elasticsearch-mcp-server.git
cd elasticsearch-mcp-server2. Configure application.yml en el módulo mcp-server
Abra el archivo application.yml ubicado en mcp-server/src/main/resources/application.yml para configurar la información de su clúster 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. Construir
Utilice el siguiente comando para construir el proyecto:
./gradlew buildEl archivo JAR compilado se puede encontrar en el directorio
mcp-server/build/libs/.
4. Configurar el cliente MCP
Abra su cliente MCP. (Puede encontrar una lista de clientes MCP en Lista de clientes MCP . Esta guía utiliza Claude Desktop como ejemplo).
En el menú de configuración de su cliente MCP, navegue a “Desarrollador” > “Servidores MCP”.
Haga clic en el botón "Editar configuración" y agregue una nueva configuración de servidor MCP con el siguiente contenido. (Debe usar la ruta del archivo JAR que creó anteriormente).
{ "mcpServers": { "elasticsearch-server": { "command": "java", "args": [ "-Dusername=YOUR_USERNAME", "-Dpassword=YOUR_PASSWORD", "-jar", "/path/to/your/mcp-server.jar" ] } } }-Dusername(opcional): especifica el ID de usuario necesario para acceder al clúster de Elasticsearch. (por ejemplo,-Dusername=elastic)-Dpassword(opcional): especifica la contraseña necesaria para acceder al clúster de Elasticsearch. (por ejemplo,-Dpassword=yoursecurepassword)/path/to/your/mcp-server.jar: Esto debe reemplazarse con la ruta completa real a su archivomcp-server.jarcreado.
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