SolarWinds Observability Logs

SolarWinds Observability Logs

jakenuts

Connects to SolarWinds Observability to search and analyze log data with filtering and time-based visualization capabilities. Currently has limitations with structured data search.

Integrates with SolarWinds Observability logs, providing tools for searching, visualizing, and analyzing log data with advanced filtering options and customizable time ranges for DevOps and IT operations teams.

3361 views2Local (stdio)

What it does

  • Search SolarWinds Observability logs with filters
  • Generate histogram visualizations of log events
  • Filter logs by time range, group, and entity
  • View log entries with timestamps and hostnames

Best for

DevOps teams monitoring application logsIT operations troubleshooting system issuesAnalyzing log patterns and trends over time
Works with existing SolarWinds infrastructureIncomplete - missing structured data search

About SolarWinds Observability Logs

SolarWinds Observability Logs is a community-built MCP server published by jakenuts that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with SolarWinds Observability Logs for advanced log searching, visualization, and analysis—ideal for DevOps an It is categorized under developer tools, analytics data.

How to install

You can install SolarWinds Observability Logs in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

SolarWinds Observability Logs is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

SolarWinds Logs MCP Server

A Model Context Protocol (MCP) server for accessing and visualizing SolarWinds Observability logs.

Note -

This server is currently incomplete as it does not support structured data search (a limitation of the REST API?). I'm uncertain if it also needs to accept a data center to use in the api endpoint calls. Will address both when time allows (needed it for a real work problem, have to fix that first)

Tools

search_logs

Search SolarWinds Observability logs with optional filtering

  • Takes search parameters including filter, time range, and pagination options
  • Returns formatted log entries with timestamps, hostnames, and messages
  • Supports advanced filtering by group, entity, and more
  • Default search range is the last 24 hours

visualize_logs

Generate a histogram json response for of log events

  • Formatted for Claude and canvas representations
  • Configurable time intervals (minute, hour, day)
  • Supports UTC or local time zones
  • Customizable query filters and time ranges
  • Default visualization range is the last 24 hours

Resources

SolarWinds Log Search

  • URI Template: solarwinds://{query}/search
  • Returns log entries matching the specified query
  • Example: solarwinds://error/search

Installation

Optionally install from npm:

npm install -g mcp-solarwinds

Or clone and build from source:

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

Or just use npx in your configurations

For Cline VSCode Extension

Add to %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"]
    }
  }
}

For Claude Desktop

Add to the appropriate config file:

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"
      }
    }
  }
}

Special Windows Configuration

If you encounter the ENOENT spawn npx issue on Windows, use this alternative configuration that specifies the full paths:

{
  "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"
      }
    }
  }
}

Configuration

The SolarWinds Observability MCP server requires an API token to authenticate with the SolarWinds Observability API.

Configuration Methods

There are multiple ways to provide the API token:

  1. MCP Settings Configuration (Recommended): Configure the token in your MCP settings file
  2. Environment Variable: Set the SOLARWINDS_API_TOKEN environment variable
  3. Local .env File (For Testing): Create a .env file in the project root with SOLARWINDS_API_TOKEN=your-token

For local testing, you can:

  1. Copy .env.example to .env and add your token
  2. Run the example script: node examples/local-test.js

Tool Usage Examples

search_logs

Basic search:

{
  "filter": "error"
}

Advanced search with time range and pagination:

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

visualize_logs

Basic histogram (ASCII chart):

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

Advanced visualization (ASCII chart):

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

Claude visualization (JSON format):

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

The JSON format returns data that Claude can visualize as a chart:

{
  "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"
  }
}

Development

Install dependencies:

npm install

Build the server:

npm run build

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. The MCP Inspector provides helpful debugging tools:

npm run debug:inspector

This will provide a URL to access the inspector in your browser, where you can:

  • View all MCP messages
  • Inspect request/response payloads
  • Test tools interactively
  • Monitor server state

For local testing without the MCP framework:

# 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

Technical Details

  • Built with TypeScript and the MCP SDK
  • Uses axios for API communication
  • Supports ISO 8601 date formats for time ranges
  • Generates ASCII histograms for log visualization
  • Default search range: last 24 hours
  • Default page size: 50 logs
  • Supports multiple authentication methods

Alternatives

Related Skills

Browse all skills
content-trend-researcher

Advanced content and topic research skill that analyzes trends across Google Analytics, Google Trends, Substack, Medium, Reddit, LinkedIn, X, blogs, podcasts, and YouTube to generate data-driven article outlines based on user intent analysis

23
backend-dev-guidelines

Comprehensive backend development guide for Langfuse's Next.js 14/tRPC/Express/TypeScript monorepo. Use when creating tRPC routers, public API endpoints, BullMQ queue processors, services, or working with tRPC procedures, Next.js API routes, Prisma database access, ClickHouse analytics queries, Redis queues, OpenTelemetry instrumentation, Zod v4 validation, env.mjs configuration, tenant isolation patterns, or async patterns. Covers layered architecture (tRPC procedures → services, queue processors → services), dual database system (PostgreSQL + ClickHouse), projectId filtering for multi-tenant isolation, traceException error handling, observability patterns, and testing strategies (Jest for web, vitest for worker).

7
azure-monitor-ingestion-py

Azure Monitor Ingestion SDK for Python. Use for sending custom logs to Log Analytics workspace via Logs Ingestion API. Triggers: "azure-monitor-ingestion", "LogsIngestionClient", "custom logs", "DCR", "data collection rule", "Log Analytics".

1
usage-export

Export OpenClaw usage data to CSV for analytics tools like Power BI. Hourly aggregates by activity type, model, and channel.

1
hunt-data-source-identification

Identify relevant security data sources that could capture the behavior defined in a structured hunt hypothesis. Use this skill after the hunt focus has been defined to translate investigative intent into candidate telemetry sources using existing platform catalogs. This skill supports hunt planning by reasoning over available schemas and metadata before analytics development or query execution.

1
databuddy

Integrate Databuddy analytics into applications using the SDK or REST API. Use when implementing analytics tracking, feature flags, custom events, Web Vitals, error tracking, LLM observability, or querying analytics data programmatically.

1