An MCP (Model Context Protocol) server that wraps the SolarWinds Observability API, enabling Claude Code to directly query logs, metrics, entities, and traces.
- Install dependencies:
npm install- Build:
npm run build- Set your API token:
export SWO_API_TOKEN=your-token-here
# or
export PAPERTRAIL_TOKEN=your-token-hereAdd the MCP server via the CLI:
claude mcp add solarwinds -e PAPERTRAIL_TOKEN=your-token -- node /path/to/solarwinds-mcp/dist/index.jsVerify it's connected:
claude mcp listTo remove:
claude mcp remove solarwindsSearch logs with filtering and pagination.
query(required): Search filter stringdaysBack: Look back N days (default: 1)maxPages: Maximum pages to fetch (default: 10)direction: "forward" or "backward" (default: backward)
Fetch all logs for a specific request ID.
requestId(required): UUID request IDdaysBack: Look back N days (default: 7)
Search logs and group/analyze by request ID (replicates the Ruby script workflow).
query(required): Search filterdaysBack: Look back N days (default: 1)fetchRelatedLogs: Fetch all logs for discovered request IDs (default: true)maxRequestIds: Maximum request IDs to process (default: 50)
Query metrics data.
metricName: Specific metric nameentityId: Filter by entity IDdaysBack: Look back N days (default: 1)
List entities (hosts, services, applications).
type: Entity type filterlimit: Maximum results (default: 100)
Retrieve trace spans.
traceId: Specific trace IDserviceName: Filter by servicedaysBack: Look back N days (default: 1)
Test with MCP Inspector:
npx @modelcontextprotocol/inspector dist/index.js| Variable | Required | Default | Description |
|---|---|---|---|
SWO_API_TOKEN |
Yes* | - | SolarWinds API token |
PAPERTRAIL_TOKEN |
Yes* | - | Alternative token name |
SWO_REGION |
No | na-01 |
API region (na-01, na-02, eu-01, ap-01) |
SWO_MAX_RETRIES |
No | 6 |
Max retry attempts |
SWO_TIMEOUT_MS |
No | 30000 |
Request timeout in ms |
*Either SWO_API_TOKEN or PAPERTRAIL_TOKEN is required.