Elasticsearch MCP Server

Official

hybrid server

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

Integrations

  • Provides access to Elasticsearch indices, allowing users to list indices, inspect field mappings, and execute search queries using full Query DSL capabilities with automatic highlighting.

Servidor MCP de Elasticsearch

Conéctese a sus datos de Elasticsearch directamente desde cualquier cliente MCP (como Claude Desktop) utilizando el Protocolo de contexto de modelo (MCP).

Este servidor conecta a los agentes con sus datos de Elasticsearch mediante el Protocolo de Contexto de Modelo. Le permite interactuar con sus índices de Elasticsearch mediante conversaciones en lenguaje natural.

Herramientas disponibles

  • list_indices : Lista todos los índices de Elasticsearch disponibles
  • get_mappings : obtiene asignaciones de campos para un índice Elasticsearch específico
  • search : Realiza una búsqueda de Elasticsearch con la consulta DSL proporcionada
  • get_shards : Obtener información de fragmentos para todos los índices o para índices específicos

Prerrequisitos

  • Una instancia de Elasticsearch
  • Credenciales de autenticación de Elasticsearch (clave API o nombre de usuario/contraseña)
  • Cliente MCP (por ejemplo, Claude Desktop)

Manifestación

https://github.com/user-attachments/assets/5dd292e1-a728-4ca7-8f01-1380d1bebe0c

Instalación y configuración

Uso del paquete NPM publicado

[!TIP] La forma más sencilla de utilizar Elasticsearch MCP Server es a través del paquete npm publicado.

  1. Configurar el cliente MCP
    • Abra su cliente MCP. Consulte la lista de clientes MCP . Aquí estamos configurando Claude Desktop.
    • Vaya a Configuración > Desarrollador > Servidores MCP
    • Haga clic Edit Config y agregue un nuevo servidor MCP con la siguiente configuración:
    { "mcpServers": { "elasticsearch-mcp-server": { "command": "npx", "args": [ "-y", "@elastic/mcp-server-elasticsearch" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_API_KEY": "your-api-key" } } } }
  2. Iniciar una conversación
    • Abra una nueva conversación en su cliente MCP
    • El servidor MCP debería conectarse automáticamente
    • Ahora puedes hacer preguntas sobre tus datos de Elasticsearch

Opciones de configuración

El servidor MCP de Elasticsearch admite opciones de configuración para conectarse a su Elasticsearch:

[!NOTA] Debe proporcionar una clave API o un nombre de usuario y una contraseña para la autenticación.

Variable de entornoDescripciónRequerido
ES_URLLa URL de su instancia de Elasticsearch
ES_API_KEYClave API de Elasticsearch para autenticaciónNo
ES_USERNAMENombre de usuario de Elasticsearch para autenticación básicaNo
ES_PASSWORDContraseña de Elasticsearch para autenticación básicaNo
ES_CA_CERTRuta al certificado CA personalizado para Elasticsearch SSL/TLSNo

Desarrollo local

[!NOTA] Si desea modificar o ampliar el servidor MCP, siga estos pasos de desarrollo local.

  1. Utilice la versión correcta de Node.js
    nvm use
  2. Instalar dependencias
    npm install
  3. Construir el proyecto
    npm run build
  4. Ejecutar localmente en la aplicación de escritorio Claude
    • Abra la aplicación de escritorio Claude
    • Vaya a Configuración > Desarrollador > Servidores MCP
    • Haga clic Edit Config y agregue un nuevo servidor MCP con la siguiente configuración:
    { "mcpServers": { "elasticsearch-mcp-server-local": { "command": "node", "args": [ "/path/to/your/project/dist/index.js" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_API_KEY": "your-api-key" } } } }
  5. Depuración con MCP Inspector
    ES_URL=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspector
    Esto iniciará el Inspector MCP, lo que le permitirá depurar y analizar solicitudes. Debería ver lo siguiente:
    Starting MCP inspector... Proxy server listening on port 3000 🔍 MCP Inspector is up and running at http://localhost:5173 🚀

Contribuyendo

¡Agradecemos las contribuciones de la comunidad! Para más información sobre cómo contribuir, consulta las Pautas de Contribución .

Preguntas de ejemplo

[!TIP] Aquí hay algunas consultas en lenguaje natural que puedes probar con tu cliente MCP.

  • "¿Qué índices tengo en mi clúster Elasticsearch?"
  • "Muéstrame las asignaciones de campos para el índice 'productos'".
  • "Encuentre todos los pedidos superiores a $500 del mes pasado".
  • "¿Qué productos recibieron más reseñas de 5 estrellas?"

Cómo funciona

  1. El cliente MCP analiza su solicitud y determina qué operaciones de Elasticsearch son necesarias.
  2. El servidor MCP lleva a cabo estas operaciones (enumerar índices, obtener asignaciones, realizar búsquedas).
  3. El cliente MCP procesa los resultados y los presenta en un formato fácil de usar.

Mejores prácticas de seguridad

[!ADVERTENCIA] Evite usar privilegios de administrador del clúster. Cree claves de API dedicadas con alcance limitado y aplique un control de acceso preciso a nivel de índice para evitar el acceso no autorizado a los datos.

Puede crear una clave API de Elasticsearch dedicada con permisos mínimos para controlar el acceso a sus datos:

POST /_security/api_key { "name": "es-mcp-server-access", "role_descriptors": { "mcp_server_role": { "cluster": [ "monitor" ], "indices": [ { "names": [ "index-1", "index-2", "index-pattern-*" ], "privileges": [ "read", "view_index_metadata" ] } ] } } }

Licencia

Este proyecto está licenciado bajo la Licencia Apache 2.0.

Solución de problemas

  • Asegúrese de que la configuración de su MCP sea correcta.
  • Verifique que su URL de Elasticsearch sea accesible desde su máquina.
  • Verifique que sus credenciales de autenticación (clave API o nombre de usuario/contraseña) tengan los permisos necesarios.
  • Si usa SSL/TLS con una CA personalizada, verifique que la ruta del certificado sea correcta y que el archivo sea legible.
  • Observe la salida del terminal para ver si hay mensajes de error.

Si encuentra problemas, no dude en abrir un problema en el repositorio de GitHub.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Conecta a Claude y otros clientes de MCP con los datos de Elasticsearch, lo que permite a los usuarios interactuar con sus índices de Elasticsearch a través de conversaciones en lenguaje natural.

  1. Available Tools
    1. Prerequisites
      1. Demo
        1. Installation & Setup
          1. Using the Published NPM Package
          2. Configuration Options
          3. Developing Locally
        2. Contributing
          1. Example Questions
            1. How It Works
              1. Security Best Practices
                1. License
                  1. Troubleshooting
                    ID: jv4tgnn4d2