Elasticsearch
Conéctate e interactúa con un clúster de Elasticsearch directamente desde cualquier cliente MCP usando variables de entorno para la configuración.
Documentación
Servidor MCP de Elasticsearch
Servidor MCP para conectarte a tu clúster de Elasticsearch directamente desde cualquier cliente MCP (como Claude Desktop, Cursor).
Este servidor conecta agentes a tus datos de Elasticsearch mediante el Protocolo de Contexto de Modelo (MCP). Te permite interactuar con tus índices de Elasticsearch a través de conversaciones en lenguaje natural.
Demostración
Resumen de Funcionalidades
Funcionalidades Disponibles
Gestión del Clúster
elasticsearch_health: Obtén el estado de salud del clúster de Elasticsearch, opcionalmente con detalles a nivel de índice
Operaciones de Índices
list_indices: Lista los índices de Elasticsearch disponibles, con soporte para expresiones regularescreate_index: Crea un índice de Elasticsearch con configuraciones y mapeos opcionalesreindex: Reindexa datos de un índice de origen a un índice de destino con consulta y script opcionales
Gestión de Mapeos
get_mappings: Obtén los mapeos de campos de un índice de Elasticsearch específicocreate_mapping: Crea o actualiza la estructura de mapeo de un índice de Elasticsearch
Operaciones de Búsqueda y Datos
search: Realiza una búsqueda en Elasticsearch con el DSL de consulta proporcionadobulk: Inserta datos en bloque en un índice de Elasticsearch
Gestión de Plantillas
create_index_template: Crea o actualiza una plantilla de índiceget_index_template: Obtén información sobre plantillas de índicedelete_index_template: Elimina una plantilla de índice
Cómo Funciona
- El cliente MCP analiza tu solicitud y determina qué operaciones de Elasticsearch se necesitan.
- El servidor MCP lleva a cabo estas operaciones (listar índices, obtener mapeos, realizar búsquedas).
- El cliente MCP procesa los resultados y los presenta en un formato fácil de usar.
Primeros Pasos
Requisitos Previos
- Una instancia de Elasticsearch
- Credenciales de autenticación de Elasticsearch (clave API o nombre de usuario/contraseña)
- Cliente MCP (por ejemplo, Claude Desktop, Cursor)
Instalación y Configuración
Usando el Paquete NPM Publicado
[!TIP] La forma más sencilla de usar el Servidor MCP de Elasticsearch es mediante el paquete npm publicado.
-
Configura el Cliente MCP
- Abre tu Cliente MCP. Consulta la lista de Clientes MCP; aquí estamos configurando Claude Desktop.
- Ve a Configuración > Desarrollador > Servidores MCP
- Haz clic en
Edit Configy añade un nuevo Servidor MCP con la siguiente configuración:
{ "mcpServers": { "elasticsearch-mcp": { "command": "npx", "args": [ "-y", "@awesome-ai/elasticsearch-mcp" ], "env": { "ES_HOST": "your-elasticsearch-host", "ES_API_KEY": "your-api-key" } } } } -
Inicia una Conversación
- Abre una nueva conversación en tu 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 conectarte a tu Elasticsearch:
[!NOTE] Debes proporcionar una clave API o tanto el nombre de usuario como la contraseña para la autenticación.
| Variable de Entorno | Descripción | Requerida |
|---|---|---|
ES_HOST | URL(s) de tu instancia de Elasticsearch: admite una sola URL o múltiples URLs separadas por comas (también admite la HOST heredada) | Sí |
ES_API_KEY | Clave API de Elasticsearch para autenticación (también admite la API_KEY heredada) | No |
ES_USERNAME | Nombre de usuario de Elasticsearch para autenticación básica (también admite la USERNAME heredada) | No |
ES_PASSWORD | Contraseña de Elasticsearch para autenticación básica (también admite la PASSWORD heredada) | No |
ES_CA_CERT | Ruta al certificado CA personalizado para SSL/TLS de Elasticsearch (también admite la CA_CERT heredada) | No |
Configuración de Múltiples URLs
Puedes configurar múltiples nodos de Elasticsearch para alta disponibilidad y equilibrio de carga:
{
"mcpServers": {
"elasticsearch-mcp": {
"command": "npx",
"args": [
"-y",
"@awesome-ai/elasticsearch-mcp"
],
"env": {
"ES_HOST": "https://es-node1:9200,https://es-node2:9200,https://es-node3:9200",
"ES_API_KEY": "your-api-key"
}
}
}
}
El cliente gestionará automáticamente la conmutación por error y el equilibrio de carga entre los nodos configurados.
Desarrollo Local
[!NOTE] Si deseas modificar o ampliar el Servidor MCP, sigue estos pasos de desarrollo local.
-
Usa la versión correcta de Node.js
nvm use -
Instala las Dependencias
npm install -
Compila el Proyecto
npm run build -
Ejecuta localmente en la aplicación de escritorio de Claude
- Abre la aplicación de escritorio de Claude
- Ve a Configuración > Desarrollador > Servidores MCP
- Haz clic en
Edit Configy añade un nuevo Servidor MCP con la siguiente configuración:
{ "mcpServers": { "elasticsearch-mcp": { "command": "node", "args": [ "/path/to/your/project/dist/index.js" ], "env": { "ES_HOST": "your-elasticsearch-host", "ES_API_KEY": "your-api-key" } } } } -
Ejecuta localmente en el editor Cursor
- Abre el editor Cursor
- Ve a Configuración de Cursor > MCP
- Haz clic en
Add new global MCP Servery añade un nuevo Servidor MCP con la siguiente configuración:
{ "mcpServers": { "elasticsearch-mcp": { "command": "node", "args": [ "/path/to/your/project/dist/index.js" ], "env": { "ES_HOST": "your-elasticsearch-host", "ES_API_KEY": "your-api-key" } } } } -
Depuración con MCP Inspector
ES_HOST=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspectorEsto iniciará el MCP Inspector, permitiéndote depurar y analizar solicitudes. Deberías ver:
Starting MCP inspector... ⚙️ Proxy server listening on port 6277 🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
Consultas de Ejemplo
[!TIP] Aquí tienes algunas consultas en lenguaje natural que puedes probar con tu Cliente MCP.
Gestión del Clúster
- "¿Cuál es el estado de salud de mi clúster de Elasticsearch?"
- "¿Cuántos nodos activos hay en mi clúster?"
Operaciones de Índices
- "¿Qué índices tengo en mi clúster de Elasticsearch?"
- "Crea un nuevo índice llamado 'users' con 3 fragmentos y 1 réplica."
- "Reindexa los datos de 'old_index' a 'new_index'."
Gestión de Mapeos
- "Muéstrame los mapeos de campos del índice 'products'."
- "Añade un campo de tipo keyword llamado 'tags' al índice 'products'."
Operaciones de Búsqueda y Datos
- "Encuentra todos los pedidos superiores a $500 del mes pasado."
- "¿Qué productos recibieron más reseñas de 5 estrellas?"
- "Importa en bloque estos registros de clientes al índice 'customers'."
Gestión de Plantillas
- "Crea una plantilla de índice para logs con el patrón 'logs-*'."
- "Muéstrame todas mis plantillas de índice."
- "Elimina la plantilla de índice 'outdated_template'."
Si encuentras problemas, no dudes en abrir un issue en el repositorio de GitHub.
