# SolarWinds日志分析平台
## 基本信息
- Slug: `jakenuts-mcp-solarwinds`
- Source: modelscope
- Publisher: @jakenuts/mcp-solarwinds
- Categories: monitoring / search
- Hosted: Yes
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@jakenuts/mcp-solarwinds
## 简介
一种用于搜索和可视化SolarWinds可观测性日志的MCP服务器，允许用户通过过滤选项查询日志数据，并生成随时间变化的日志事件的视觉表示。
## 安装提示

```bash
npm install -g mcp-solarwinds
```

## MCP Server 详情

# SolarWinds 日志 MCP 服务器

一个用于访问和可视化 SolarWinds 可观察性日志的 Model Context Protocol (MCP) 服务器。

## 注意 - 

此服务器目前还不完整，因为它不支持结构化数据搜索（可能是 REST API 的限制？）。我也不确定它是否还需要接受数据中心来用于 API 端点调用。会在有时间时解决这两个问题（实际工作中需要它，必须先修复这个问题）。

### 工具

#### search_logs
带有可选过滤功能的 SolarWinds 可观察性日志搜索
- 接受包括过滤器、时间范围和分页选项在内的搜索参数
- 返回带有时间戳、主机名和消息的格式化日志条目
- 支持按组、实体等进行高级过滤
- 默认搜索范围是过去的 24 小时

#### visualize_logs
生成日志事件的直方图 JSON 响应
- 格式适用于 Claude 和 canvas 表示
- 可配置的时间间隔（分钟、小时、天）
- 支持 UTC 或本地时区
- 可自定义查询过滤器和时间范围
- 默认可视化范围是过去的 24 小时

### 资源

#### SolarWinds 日志搜索
- URI 模板: `solarwinds://{query}/search`
- 返回与指定查询匹配的日志条目
- 示例: `solarwinds://error/search`

## 安装

可选地从 npm 安装：
```bash
npm install -g mcp-solarwinds
```


或者从源代码克隆并构建：
```bash
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`：

```json
{
  "mcpServers": {
    "solarwinds": {
      "command": "npx",
      "args": ["-y", "mcp-solarwinds"],
      "env": {
        "SOLARWINDS_API_TOKEN": "your-api-token"
      },
      "autoApprove": ["search_logs", "visualize_logs"]
    }
  }
}
```


### 对于 Claude Desktop

添加到适当的配置文件中：

Windows: `%APPDATA%/Claude/claude_desktop_config.json`
MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "solarwinds": {
      "command": "npx",
      "args": ["-y", "mcp-solarwinds"],
      "env": {
        "SOLARWINDS_API_TOKEN": "your-api-token"
      }
    }
  }
}
```


### 特殊 Windows 配置

如果你在 Windows 上遇到 ENOENT spawn npx 问题，请使用这个指定了完整路径的替代配置：

```json
{
  "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 可观察性 MCP 服务器需要一个 API 令牌来与 SolarWinds 可观察性 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`

## 工具使用示例

### search_logs

基本搜索：
```json
{
  "filter": "error"
}
```


带时间范围和分页的高级搜索：
```json
{
  "filter": "error",
  "entityId": "web-server",
  "startTime": "2025-03-01T00:00:00Z",
  "endTime": "2025-03-05T23:59:59Z",
  "pageSize": 100,
  "direction": "backward"
}
```


### visualize_logs

基本直方图（ASCII 图表）：
```json
{
  "filter": "error",
  "interval": "hour"
}
```


高级可视化（ASCII 图表）：
```json
{
  "filter": "error",
  "entityId": "web-server",
  "startTime": "2025-03-01T00:00:00Z",
  "endTime": "2025-03-05T23:59:59Z",
  "interval": "day",
  "use_utc": true
}
```


Claude 可视化（JSON 格式）：
```json
{
  "filter": "error",
  "interval": "hour",
  "format": "json"
}
```


JSON 格式返回的数据可以被 Claude 以图表形式可视化：
```json
{
  "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"
  }
}
```


## 开发

安装依赖：
```bash
npm install
```


构建服务器：
```bash
npm run build
```


### 调试

由于MCP服务器通过标准输入输出进行通信，调试可能会比较困难。MCP Inspector 提供了有用的调试工具：

```bash
npm run debug:inspector
```


这将提供一个URL，您可以在浏览器中访问该URL，并且可以：
- 查看所有MCP消息
- 检查请求/响应负载
- 交互式测试工具
- 监控服务器状态

对于不使用MCP框架的本地测试：
```bash
# 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条日志
- 支持多种认证方法

