SolarWinds Logs

Accede y visualiza registros de SolarWinds Observability.

Documentación

Servidor MCP de SolarWinds Logs

Un servidor de Protocolo de Contexto de Modelo (MCP) para acceder y visualizar registros de SolarWinds Observability.

Nota -

Este servidor está actualmente incompleto, ya que no admite la búsqueda de datos estructurados (¿una limitación de la API REST?). No estoy seguro de si también necesita aceptar un centro de datos para usar en las llamadas a los endpoints de la API. Abordaré ambos cuando el tiempo lo permita (lo necesitaba para un problema de trabajo real, tengo que arreglarlo primero).

Herramientas

search_logs

Busca registros de SolarWinds Observability con filtrado opcional

  • Acepta parámetros de búsqueda, incluidos filtro, rango de tiempo y opciones de paginación
  • Devuelve entradas de registro formateadas con marcas de tiempo, nombres de host y mensajes
  • Admite filtrado avanzado por grupo, entidad y más
  • El rango de búsqueda predeterminado son las últimas 24 horas

visualize_logs

Genera una respuesta JSON de histograma para eventos de registro

  • Formateado para representaciones de Claude y canvas
  • Intervalos de tiempo configurables (minuto, hora, día)
  • Admite zonas horarias UTC o locales
  • Filtros de consulta y rangos de tiempo personalizables
  • El rango de visualización predeterminado son las últimas 24 horas

Recursos

SolarWinds Log Search

  • URI Template: solarwinds://{query}/search
  • Devuelve entradas de registro que coinciden con la consulta especificada
  • Ejemplo: solarwinds://error/search

Instalación

Opcionalmente, instale desde npm:

npm install -g mcp-solarwinds

O clone y compile desde el código fuente:

git clone https://github.com/@jakenuts/mcp-solarwinds.git
cd mcp-solarwinds
npm install
npm run build

O simplemente use npx en sus configuraciones

Para la extensión Cline de VSCode

Agregue a %APPDATA%/Code - Insiders/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:

{
  "mcpServers": {
    "solarwinds": {
      "command": "npx",
      "args": ["-y", "mcp-solarwinds"],
      "env": {
        "SOLARWINDS_API_TOKEN": "your-api-token"
      },
      "autoApprove": ["search_logs", "visualize_logs"]
    }
  }
}

Para Claude Desktop

Agregue al archivo de configuración apropiado:

Windows: %APPDATA%/Claude/claude_desktop_config.json MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "solarwinds": {
      "command": "npx",
      "args": ["-y", "mcp-solarwinds"],
      "env": {
        "SOLARWINDS_API_TOKEN": "your-api-token"
      }
    }
  }
}

Configuración especial de Windows

Si encuentra el problema ENOENT spawn npx en Windows, use esta configuración alternativa que especifica las rutas completas:

{
  "mcpServers": {
    "solarwinds": {
      "command": "C:\\Users\\[username]\\AppData\\Roaming\\nvm\\[node-version]\\node.exe",
      "args": [
        "C:\\Users\\[username]\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npx-cli.js",
        "-y",
        "mcp-solarwinds"
      ],
      "env": {
        "SOLARWINDS_API_TOKEN": "your-api-token"
      }
    }
  }
}

Configuración

El servidor MCP de SolarWinds Observability requiere un token de API para autenticarse con la API de SolarWinds Observability.

Métodos de configuración

Hay varias formas de proporcionar el token de API:

  1. Configuración de ajustes de MCP (recomendado): Configure el token en su archivo de ajustes de MCP
  2. Variable de entorno: Establezca la variable de entorno SOLARWINDS_API_TOKEN
  3. Archivo .env local (para pruebas): Cree un archivo .env en la raíz del proyecto con SOLARWINDS_API_TOKEN=your-token

Para pruebas locales, puede:

  1. Copie .env.example a .env y agregue su token
  2. Ejecute el script de ejemplo: node examples/local-test.js

Ejemplos de uso de herramientas

search_logs

Búsqueda básica:

{
  "filter": "error"
}

Búsqueda avanzada con rango de tiempo y paginación:

{
  "filter": "error",
  "entityId": "web-server",
  "startTime": "2025-03-01T00:00:00Z",
  "endTime": "2025-03-05T23:59:59Z",
  "pageSize": 100,
  "direction": "backward"
}

visualize_logs

Histograma básico (gráfico ASCII):

{
  "filter": "error",
  "interval": "hour"
}

Visualización avanzada (gráfico ASCII):

{
  "filter": "error",
  "entityId": "web-server",
  "startTime": "2025-03-01T00:00:00Z",
  "endTime": "2025-03-05T23:59:59Z",
  "interval": "day",
  "use_utc": true
}

Visualización de Claude (formato JSON):

{
  "filter": "error",
  "interval": "hour",
  "format": "json"
}

El formato JSON devuelve datos que Claude puede visualizar como un gráfico:

{
  "timeRanges": ["12:02", "12:03", "12:04", "12:05", "12:06", "12:07", "12:08", "12:09"],
  "counts": [261, 47, 48, 48, 31, 262, 270, 33],
  "total": 1000,
  "queryParams": {
    "query": "error",
    "startTime": "2025-03-05T00:00:00.000Z",
    "endTime": "2025-03-05T23:59:59.000Z"
  }
}

Desarrollo

Instale las dependencias:

npm install

Compile el servidor:

npm run build

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser un desafío. El Inspector MCP proporciona herramientas de depuración útiles:

npm run debug:inspector

Esto proporcionará una URL para acceder al inspector en su navegador, donde puede:

  • Ver todos los mensajes MCP
  • Inspeccionar las cargas útiles de solicitud/respuesta
  • Probar herramientas de forma interactiva
  • Monitorear el estado del servidor

Para pruebas locales sin el marco MCP:

# Create a .env file with your token
cp .env.example .env
# Edit .env to add your token
# Run the example script
node examples/local-test.js

Detalles técnicos

  • Construido con TypeScript y el SDK de MCP
  • Usa axios para la comunicación con la API
  • Admite formatos de fecha ISO 8601 para rangos de tiempo
  • Genera histogramas ASCII para la visualización de registros
  • Rango de búsqueda predeterminado: últimas 24 horas
  • Tamaño de página predeterminado: 50 registros
  • Admite múltiples métodos de autenticación