OpenSearch MCP Server

Integrations

  • Provides configuration of OpenSearch connection details through environment variables stored in a .env file.

  • Allows running the server directly from GitHub using npx without cloning the repository, with options to specify branches or commits.

  • Serves as the runtime environment for the MCP server, requiring version 16 or higher.

Servidor MCP de OpenSearch

Un servidor de Protocolo de Contexto de Modelo (MCP) para consultar y analizar los registros de seguridad de Wazuh almacenados en OpenSearch.

Características

  • Búsqueda de alertas de seguridad con filtrado avanzado
  • Obtenga información detallada sobre alertas específicas
  • Generar estadísticas sobre eventos de seguridad
  • Visualizar tendencias de alertas a lo largo del tiempo
  • Informes de progreso para operaciones de larga duración
  • Manejo estructurado de errores

Prerrequisitos

  • Node.js v16 o superior
  • Acceso a una instancia de OpenSearch que contiene registros de seguridad de Wazuh

Instalación

Opción 1: Usar con npx directamente desde GitHub (recomendado)

Puede ejecutar esta herramienta directamente usando npx sin clonar el repositorio:

# Run the latest version from GitHub npx github:jetbalsa/mcp-opensearch-js # Run with debug mode enabled npx github:jetbalsa/mcp-opensearch-js --debug # You can also specify a specific branch or commit npx github:jetbalsa/mcp-opensearch-js#main

Opción 2: Instalación local

  1. Clonar este repositorio:
git clone https://github.com/jetbalsa/mcp-opensearch-js.git cd mcp-opensearch-js
  1. Instalar dependencias:
npm install
  1. Configure sus variables de entorno:
cp .env.example .env
  1. Edite el archivo .env con los detalles de su conexión de OpenSearch:
OPENSEARCH_URL=https://your-opensearch-endpoint:9200 OPENSEARCH_USERNAME=your-username OPENSEARCH_PASSWORD=your-password DEBUG=false

Ejecución del servidor

Iniciar el servidor:

npm start

Esto iniciará el servidor en modo stdio.

Habilitar el registro de depuración:

npm run stdio:debug

Prueba con MCP CLI:

npm run dev

Esto ejecuta el servidor con la herramienta CLI FastMCP para pruebas interactivas.

Prueba con MCP Inspector:

npm run inspect

Esto inicia el servidor y lo conecta al Inspector MCP para la depuración visual.

Herramientas de servidor

El servidor proporciona las siguientes herramientas:

1. Alertas de búsqueda

Busque alertas de seguridad en los datos de Wazuh.

Parámetros:

  • query : El texto de la consulta de búsqueda
  • timeRange : rango de tiempo (por ejemplo, 1 h, 24 h, 7 d)
  • maxResults : Número máximo de resultados a devolver
  • index : Patrón de índice para buscar

2. Obtener detalles de la alerta

Obtenga información detallada sobre una alerta específica por ID.

Parámetros:

  • id alerta
  • index : Patrón de índice

3. Estadísticas de alertas

Obtenga estadísticas sobre alertas de seguridad.

Parámetros:

  • timeRange : rango de tiempo (por ejemplo, 1 h, 24 h, 7 d)
  • field : Campo por el cual se agregará (por ejemplo, rule.level, agent.name)
  • index : Patrón de índice

4. Visualizar la tendencia de alerta

Visualice las tendencias de alerta a lo largo del tiempo.

Parámetros:

  • timeRange : rango de tiempo (por ejemplo, 1 h, 24 h, 7 d)
  • interval : Intervalo de tiempo para agrupar (por ejemplo, 1 h, 1 d)
  • query : Consulta para filtrar alertas
  • index : Patrón de índice

Ejemplo de uso

Usando la herramienta MCP CLI:

> tools Available tools: - searchAlerts: Search for security alerts in Wazuh data - getAlertDetails: Get detailed information about a specific alert by ID - alertStatistics: Get statistics about security alerts - visualizeAlertTrend: Visualize alert trends over time > tools.searchAlerts(query: "rule.level:>10", timeRange: "12h", maxResults: 5)

Uso con un cliente

Para utilizar este servidor MCP con una implementación de cliente:

import { Client } from "@modelcontextprotocol/sdk"; import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js"; const client = new Client( { name: "example-client", version: "1.0.0", }, { capabilities: {}, }, ); const transport = new SSEClientTransport(new URL(`http://localhost:3000/sse`)); await client.connect(transport); // Use tools const result = await client.executeTool("searchAlerts", { query: "rule.level:>10", timeRange: "24h", maxResults: 10 }); console.log(result);

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite consultar y analizar los registros de seguridad de Wazuh almacenados en OpenSearch, con funciones para buscar alertas, obtener información detallada, generar estadísticas y visualizar tendencias.

  1. Features
    1. Prerequisites
      1. Installation
        1. Option 1: Use with npx directly from GitHub (recommended)
        2. Option 2: Local Installation
      2. Running the Server
        1. Start the server:
        2. Enable debug logging:
        3. Test with MCP CLI:
        4. Test with MCP Inspector:
      3. Server Tools
        1. 1. Search Alerts
        2. 2. Get Alert Details
        3. 3. Alert Statistics
        4. 4. Visualize Alert Trend
      4. Example Usage
        1. Using with a Client
          1. License
            ID: iesh89xysn