SolarWinds Logs
Access and visualize logs from SolarWinds Observability.
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:
- MCP Settings Configuration (Recommended): Configure the token in your MCP settings file
- Environment Variable: Set the
SOLARWINDS_API_TOKENenvironment variable - Local .env File (For Testing): Create a
.envfile in the project root withSOLARWINDS_API_TOKEN=your-token
For local testing, you can:
- Copy
.env.exampleto.envand add your token - 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
İlgili Sunucular
Grok MCP Plugin
Integrate with the Grok AI API to access its powerful language models.
Kubectl MCP Server
Enables AI assistants to interact with Kubernetes clusters using natural language.
Fastly NGWAF
Manage web application security through the Fastly NGWAF API using natural language.
Kubernetes Server
An MCP server that enables AI assistants to interact with and manage Kubernetes clusters.
OSDU MCP Server
Access OSDU platform capabilities including search, data management, and schema operations.
CData YouTube Analytics
An MCP server for accessing YouTube Analytics data, powered by the CData JDBC Driver.
HubSpot MCP Server
Interact with HubSpot CRM data, providing access to contacts, companies, and engagement information.
AWS MCP Server
An MCP server for AWS operations, supporting S3 and DynamoDB services. Requires AWS credentials.
Keycloak MCP Server
Administer Keycloak users and realms using a Model Context Protocol server.
Simple OpenStack MCP
Execute OpenStack CLI commands using LLMs. Requires a configured OpenStack CLI environment.