项目简介

MCP Nexus是一个功能全面的Model Context Protocol (MCP) 服务器平台,旨在通过标准化的协议(JSON-RPC)将各种专业工具和服务无缝集成到AI系统中。它特别专注于Windows调试功能,通过WinDBG/CDB提供崩溃分析、远程调试和命令执行,并支持异步命令处理和会话管理,为AI应用提供稳定、可扩展的上下文服务。

主要功能点

  • 双重传输支持: 支持Stdio(标准输入/输出)和HTTP两种通信模式,方便AI客户端灵活接入。
  • 标准化协议: 完全遵循JSON-RPC 2.0和MCP规范,确保与AI系统及客户端的兼容性。
  • WinDBG调试集成: 提供一套丰富的WinDBG调试工具,包括:
    • 崩溃转储分析: 'open_windbg_dump', 'close_windbg_dump'
    • 远程调试: 'open_windbg_remote', 'close_windbg_remote'
    • 异步命令执行: 'run_windbg_cmd_async'(所有WinDBG命令均通过异步队列执行,需单独查询结果)
    • 命令队列管理: 'get_command_status', 'cancel_command', 'list_commands'
    • 会话信息获取: 'get_session_info', 'list_windbg_dumps'
  • 通用工具: 包含如 'get_current_time' 等实用工具。
  • 模块化架构: 易于扩展,可根据需求添加新的工具类别。
  • 生产级健壮性: 提供可靠的日志记录、错误处理和资源管理,支持作为Windows服务运行。

安装步骤

  1. 前提条件: 确保您的系统已安装 .NET 8.0 或更高版本。若需使用WinDBG调试工具,请确保已安装Windows调试工具。
  2. 克隆仓库: 'git clone https://github.com/CapulusCodeNinja/mcp_nexus.git'
  3. 进入目录: 'cd mcp_nexus'
  4. 构建项目: 'dotnet build'
  5. 运行服务器(Stdio模式,推荐用于AI集成): 'dotnet run'
  6. 运行服务器(HTTP模式,用于开发或调试): 'dotnet run -- --http'
  7. 作为Windows服务安装(仅限Windows,需管理员权限):
    • 安装:'dotnet run -- --install'
    • 更新:'dotnet run -- --update'
    • 卸载:'dotnet run -- --uninstall'

服务器配置(供MCP客户端参考)

MCP客户端需要配置MCP Nexus服务器的连接信息。以下是常见的配置模式,具体参数取决于您的运行方式(Stdio或HTTP):

  • Stdio模式(推荐,直接通过进程通信): 此模式下,MCP客户端会启动MCP Nexus进程并通过标准输入输出流进行通信。您需要提供MCP Nexus可执行文件的路径和启动参数。

    // MCP客户端配置示例(JSON格式,勿直接粘贴为代码)
    {
      "mcpServers": {
        "mcp-nexus-stdio": {
          "command": "dotnet",
          "args": [
            "run",
            // "--project", "/path/to/mcp_nexus/mcp_nexus.csproj" // 如果客户端在项目根目录,可能需要指定项目文件
          ],
          "cwd": "/path/to/mcp_nexus", // MCP Nexus项目的根目录
          "type": "stdio"
        }
      }
    }

    参数说明:

    • '"command": "dotnet"':指定用于启动MCP Nexus的命令,通常是'dotnet'。
    • '"args": [...]':启动'dotnet'命令的附加参数。'"run"'表示运行项目。如果客户端运行环境与MCP Nexus项目文件不在同一目录,可能需要添加'"--project", "/path/to/mcp_nexus/mcp_nexus.csproj"'来明确指定项目文件路径。
    • '"cwd": "/path/to/mcp_nexus"':MCP Nexus项目所在的目录,确保MCP Nexus能正确找到其依赖和配置文件。
    • '"type": "stdio"':指定使用Stdio传输协议。
  • HTTP模式(适用于Web集成或远程连接): 此模式下,MCP Nexus会作为独立的HTTP服务运行。您需要提供服务器的URL。

    // MCP客户端配置示例(JSON格式,勿直接粘贴为代码)
    {
      "mcpServers": {
        "mcp-nexus-http": {
          "url": "http://localhost:5000/mcp", // MCP Nexus服务器的HTTP接口地址
          "type": "http"
        }
      }
    }

    参数说明:

    • '"url": "http://localhost:5000/mcp"':MCP Nexus服务器的HTTP监听地址。默认端口为5000,路径为'/mcp'。您可以根据实际部署调整主机名和端口(例如,使用'--port'命令行参数自定义端口)。
    • '"type": "http"':指定使用HTTP传输协议。

基本使用方法

  1. 启动服务器: 按照“安装步骤”中的说明启动MCP Nexus服务器(例如,'dotnet run' 或 'dotnet run -- --http')。

  2. 连接AI客户端: 使用任何兼容MCP的AI客户端(如Cursor IDE)配置连接信息(参照“服务器配置”部分),客户端即可自动发现并调用MCP Nexus提供的工具。

  3. 示例(通过'curl'调用HTTP模式下的'tools/list'): 在HTTP模式下,您可以通过'curl'等工具测试服务器功能。以下是一个获取可用工具列表的示例:

    curl -X POST http://localhost:5000/mcp \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/list",
        "params": {}
      }'

    服务器将返回包含所有可用工具及其描述和输入Schema的JSON响应。

  4. 调用工具(异步命令): 当您通过AI客户端调用WinDBG命令时(例如,'run_windbg_cmd_async'),服务器会立即返回一个'commandId'。您需要持续调用 'get_command_status' 工具,传入该'commandId',直到状态变为“completed”才能获取实际的WinDBG命令执行结果。

信息

分类

开发者工具