SolarWinds Logs MCP Server

by jakenuts

Integrations

  • Supports local testing via .env files for storing API tokens and configuration

  • Built with TypeScript for type safety and better development experience

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

  • 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

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

An MCP server for searching and visualizing SolarWinds Observability logs, allowing users to query log data with filtering options and generate visual representations of log events over time.

  1. Note -
    1. Tools
    2. Resources
  2. Installation
    1. For Cline VSCode Extension
    2. For Claude Desktop
    3. Special Windows Configuration
  3. Configuration
    1. Configuration Methods
  4. Tool Usage Examples
    1. search_logs
    2. visualize_logs
  5. Development
    1. Debugging
  6. Technical Details

    Related MCP Servers

    • A
      security
      A
      license
      A
      quality
      The MCP server provides an interface to the Datadog API, enabling seamless management of incidents, monitoring, logs, dashboards, metrics, traces, and hosts. Its extensible design allows easy integration of additional Datadog APIs for future expansions.
      Last updated -
      14
      322
      36
      TypeScript
      Apache 2.0
      • Apple
    • -
      security
      A
      license
      -
      quality
      An MCP server for interacting with Google's Chronicle Security Operations suite, enabling users to search security events, get alerts, look up entities, list security rules, and retrieve IoC matches.
      Last updated -
      5
      Python
      Apache 2.0
    • -
      security
      F
      license
      -
      quality
      An MCP server that allows AI assistants to access AWS CloudWatch logs by listing log groups and reading log entries.
      Last updated -
      4
      Python
    • A
      security
      A
      license
      A
      quality
      A specialized MCP server that helps analyze and debug Model Context Protocol logs by providing Claude with direct access to log files across multiple platforms.
      Last updated -
      1
      9
      TypeScript
      MIT License
      • Apple
      • Linux

    View all related MCP servers

    ID: bl0xz37gi9