返回市场
麦克 nexus

麦克 nexus

作者:CapulusCodeNinja2 星标更新:2025-11-05

项目介绍

MCP Nexus

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

MCP Nexus 图标

测试 覆盖率 构建 许可证

MCP Nexus 是一个全面的模型上下文协议(MCP)服务器,它为AI系统提供了高级的Windows崩溃转储分析能力。它结合了微软调试工具(WinDBG/CDB)的力量与智能分析工作流程,使得专业级的崩溃调查对AI助手来说更加容易。

🎯 MCP Nexus是什么?

MCP Nexus是一个通过模型上下文协议提供结构化访问Windows调试工具的平台。它通过提供标准化工具和实时进度跟踪,使崩溃转储分析更容易获取。

我们解决的问题

传统崩溃分析挑战:

  • 🔍 复杂性:需要深入了解Windows内部和调试工具
  • ⏱️ 耗时:手动分析可能需要数小时或数天
  • 🧠 专业知识:需要专门的调试技能和经验
  • 📊 结果不一致:不同的分析师可能会得出不同的结论
  • 🔧 工具复杂性:WinDBG/CDB的学习曲线陡峭

MCP Nexus解决方案:

  • 🔧 结构化访问:提供标准化工具进行调试操作
  • 实时更新:实时进度跟踪和通知
  • 📚 一致的结果:提供结构化的输出格式
  • 🔄 MCP集成:通过模型上下文协议与AI客户端协作
  • 🛠️ 专业工具:基于微软行业标准的调试基础设施构建

✨ 关键特性

  • 🔍 高级崩溃分析:利用WinDBG/CDB进行全面的转储分析
  • 🤖 AI原生设计:专门为AI代理通过MCP集成而设计
  • 命令批处理:智能命令分组以提高吞吐量
  • 🔄 实时通知:在分析操作期间实时更新
  • 🛡️ 会话管理:强大的会话生命周期管理,自动清理
  • 🎯 可扩展架构:基于PowerShell的扩展系统,用于自定义工作流
  • 📊 结构化结果:解析调试输出为AI友好的格式

🎯 快速开始

先决条件

  • .NET 8.0 运行时 或 SDK
  • Windows 调试工具 (WinDBG/CDB) - 从微软下载

安装

# 克隆仓库
git clone https://github.com/CapulusCodeNinja/mcp_nexus.git
cd mcp_nexus

# 构建项目
dotnet build

# 运行服务器
dotnet run --project nexus/nexus.csproj

🤖 AI 集成

Cursor IDE 集成

添加到 .cursor/mcp.json

{
  "mcpServers": {
    "mcp-nexus": {
      "command": "dotnet",
      "args": ["run", "--project", "C:\\path\\to\\mcp_nexus\\nexus\\nexus.csproj"],
      "type": "stdio"
    }
  }
}

Claude Desktop 集成

添加到 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"
    }
  }
}

使用HTTP的集成

{
  "mcpServers": {
    "mcp-nexus": {
      "type": "http",
      "url": "http://0.0.0.0:5511/",
      "headers": {
        "Content-Type": "application/json"
      }
    }
  }
}

🛠️ 可用的MCP工具

核心分析工具

  • 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 - 关闭会话并清理资源

MCP资源

  • sessions - 列出所有活跃的调试会话
  • commands - 列出命令,并按会话/状态过滤
  • extensions - 列出可用的PowerShell扩展脚本
  • usage - 带有示例的完整使用指南
  • health - 系统健康状况和指标

📊 示例工作流

典型的AI驱动的崩溃分析工作流:

  1. 打开会话:使用转储文件路径调用 nexus_open_dump_analyze_session
  2. 排队命令:使用 nexus_enqueue_async_dump_analyze_command 排队以下命令:
    • !analyze -v (自动崩溃分析)
    • kL (带有源代码行的堆栈跟踪)
    • !threads (线程信息)
  3. 监控进度:使用 nexus_get_dump_analyze_commands_status (批量轮询)
  4. 检索结果:使用 nexus_read_dump_analyze_command_result 检索每个命令的结果
  5. 关闭会话:使用 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扩展系统

关键设计模式

  • 模块化架构:库之间明确的责任分离
  • 单例模式:核心引擎无需依赖注入开销即可访问
  • 命令队列:具有状态管理的异步命令处理
  • 批处理:透明的命令分组以提高性能
  • 事件驱动:实时通知命令状态变化

🧪 测试与质量

测试统计

  • 总共1228个测试(全部通过)
  • 📊 87.1% 行覆盖率(目标:75%)
  • 🔀 77.8% 分支覆盖率(目标:75%)
  • 快速执行(全套约5秒)
  • 🎯 零构建警告

⚙️ 配置

命令批处理

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允许您:

  • ✅ 商业使用软件
  • ✅ 修改和分发
  • ✅ 再许可
  • ✅ 使用专利声明
  • ⚠️ 包含版权通知

🙏 致谢