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

English | 中文

smithery badge

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

Elasticsearch MCP Demo

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 regulares
  • create_index: Crea un índice de Elasticsearch con configuraciones y mapeos opcionales
  • reindex: 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ífico
  • create_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 proporcionado
  • bulk: Inserta datos en bloque en un índice de Elasticsearch

Gestión de Plantillas

  • create_index_template: Crea o actualiza una plantilla de índice
  • get_index_template: Obtén información sobre plantillas de índice
  • delete_index_template: Elimina una plantilla de índice

Cómo Funciona

  1. El cliente MCP analiza tu solicitud y determina qué operaciones de Elasticsearch se necesitan.
  2. El servidor MCP lleva a cabo estas operaciones (listar índices, obtener mapeos, realizar búsquedas).
  3. 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.

  1. 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 Config y 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"
          }
        }
      }
    }
    
  2. 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 EntornoDescripciónRequerida
ES_HOSTURL(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_KEYClave API de Elasticsearch para autenticación (también admite la API_KEY heredada)No
ES_USERNAMENombre de usuario de Elasticsearch para autenticación básica (también admite la USERNAME heredada)No
ES_PASSWORDContraseña de Elasticsearch para autenticación básica (también admite la PASSWORD heredada)No
ES_CA_CERTRuta 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.

  1. Usa la versión correcta de Node.js

    nvm use
    
  2. Instala las Dependencias

    npm install
    
  3. Compila el Proyecto

    npm run build
    
  4. 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 Config y 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"
          }
        }
      }
    }
    
  5. Ejecuta localmente en el editor Cursor

    • Abre el editor Cursor
    • Ve a Configuración de Cursor > MCP
    • Haz clic en Add new global MCP Server y 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"
          }
        }
      }
    }
    
  6. Depuración con MCP Inspector

    ES_HOST=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspector
    

    Esto 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.