一种用于搜索和可视化SolarWinds可观测性日志的MCP服务器,允许用户通过过滤选项查询日志数据,并生成随时间变化的日志事件的视觉表示。
584 查看 · 2026-07-07 更新
简介
一种用于搜索和可视化SolarWinds可观测性日志的MCP服务器,允许用户通过过滤选项查询日志数据,并生成随时间变化的日志事件的视觉表示。
简介
一种用于搜索和可视化SolarWinds可观测性日志的MCP服务器,允许用户通过过滤选项查询日志数据,并生成随时间变化的日志事件的视觉表示。
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 安装:
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 Desktop
添加到适当的配置文件中:
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 可观察性 MCP 服务器需要一个 API 令牌来与 SolarWinds 可观察性 API 进行身份验证。
配置方法
有多种方式提供 API 令牌:
- MCP 设置配置(推荐):在你的 MCP 设置文件中配置令牌
- 环境变量:设置
SOLARWINDS_API_TOKEN环境变量 - 本地 .env 文件(用于测试):在项目根目录下创建
.env文件,并添加SOLARWINDS_API_TOKEN=your-token
对于本地测试,你可以:
- 将
.env.example复制为.env并添加你的令牌 - 运行示例脚本:
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服务器通过标准输入输出进行通信,调试可能会比较困难。MCP Inspector 提供了有用的调试工具:
npm run debug:inspector
这将提供一个URL,您可以在浏览器中访问该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条日志
- 支持多种认证方法
服务配置
[{'mcpServers': {'solarwinds': {'args': ['-y', 'mcp-solarwinds'], 'autoApprove': ['search_logs', 'visualize_logs'], 'command': 'npx', 'env': {'SOLARWINDS_API_TOKEN': 'your-api-token'}}}}, {'mcpServers': {'solarwinds': {'args': ['-y', 'mcp-solarwinds'], 'command': 'npx', 'env': {'SOLARWINDS_API_TOKEN': 'your-api-token'}}}}]
来源
- 来源:github
- 链接:https://github.com/jakenuts/mcp-solarwinds