Skip to main content
Glama

Elasticsearch MCP Server

by silbaram

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 @Tool en 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.

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-server

2. 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 build
  • El 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 archivo mcp-server.jar creado.
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Servidor MCP de Elasticsearch

  1. Introducción
    1. Características principales
  2. Herramientas MCP disponibles
    1. Pila de tecnología
      1. Prerrequisitos
        1. Instalación y ejecución
          1. 1. Clonar el código fuente
          2. 2. Configure application.yml en el módulo mcp-server
          3. 3. Construir
          4. 4. Configurar el cliente MCP

        Related MCP Servers

        View all related MCP servers

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

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