Shell Command Execution MCP Server
项目简介
Shell Command Execution Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它为大型语言模型 (LLM) 提供了安全执行 Shell 命令的能力。通过白名单机制、资源控制和安全限制,该服务器允许 LLM 安全地与底层操作系统交互,执行预定义的 Shell 命令,从而扩展 LLM 的功能。
主要功能点
- 安全执行: 仅限白名单中的命令和参数可以执行,防止恶意命令注入。
- 资源控制: 监控命令的内存和 CPU 使用情况,防止资源滥用。
- 超时控制: 自动终止运行时间过长的命令,避免无限期运行。
- 大小限制: 限制命令输出的大小,防止返回过大的结果。
- MCP 集成: 完全兼容 MCP 协议,可以与 Claude 等 MCP 客户端无缝集成。
安装步骤
-
确保已安装 Node.js 18 或更高版本。
-
使用 npm 安装 '@kevinwatt/shell-mcp' 包:
npm install @kevinwatt/shell-mcp
服务器配置
MCP 客户端需要配置连接 Shell MCP 服务器的启动命令。以下是 Dive Desktop 的配置示例,其他 MCP 客户端的配置方式类似。
{ "mcpServers": { "shell": { "command": "npx", "args": [ "-y", "@kevinwatt/shell-mcp" ] } } }
- 'server name': 'shell' (服务器名称,可以自定义)
- 'command': 'npx' (Node.js 包执行器)
- 'args':
- '-y': 自动确认安装包 (可选,用于自动安装依赖)
- '@kevinwatt/shell-mcp': Shell MCP 服务器的 npm 包名称,这将启动服务器。
基本使用方法
配置完成后,在 MCP 客户端中,你可以指示 LLM 调用以下工具来执行 Shell 命令。工具名称以 'shell_' 开头,例如:
- 'shell_ls': 列出目录内容
- 'shell_pwd': 显示当前工作目录
- 'shell_df': 显示磁盘使用情况
例如,在与 LLM 对话时,你可以这样指示:
"使用 shell_pwd 显示当前目录" "使用 shell_ls 命令列出当前目录的文件,并显示详细信息" "使用 shell_df 命令查看磁盘空间使用情况"
LLM 将会调用相应的工具,并在安全的环境下执行 Shell 命令,然后将结果返回给你。
关键词
shell命令执行, LLM工具, 安全命令, 系统操作, 外部功能调用
信息
分类
桌面与硬件