项目简介
Remote Command MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它提供了一个名为 'execute_remote_command' 的工具,允许授权的 LLM 客户端在运行该服务器的主机上执行任何 shell 命令。该服务器旨在提供跨平台兼容性,能够自动处理 Windows 和 Unix-like 系统之间的命令差异,并支持指定工作目录和选择平台特定的 shell。
主要功能点
- 远程命令执行: 通过 MCP 协议提供远程执行 shell 命令的能力。
- 跨平台兼容: 自动处理 Windows 和 Linux/Unix 系统之间的命令差异,例如 'ls' 和 'dir' 的转换。
- 命令规范化: 针对不同平台规范化命令,确保命令的正确执行。
- 错误处理: 内置错误处理机制,提供详细的错误信息和命令执行输出,包括 stdout 和 stderr。
- 工作目录指定: 支持为命令执行指定工作目录。
- 平台 Shell 选择: 根据操作系统自动选择合适的 shell (Windows 使用 'cmd.exe',Unix/Linux 使用 '/bin/sh')。
安装步骤
-
克隆仓库:
git clone https://github.com/deepsuthar496/Remote-Command-MCP cd Remote-Command-MCP -
安装依赖:
npm install -
构建服务器:
npm run build
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 VSCode Cline 扩展)配合使用,您需要在客户端的 MCP 服务器配置文件中添加以下配置。 以下是 VSCode Cline Extension ('cline_mcp_settings.json') 的配置示例:
{ "mcpServers": { "remote-command": { "command": "node", "args": ["/path/to/Remote-Command-MCP/build/index.js"], "disabled": false, "autoApprove": [] } } }
配置参数说明:
- '"remote-command"': 服务器名称,客户端使用此名称来引用该服务器。可以自定义。
- '"command"': 启动 MCP 服务器的命令。 这里使用 'node',假设您的环境中已安装 Node.js。
- '"args"': 启动命令的参数,指向 'Remote-Command-MCP' 服务器构建后的入口文件 'index.js' 的绝对路径。 请务必将 '/path/to/Remote-Command-MCP' 替换为您实际的仓库克隆路径。
- '"disabled"': 设置为 'false' 表示启用该服务器。
- '"autoApprove"': 自动批准列表,用于配置工具的自动批准规则(本例为空列表,表示不自动批准任何工具调用)。
基本使用方法
配置完成后,在支持 MCP 协议的 LLM 客户端中,您可以使用 '<use_mcp_tool>' 标签来调用 'remote-command' 服务器提供的 'execute_remote_command' 工具。
工具名称: 'execute_remote_command'
参数:
- 'command' (必需): 要执行的 shell 命令,字符串类型。
- 'cwd' (可选): 命令执行的工作目录,字符串类型。如果不提供,则使用服务器的当前工作目录。
使用示例:
以下示例展示了如何使用该工具执行 'systeminfo' 命令(Windows)或 'uname -a' 命令(Linux)来获取系统信息:
<use_mcp_tool> <server_name>remote-command</server_name> <tool_name>execute_remote_command</tool_name> <arguments> { "command": "systeminfo" // Windows 系统 // 或 "uname -a" // Linux 系统 } </arguments> </use_mcp_tool>
更多使用示例请参考仓库的 README.md 文件。
安全提示: 由于该服务器允许执行任意 shell 命令,请务必谨慎使用,并仅授权给可信任的 LLM 客户端。 建议在应用层进行命令验证,并限制服务器的访问权限,以确保安全性。
信息
分类
开发者工具