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:
- Configuración de ajustes de MCP (recomendado): Configure el token en su archivo de ajustes de MCP
- Variable de entorno: Establezca la variable de entorno
SOLARWINDS_API_TOKEN - Archivo .env local (para pruebas): Cree un archivo
.enven la raíz del proyecto conSOLARWINDS_API_TOKEN=your-token
Para pruebas locales, puede:
- Copie
.env.examplea.envy agregue su token - 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