这是一个用于访问和可视化SolarWinds Observability日志的模型上下文协议(MCP)服务器。
此服务器目前不完整,因为它不支持结构化数据搜索(REST API的限制?)。我不确定它是否还需要接受数据中心以在API端点调用中使用。当有时间时会解决这两个问题(需要它来解决实际工作中的问题,必须先修复这个问题)
搜索SolarWinds Observability日志,可选过滤
生成日志事件的直方图JSON响应
solarwinds://{query}/searchsolarwinds://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
添加到%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上遇到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令牌的方法有多种:
SOLARWINDS_API_TOKEN环境变量.env文件,内容为SOLARWINDS_API_TOKEN=your-token对于本地测试,您可以:
.env.example到.env并添加您的令牌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,您可以在浏览器中访问该URL,然后可以:
对于没有MCP框架的本地测试:
# 创建一个包含您的令牌的.env文件
cp .env.example .env
# 编辑.env以添加您的令牌
# 运行示例脚本
node examples/local-test.js