项目简介
Nx Console MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它扩展了 Nx Console 的功能,使其能够以标准化的方式为大型语言模型 (LLM) 客户端提供关于 Nx 工作空间的深入上下文信息和代码生成能力。通过 MCP 协议,该服务器允许 LLM 应用安全、可扩展地访问和操作 Nx 工作区资源,并调用 Nx 的强大工具链。
主要功能点
- 资源 (Resources) 访问: 允许 LLM 客户端获取 Nx 工作空间的项目结构、配置信息、任务列表等关键资源,从而理解和操作代码库。
- 工具 (Tools) 执行: 支持注册和执行 Nx 的代码生成器 (Generators) 和其他 CLI 工具,使 LLM 能够自动化代码生成、项目配置和构建等任务。
- Prompt 模板 (Prompts) 支持: 虽然仓库信息中没有明确提及 Prompt 模板,但 MCP 服务器的架构设计使其具备支持 Prompt 模板的潜力,未来可能通过配置化的方式定制 LLM 交互模式。
- 多种传输协议: 当前版本支持 Stdio 和 SSE (Server-Sent Events) 两种传输协议,方便集成到不同的 LLM 客户端环境中。
- 会话管理和能力声明: MCP 服务器负责管理客户端会话,并声明其提供的资源和工具能力,确保客户端能够清晰地了解服务器的功能范围。
- 集成 AI 聊天: 通过提供结构化的工作空间上下文,增强了编辑器内 AI 聊天功能(如 VSCode 和 Cursor),使 AI 能够更智能地理解和辅助开发者处理 Nx 项目。
安装步骤
由于 Nx Console MCP Server 是 Nx Console 项目的一部分,您需要先安装 Nx Console 才能使用 MCP Server 功能。Nx Console 本身是 VSCode 和 JetBrains IDE 的插件,但 MCP Server 部分可以独立运行。
- 确保已安装 Node.js: Nx Console 和 MCP Server 基于 Node.js 运行,请确保您的环境中已安装 Node.js (>= 16.0)。
- 安装 Nx Console (可选但推荐): 虽然不是运行 MCP Server 的必要条件,但安装 Nx Console 可以帮助您更好地管理和配置 Nx 工作空间。您可以从 VSCode Marketplace 或 JetBrains Marketplace 安装 Nx Console 插件。
- 克隆仓库: 从 GitHub 克隆 'nrwl/nx-console' 仓库到本地:
git clone https://github.com/nrwl/nx-console.git cd nx-console - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
npm install - 编译 MCP Server: 运行 Nx 构建命令编译 'nx-mcp' 应用:
编译成功后,MCP Server 的可执行文件将位于 'dist/apps/nx-mcp/main.js'。nx build nx-mcp
服务器配置
MCP 客户端需要配置以下信息以连接到 Nx Console MCP Server。以下是 JSON 格式的配置示例,您可以根据实际情况进行调整:
{ "serverName": "NxConsoleMCP", // MCP 服务器的名称,您可以自定义 "command": "node", // 启动 MCP 服务器的命令,这里使用 node "args": [ // 启动命令的参数 "dist/apps/nx-mcp/main.js" // 指向编译后的 MCP Server 入口文件 // "--workspacePath", "/path/to/your/nx/workspace" // (可选) 如果服务器无法自动检测工作区,可以手动指定 // "--sse", // (可选) 启用 SSE 传输协议 // "--port", "9921" // (可选) SSE 服务器端口,仅当启用 SSE 时有效 // "--disableTelemetry" // (可选) 禁用遥测数据发送 ], "transport": "stdio" // 传输协议,默认为 stdio,也可以配置为 "sse" }
参数注释:
- 'serverName': MCP 服务器的自定义名称,用于在客户端识别和管理多个服务器连接。
- 'command': 启动服务器进程的命令,通常为 'node' 或 Node.js 可执行文件的路径。
- 'args': 传递给启动命令的参数数组。
- 'dist/apps/nx-mcp/main.js': 必需参数,指向编译后的 Nx Console MCP Server 的主入口文件。
- '--workspacePath': 可选参数,用于手动指定 Nx 工作空间的根目录。如果服务器能够自动检测到工作空间(例如,在工作空间根目录下启动服务器),则不需要此参数。
- '--sse': 可选参数,启用 Server-Sent Events (SSE) 传输协议。如果客户端需要通过 HTTP SSE 与服务器通信,则需要添加此参数。
- '--port': 可选参数,指定 SSE 服务器监听的端口号,默认为 '9921'。仅当 '--sse' 参数被启用时有效。
- '--disableTelemetry': 可选参数,禁用遥测数据发送。如果您不希望服务器收集匿名使用数据,可以添加此参数。
- 'transport': 指定 MCP 客户端与服务器之间通信的传输协议。
- '"stdio"': 使用标准输入输出流 (stdio) 进行通信,这是默认的传输方式,适用于本地进程间通信。
- '"sse"': 使用 Server-Sent Events (SSE) 进行通信,适用于通过 HTTP 进行通信的场景。客户端需要配置相应的 SSE 客户端库来连接服务器。
注意: 请根据您的 MCP 客户端的具体配置要求和网络环境选择合适的传输协议和参数。通常情况下,如果客户端和服务器在同一台机器上运行,'stdio' 协议是更简单高效的选择。如果需要通过网络进行通信,则可以使用 'sse' 协议。
基本使用方法
- 启动 MCP Server: 根据您选择的传输协议,使用配置信息中的 'command' 和 'args' 启动 Nx Console MCP Server。例如,如果使用 'stdio' 协议,可以直接在终端中运行:
如果使用 'sse' 协议,则需要运行:node dist/apps/nx-mcp/main.js --workspacePath=/path/to/your/nx/workspacenode dist/apps/nx-mcp/main.js --workspacePath=/path/to/your/nx/workspace --sse --port=9921 - 配置 MCP 客户端: 在您的 LLM 应用或 MCP 客户端中,根据上述服务器配置示例,配置连接到 Nx Console MCP Server 的信息,包括服务器名称、启动命令、参数和传输协议。
- 连接和交互: 启动您的 MCP 客户端,它将根据配置信息连接到 Nx Console MCP Server。连接成功后,您可以使用 MCP 协议定义的标准请求和通知与服务器进行交互,例如:
- 请求获取 Nx 工作空间的资源信息 (例如,项目列表、项目详情)。
- 请求执行 Nx 代码生成器,自动化创建组件、服务等代码。
- 接收服务器发送的关于工作空间状态变化的通知。
具体的操作方式和可用的资源、工具取决于 Nx Console MCP Server 的具体实现和您使用的 MCP 客户端的功能。请参考 MCP 协议文档和 Nx Console MCP Server 的 API 文档 (如果提供) 以获取更详细的使用信息。
信息
分类
开发者工具