Symphony日志MCP服务器
用于Symphony VMS日志文件自动分析的模型上下文协议(MCP)服务器。该服务器为AI助手提供了强大的工具,用于诊断错误、比较测试运行、跟踪流程健康状况以及识别Symphony部署中的性能问题。
当前版本:2.3.0
什么是MCP?
模型上下文协议 是一个开放标准,使人工智能助手能够安全地访问外部工具和数据源。该服务器实现了MCP,为AI助手提供了分析Symphony日志的专门功能。
特性
- 自动分诊 -单调用优先诊断,与优先发现并行运行运行状况、错误、生命周期和事件日志检查
- 并排日志比较 -比较两个版本或环境,自动检测固定/新/更改的错误模式
- 错误模式分析 -指纹和重复数据消除错误,具有全栈跟踪提取功能
- 过程健康监测 -从sccp日志中检测崩溃循环、重启和内存趋势
- 服务生命周期跟踪 -查找启动/停止/重启事件,诊断重启原因,并检测日志间隙
- HTTP和慢速请求分析 -通过分组、速率直方图和阈值检测进行统一的HTTP+RPC慢速请求分析
- 视频管道健康状况 -摄像头连接/断开、丢帧、编解码器错误、录制间隙
- 存储管理 -磁盘空间警告、保留强制、清洁周期跟踪
- 报警和事件规则 -报警触发器、通知传递、规则评估失败
- 网络连接 -超时、连接被拒绝、重试、所有服务的DNS问题
- 访问控制集成 -门事件、同步状态、面板通信故障
- 用户权限解析 -具有拒绝覆盖授予逻辑、组审核跟踪的有效权限
- UI线程冻结检测 -WPF/WinForms UI线程分析,具有可配置的冻结阈值
- Bug报告包支持 -自动提取和分析多服务器错误报告ZIP
- 数据库表解析 -从错误报告SQL转储中提取摄像头、服务器、用户和许可证配置
- 硬件配置 -来自serverinfo.txt的CPU、RAM、磁盘、NIC详细信息
- 领域知识资源 -MCP资源提供日志格式规范、服务图和诊断手册
- 农场范围分析 -多服务器仪表板、跨服务器错误聚合、拓扑映射、摄像头状态
- 身份验证分析 -登录失败、会话跟踪、Active Directory事件
- 数据库健康监控 -SQL连接中断、池耗尽、恢复跟踪
- 服务器间通信 -心跳监测、连接故障检测、服务器拓扑映射
- 硬件综合 -研华/ADAM模块、串行端口、IO设备监控
安装
先决条件
- Node.js v18或更新版本
- MCP兼容客户端(Claude Desktop、VS Code with GitHub Copilot等)
设置
git clone https://github.com/senstar/symphony-log-mcp.git
cd symphony-log-mcp
npm install
npm run build配置
克劳德桌面
将此服务器添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"symphony-logs": {
"command": "node",
"args": ["/path/to/symphony-log-mcp/dist/index.js"]
}
}
}可选地将日志目录作为第一个CLI参数传递,或通过 LOG_DIR 环境变量来预配置会话。否则,请致电 sym_open 在每个会话开始时,指向要分析的日志目录。
安全注意事项: 没有默认日志目录。以前的版本默认为 C:\Log,它可以从实时生产服务器连接中静默读取。现在必须显式设置目录。VS代码与GitHub Copilot
添加 .vscode/mcp.json 在您的工作空间中:
{
"mcpServers": {
"symphony-logs": {
"command": "node",
"args": ["${workspaceFolder}/tools/symphony-log-mcp/dist/index.js"]
}
}
}然后打电话 sym_open 使用目录路径开始分析日志。每个工具还接受一个可选 logDir 用于在不更改会话的情况下对不同目录进行一次性分析的参数。
用法
配置后,您可以向AI助手提出自然语言问题,例如:
- “比较测试133和138的日志,并总结差异”
- “信息服务日志中最常见的错误是什么?”
- “对这个bug报告进行分类,告诉我出了什么问题”
- “显示此错误报告的进程运行状况”
- “查找所有超过5秒的慢速请求”
- “是否有任何日志空白表明服务中断?”
- “显示内存趋势——是否有进程泄漏?”
- “是什么导致InfoService在14:23重新启动?”
AI助手将自动调用相应的MCP工具并为您解释结果。
可用工具(26)
所有工具都使用 sym_ 前缀便于查找。
| 工具 | 说明 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
sym_open | 先打电话。 设置此会话的日志目录。接受目录或错误报告文件夹的绝对路径。再次呼叫以切换目录。 | ||||||||
sym_triage | 自动首过诊断--并行运行运行状况、错误、生命周期和事件日志检查,返回优先结果 | ||||||||
sym_info | Bug报告元数据、列表日志文件、解码前缀、硬件配置(操作: bug_report | list_files | decode_prefix | hardware) | |||||
sym_search | 搜索错误、文本/正则表达式模式、计数出现次数或证明不存在(模式: errors | pattern | count | assert_absent) | |||||
sym_crashes | 提取物。NET异常或本机C++崩溃转储(模式: managed | native) | |||||||
sym_lifecycle | 服务启动/停止/重启事件、进程级PID跟踪或日志间隙检测(模式: services | processes | gaps) | ||||||
sym_timeline | 按时间顺序合并日志、跟踪RPC调用或集群模式匹配到时间波中(模式: correlate | trace_rpc | waves) | ||||||
sym_http | 具有慢速请求检测的统一HTTP+RPC请求分析(模式: requests | slow | rates | totals) | |||||
sym_ui_thread | 通过多文件支持、可配置的冻结阈值和时间过滤检测UI线程冻结和死锁 | ||||||||
sym_health | 来自sccp日志的健康仪表板或内存/CPU趋势(模式: dashboard | trends) | |||||||
sym_compare | 两个日志目录的并排差异(错误、生命周期、健康状况、http、速度慢) | ||||||||
sym_db_tables | *(仅Bug报告)* 解析数据库表转储(模式: summary | cameras | servers | settings | users | licenses | settings_xml | raw) | |
sym_video_health | 视频管道健康状况:摄像头连接/断开、丢帧、编解码器错误、录制间隙(模式: summary | events | cameras) | ||||||
sym_storage | 磁盘/存储管理:空间警告、保留、清理周期(模式: summary | events | timeline) | ||||||
sym_alarms | 报警和事件规则处理:触发器、通知、规则失败(模式: summary | events | failures) | ||||||
sym_network | 网络连接:超时、重试、连接被拒绝、DNS(模式: summary | events | targets | timeouts) | |||||
sym_access_control | 门禁集成:门、凭证、同步、面板通信(模式: summary | events | failures | sync) | |||||
sym_permissions | *(仅Bug报告)* 使用完整的审核跟踪解决有效的用户权限(模式: resolve | check | groups | rights | raw) | ||||
sym_system | *(仅Bug报告)* 来自补充文件的系统诊断(模式: overview | services | processes | network | environment | license | files | db_summary | raw) |
sym_event_log | *(仅Bug报告)* 解析Windows事件日志导出——崩溃、驱动程序故障、。NET运行时错误(模式: entries | summary) | |||||||
sym_farm | 跨多个服务器日志包的农场范围分析(模式: dashboard | errors | topology | cameras | connectivity) | ||||
sym_auth | IS日志中的身份验证和会话事件(模式: summary | failures | sessions) | ||||||
sym_db_health | IS日志中的数据库连接和运行状况——中断、SQL异常、池耗尽(模式: summary | outages | events) | ||||||
sym_cameras | 跟踪器(cs\*)日志中的摄像头清单和状态(模式: inventory | problems | status) | ||||||
sym_interserver | 来自IS日志的服务器间通信——心跳、连接失败、代理错误(模式: summary | map | failures) | ||||||
sym_hw | 硬件集成事件——研华/ADAM、串行端口、IO模块(模式: summary | advantech | devices | errors) |
资源
服务器向AI调用者公开一个MCP资源:
| 资源URI | 描述 |
|---|---|
symphony://domain-knowledge | Symphony VMS架构、日志格式规范、服务依赖关系图、诊断手册和已知错误签名。AI调用者应在会话开始时阅读一次此内容。 |
有关详细的参数文档,请参阅MCP客户端中的工具说明。
直接调用(高级)
虽然此服务器是为MCP客户端设计的,但您可以直接调用它进行测试:
echo '{"method":"tools/call","params":{"name":"sym_compare","arguments":{"dirA":"C:/Logs/133","dirB":"C:/Logs/138"}}}' | node dist/index.js贡献
欢迎拉取请求!请确保代码记录良好并经过测试。
许可证
麻省理工学院
