Skip to main content
Glama

Elasticsearch MCP Server

by silbaram
1

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.

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    Provides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.
    Last updated -
    3
    1
    Python
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    MCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)
    Last updated -
    1
    Python
    MIT License
    • Apple
    • Linux
  • A
    security
    A
    license
    A
    quality
    MCP server for Mamont search engine
    Last updated -
    2
    TypeScript
    MIT License

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