由AI驱动的Windows崩溃转储分析平台

MCP Nexus 是一个全面的模型上下文协议(MCP)服务器,它为AI系统提供了高级的Windows崩溃转储分析能力。它结合了微软调试工具(WinDBG/CDB)的力量与智能分析工作流程,使得专业级的崩溃调查对AI助手来说更加容易。
MCP Nexus是一个通过模型上下文协议提供结构化访问Windows调试工具的平台。它通过提供标准化工具和实时进度跟踪,使崩溃转储分析更容易获取。
传统崩溃分析挑战:
MCP Nexus解决方案:
# 克隆仓库
git clone https://github.com/CapulusCodeNinja/mcp_nexus.git
cd mcp_nexus
# 构建项目
dotnet build
# 运行服务器
dotnet run --project nexus/nexus.csproj
添加到 .cursor/mcp.json:
{
"mcpServers": {
"mcp-nexus": {
"command": "dotnet",
"args": ["run", "--project", "C:\\path\\to\\mcp_nexus\\nexus\\nexus.csproj"],
"type": "stdio"
}
}
}
添加到 claude_desktop_config.json:
{
"mcpServers": {
"mcp-nexus": {
"command": "dotnet",
"args": ["run", "--project", "C:\\path\\to\\mcp_nexus\\nexus\\nexus.csproj"],
"cwd": "C:\\path\\to\\mcp_nexus"
}
}
}
{
"mcpServers": {
"mcp-nexus": {
"type": "http",
"url": "http://0.0.0.0:5511/",
"headers": {
"Content-Type": "application/json"
}
}
}
}
nexus_open_dump_analyze_session - 打开一个崩溃转储进行分析nexus_enqueue_async_dump_analyze_command - 异步执行WinDBG命令nexus_get_dump_analyze_commands_status - 获取所有命令的状态(批量轮询)nexus_read_dump_analyze_command_result - 读取单个命令的结果nexus_cancel_dump_analyze_command - 取消正在运行的命令nexus_close_dump_analyze_session - 关闭会话并清理资源sessions - 列出所有活跃的调试会话commands - 列出命令,并按会话/状态过滤extensions - 列出可用的PowerShell扩展脚本usage - 带有示例的完整使用指南health - 系统健康状况和指标典型的AI驱动的崩溃分析工作流:
nexus_open_dump_analyze_sessionnexus_enqueue_async_dump_analyze_command 排队以下命令:
!analyze -v (自动崩溃分析)kL (带有源代码行的堆栈跟踪)!threads (线程信息)nexus_get_dump_analyze_commands_status (批量轮询)nexus_read_dump_analyze_command_result 检索每个命令的结果nexus_close_dump_analyze_session 关闭会话并清理资源与AI助手的示例对话:
用户:"分析位于C:\dumps\myapp.dmp的崩溃转储"
AI:我将为您分析该崩溃转储。
[打开会话,排队!analyze -v, kL, !threads命令]
分析结果:
- 异常:访问冲突 (0xC0000005)
- 故障模块:myapp.exe
- 根本原因:ProcessData()中的空指针解引用
- 堆栈显示:ProcessData+0x42使用null缓冲区调用
建议:在访问缓冲区之前添加空检查。
nexus/ - 主应用程序(入口点、托管)
nexus_config/ - 配置和日志记录
nexus_engine/ - 调试引擎(CDB会话、命令队列)
nexus_engine_batch/ - 命令批处理系统
nexus_protocol/ - MCP协议层(工具、资源)
nexus_setup/ - 服务安装和管理
nexus_external_apis/ - 共享实用程序(文件系统、进程等)
nexus_extensions/ - PowerShell扩展系统
MCP Nexus智能地批处理命令以提高吞吐量:
{
"McpNexus": {
"DebugEngine": {
"Batching": {
"Enabled": true,
"MinBatchSize": 2,
"MaxBatchSize":
"ExcludedCommands": [
"!analyze", "!dump", "!heap", "!memusage"
]
}
}
}
}
{
"McpNexus": {
"SessionManagement": {
"MaxConcurrentSessions": 10,
"SessionTimeoutMinutes": 30,
"CleanupIntervalSeconds": 300,
"DefaultCommandTimeoutMinutes": 10
}
}
}
{
"Logging": {
"LogLevel": "Information"
}
}
支持的级别:Trace, Debug, Information, Warning, Error, Critical
使用PowerShell创建自定义分析工作流:
# extensions/my-analysis/my-analysis.ps1
Import-Module McpNexusExtensions
$result1 = Invoke-NexusCommand -Command "!analyze -v"
$result2 = Invoke-NexusCommand -Command "kL"
# 处理结果并返回结构化数据
return @{
CrashType = "访问冲突"
RootCause = "空指针解引用"
Recommendations = @("添加空检查", "审查错误处理")
}
在分析过程中接收实时更新:
{
"jsonrpc": "2.0",
"method": "notifications/commandStatus",
"params": {
"commandId": "cmd-abc123",
"sessionId": "session-xyz789",
"state": "执行中",
"timestamp": "2025-01-15T10:30:00Z"
}
}
作为Windows服务运行以适应生产环境:
# 安装为服务
dotnet run --project nexus/nexus.csproj -- service install
# 启动服务
net start MCP-Nexus
# 停止服务
net stop MCP-Nexus
# 卸载服务
dotnet run --project nexus/nexus.csproj -- service uninstall
此项目根据Apache License 2.0许可 - 详情见LICENSE文件。
Apache License 2.0允许您: