CMD MCP Server 使用说明
项目简介
CMD MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为 MCP 客户端提供执行操作系统命令的能力。通过此服务器,用户可以远程控制运行服务器的机器,执行本地命令行 (Windows CMD 或 Linux Shell) 和远程服务器的 SSH 命令。
主要功能点
- 本地命令执行: 允许 MCP 客户端通过 'execute_command' 工具在运行 CMD MCP Server 的机器上执行命令行操作,支持 Windows (CMD) 和 Linux (Shell)。
- 远程 SSH 命令执行: 允许 MCP 客户端通过 'execute_ssh_command' 工具连接到远程服务器并执行 SSH 命令。
- 持久会话: 默认情况下,本地命令和 SSH 命令都在持久会话中执行,这意味着后续命令可能会在相同的 shell 或 SSH 连接中运行,保持上下文状态。
- 新会话: 支持通过参数 'newSession: true' 强制为每个命令创建新的 shell 或 SSH 会话,确保命令执行环境的隔离性。
- 跨平台: 服务器基于 Node.js 和 MCP SDK 开发,理论上可以运行在支持 Node.js 的多种操作系统上。
安装步骤
- 安装 Node.js: 确保您的机器上已安装 Node.js (推荐 v16 或更高版本) 和 npm 包管理器。您可以从 Node.js 官网 下载并安装。
- 安装 server-cmd: 打开命令行终端,执行以下命令全局安装 'server-cmd' 包:
或者,如果您希望在项目本地安装,请在您的项目目录下执行:npm install -g server-cmdnpm install server-cmd
服务器配置 (MCP 客户端配置)
为了让 MCP 客户端能够连接到 CMD MCP Server,您需要在 MCP 客户端中配置服务器信息。以下是一个典型的 JSON 格式配置示例,您需要根据您的实际安装情况进行调整:
{ "serverName": "cmd-server", "command": "node", "args": [ "./node_modules/server-cmd/dist/index.js" ] }
配置参数说明:
- 'serverName': 为您的服务器指定一个名称,例如 "cmd-server",这个名称将在 MCP 客户端中用于标识和选择该服务器。
- 'command': 指定启动服务器的命令。由于 CMD MCP Server 是一个 Node.js 应用,所以这里通常设置为 'node',表示使用 Node.js 运行时环境。
- 'args': 一个字符串数组,包含传递给启动命令的参数。对于 CMD MCP Server,您需要指定服务器入口文件 'dist/index.js' 的路径。如果全局安装,路径可能需要调整为 'require.resolve('server-cmd/dist/index.js')' (在某些客户端配置中可能需要,这里为了简化,假设在项目根目录或全局node_modules下)。如果本地安装,且在项目根目录启动客户端,则可以使用相对路径 './node_modules/server-cmd/dist/index.js'。
请注意: 实际配置可能因 MCP 客户端的具体实现而略有不同。请参考您使用的 MCP 客户端的文档,了解如何配置和添加 MCP 服务器。
基本使用方法
- 启动 CMD MCP Server: 在安装 'server-cmd' 的环境下,确保 Node.js 可用,然后根据您的 MCP 客户端配置启动服务器。对于大多数情况,全局安装后,MCP 客户端应该能够根据配置自动启动服务器。
- 配置 MCP 客户端: 将上面提供的服务器配置 JSON 添加到您的 MCP 客户端配置中。
- 连接到服务器: 在 MCP 客户端中选择您配置的 "cmd-server",建立与 CMD MCP Server 的连接。
- 调用工具: 连接成功后,您可以使用 MCP 客户端提供的界面或 API 调用 'execute_command' 和 'execute_ssh_command' 工具,并传入相应的命令和参数,以执行本地或远程命令操作。
安全提示
请务必注意,允许通过 MCP 客户端执行命令行操作可能存在安全风险。请在受信任的环境中使用 CMD MCP Server,并仔细验证所有输入,防止恶意命令注入。
信息
分类
桌面与硬件