SolarWinds Logs MCP Server

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.

Integrations

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

  • Built with TypeScript for type safety and better development experience

SolarWinds 日志 MCP 服务器

用于访问和可视化 SolarWinds 可观测性日志的模型上下文协议 (MCP) 服务器。

笔记 -

此服务器目前尚未完善,因为它不支持结构化数据搜索(这是 REST API 的限制吗?)。我不确定它是否也需要接受一个数据中心用于 API 端点调用。时间允许的话会解决这两个问题(实际工作中需要用到,所以得先解决这个问题)。

工具

搜索日志

使用可选筛选功能搜索 SolarWinds Observability 日志

  • 采用搜索参数,包括过滤器、时间范围和分页选项
  • 返回带有时间戳、主机名和消息的格式化日志条目
  • 支持按组、实体等进行高级过滤
  • 默认搜索范围为最近 24 小时

可视化日志

为日志事件生成直方图 JSON 响应

  • 为克劳德和画布表现形式格式化
  • 可配置的时间间隔(分钟、小时、天)
  • 支持 UTC 或当地时区
  • 可定制的查询过滤器和时间范围
  • 默认可视化范围是过去 24 小时

资源

SolarWinds 日志搜索

  • URI 模板: solarwinds://{query}/search
  • 返回与指定查询匹配的日志条目
  • 例如: solarwinds://error/search

安装

可选择从 npm 安装:

npm install -g mcp-solarwinds

或者从源代码克隆并构建:

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

或者在你的配置中使用 npx

对于 Cline VSCode 扩展

添加到%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"] } } }

对于克劳德桌面

添加到适当的配置文件:

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

特殊 Windows 配置

如果您在 Windows 上遇到 ENOENT spawn npx 问题,请使用指定完整路径的替代配置:

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

配置

SolarWinds Observability MCP 服务器需要 API 令牌来通过 SolarWinds Observability API 进行身份验证。

配置方法

有多种方法可以提供 API 令牌:

  1. MCP 设置配置(推荐) :在 MCP 设置文件中配置令牌
  2. 环境变量:设置SOLARWINDS_API_TOKEN环境变量
  3. 本地 .env 文件(用于测试) :在项目根目录中创建一个.env文件,其中包含SOLARWINDS_API_TOKEN=your-token

对于本地测试,您可以:

  1. .env.example复制到.env并添加您的令牌
  2. 运行示例脚本: node examples/local-test.js

工具使用示例

搜索日志

基本搜索:

{ "filter": "error" }

具有时间范围和分页的高级搜索:

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

可视化日志

基本直方图(ASCII 图表):

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

高级可视化(ASCII 图表):

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

Claude可视化(JSON格式):

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

JSON 格式返回的数据可以被 Claude 以图表的形式可视化:

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

发展

安装依赖项:

npm install

构建服务器:

npm run build

调试

由于 MCP 服务器通过 stdio 进行通信,调试起来可能颇具挑战性。MCP Inspector 提供了一些实用的调试工具:

npm run debug:inspector

这将提供一个 URL 来访问浏览器中的检查器,您可以在其中:

  • 查看所有 MCP 消息
  • 检查请求/响应有效载荷
  • 以交互方式测试工具
  • 监视服务器状态

对于没有 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

技术细节

  • 使用 TypeScript 和 MCP SDK 构建
  • 使用 axios 进行 API 通信
  • 支持 ISO 8601 日期格式的时间范围
  • 生成 ASCII 直方图以实现日志可视化
  • 默认搜索范围:最近 24 小时
  • 默认页面大小:50 个日志
  • 支持多种身份验证方法

You must be authenticated.

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

用于搜索和可视化 SolarWinds Observability 日志的 MCP 服务器,允许用户使用过滤选项查询日志数据并生成随时间推移的日志事件的可视化表示。

  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
    ID: bl0xz37gi9