MCP Shell
Model Context Protocol 的 Node.js 实现,提供安全的 shell 命令执行功能,允许像 Claude 这样的 AI 模型在具有内置安全措施的受控环境中运行 shell 命令。
可用工具 (1 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
run_command 1 个参数
Run a shell command
该工具无需必填参数,直接调用即可
服务介绍
Shell MCP 服务器
这是一个用 Node.js 实现的 Model Context Protocol (MCP) 服务器,它提供了安全的 shell 命令执行功能。该服务器允许 AI 模型在具有内置安全措施的受控环境中执行 shell 命令。可以轻松与 Claude Desktop 集成,以将 Claude 与您的 shell 连接起来。
特性
- 符合 MCP 的服务器实现
- 具有黑名单保护的安全命令执行
- 命令存在验证
- 基于标准 I/O 的传输
- 错误处理和优雅关闭
安装
运行 npx mcp-shell。
要将其添加到 Claude Desktop 中,请运行 npx mcp-shell config。或者手动将 npx -y mcp-shell 添加到您的配置中。
启动(或重启)Claude Desktop,您应该会在登录页面上看到列出的 MCP 工具。
安全特性
服务器实现了以下几种安全措施:
-
命令黑名单
- 阻止执行危险的系统命令
- 阻止对关键系统修改的访问
- 保护文件系统免受破坏
- 防止权限提升
-
命令验证
- 在执行前验证命令是否存在
- 对照黑名单进行验证
- 对无效命令返回明确的错误消息
可用工具
服务器提供了一个工具:
run_command
执行一个 shell 命令并返回其输出。
输入模式:
{
"type": "object",
"properties": {
"command": { "type": "string" }
}
}
响应:
- 成功:命令输出为纯文本
- 错误:错误消息为纯文本
黑名单命令
出于安全考虑,以下命令类别被阻止:
- 文件系统破坏命令(rm, rmdir, del)
- 磁盘/文件系统命令(format, mkfs, dd)
- 权限/所有权命令(chmod, chown)
- 权限提升命令(sudo, su)
- 代码执行命令(exec, eval)
- 系统通信命令(write, wall)
- 系统控制命令(shutdown, reboot, init)
错误处理
服务器包括全面的错误处理:
- 命令未找到错误
- 黑名单命令错误
- 执行错误
- MCP 协议错误
- 接收到 SIGINT 时优雅关闭
实现细节
服务器使用以下技术构建:
- Model Context Protocol SDK
- 用于通信的 StdioServerTransport
- 用于命令执行的 execa
- 用于命令验证的 command-exists
开发
要修改安全设置,您可以:
- 编辑
BLACKLISTED_COMMANDS集合以调整被阻止的命令 - 修改
validateCommand函数以添加额外的验证规则 - 在
CallToolRequestSchema处理程序中增强命令解析逻辑