项目简介
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服务运行。
安装步骤
- 前提条件: 确保您的系统已安装 .NET 8.0 或更高版本。若需使用WinDBG调试工具,请确保已安装Windows调试工具。
- 克隆仓库: 'git clone https://github.com/CapulusCodeNinja/mcp_nexus.git'
- 进入目录: 'cd mcp_nexus'
- 构建项目: 'dotnet build'
- 运行服务器(Stdio模式,推荐用于AI集成): 'dotnet run'
- 运行服务器(HTTP模式,用于开发或调试): 'dotnet run -- --http'
- 作为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传输协议。
基本使用方法
-
启动服务器: 按照“安装步骤”中的说明启动MCP Nexus服务器(例如,'dotnet run' 或 'dotnet run -- --http')。
-
连接AI客户端: 使用任何兼容MCP的AI客户端(如Cursor IDE)配置连接信息(参照“服务器配置”部分),客户端即可自动发现并调用MCP Nexus提供的工具。
-
示例(通过'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响应。
-
调用工具(异步命令): 当您通过AI客户端调用WinDBG命令时(例如,'run_windbg_cmd_async'),服务器会立即返回一个'commandId'。您需要持续调用 'get_command_status' 工具,传入该'commandId',直到状态变为“completed”才能获取实际的WinDBG命令执行结果。
信息
分类
开发者工具