返回市场
麦克风太阳风

麦克风太阳风

作者:jakenuts3 星标更新:2025-03-06

项目介绍

SolarWinds Logs MCP Server

这是一个用于访问和可视化SolarWinds Observability日志的模型上下文协议(MCP)服务器。

注意事项 -

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

工具

search_logs

搜索SolarWinds Observability日志,可选过滤

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

visualize_logs

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

  • 格式化为Claude和画布表示形式
  • 可配置的时间间隔(分钟、小时、天)
  • 支持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"]
    }
  }
}

对于Claude桌面应用

添加到适当的配置文件:

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

工具使用示例

search_logs

基本搜索:

{
  "filter": "error"
}

高级搜索,带时间范围和分页:

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

visualize_logs

基本直方图(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,您可以在浏览器中访问该URL,然后可以:

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

对于没有MCP框架的本地测试:

# 创建一个包含您的令牌的.env文件
cp .env.example .env
# 编辑.env以添加您的令牌
# 运行示例脚本
node examples/local-test.js

技术细节

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