# cfdude
## 基本信息
- Slug: `cfdude-super-shell-mcp`
- Source: modelscope
- Publisher: @cfdude/super-shell-mcp
- Categories: shell-access / os-automation
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@cfdude/super-shell-mcp
## 简介
暂无描述。
## MCP Server 详情

# Super Shell MCP 服务器

[![smithery 徽章](https://smithery.ai/badge/@cfdude/super-shell-mcp)](https://smithery.ai/package/@cfdude/super-shell-mcp)

这是一个用于在多个平台（Windows、macOS 和 Linux）上执行 shell 命令的 MCP（Model Context Protocol）服务器。该服务器提供了一种安全的方式来执行 shell 命令，并内置了白名单和审批机制。

## 功能

- 通过 MCP 在 Windows、macOS 和 Linux 上执行 shell 命令
- 自动检测平台并选择相应的 shell
- 支持多种 shell：
  - **Windows**: cmd.exe, PowerShell
  - **macOS**: zsh, bash, sh
  - **Linux**: bash, sh, zsh
- 带有安全级别的命令白名单：
  - **安全**：无需审批即可执行的命令
  - **需要审批**：在执行前需要明确批准的命令
  - **禁止**：被明确阻止的命令
- 针对特定平台的命令白名单
- 对潜在危险命令的非阻塞式审批工作流
- 全面的日志系统，支持基于文件的日志记录
- 全面的命令管理工具
- 用于诊断的平台信息工具

## 安装

### 通过 Smithery 安装

要通过 [Smithery](https://smithery.ai/package/@cfdude/super-shell-mcp) 自动安装适用于 Claude Desktop 的 Super Shell MCP 服务器：

bash
npx -y @smithery/cli install @cfdude/super-shell-mcp --client claude


### 手动安装

bash
# 克隆仓库
git clone https://github.com/cfdude/super-shell-mcp.git
cd super-shell-mcp

# 安装依赖
npm install

# 构建项目
npm run build


## 使用

### 启动服务器

bash
npm start


或者直接运行：

bash
node build/index.js


### 在 Roo Code 和 Claude Desktop 中配置

Roo Code 和 Claude Desktop 使用类似的 MCP 服务器配置格式。以下是设置 Super Shell MCP 服务器的方法：

#### 选项 1：使用 NPX（推荐）

使用 NPX 是最简单的方式，它会自动从 npm 安装并运行包，而无需手动设置。该包在 NPM 上的地址为 [https://www.npmjs.com/package/super-shell-mcp](https://www.npmjs.com/package/super-shell-mcp)。

##### 使用 NPX 的 Roo Code 配置

json
"super-shell": {
  "command": "npx",
  "args": [
    "-y",
    "super-shell-mcp"
  ],
  "alwaysAllow": [],
  "disabled": false
}


##### 使用 NPX 的 Claude Desktop 配置

json
"super-shell": {
  "command": "npx",
  "args": [
    "-y",
    "super-shell-mcp"
  ],
  "alwaysAllow": false,
  "disabled": false
}


#### 选项 2：使用本地安装

如果您更喜欢使用本地安装，请将以下内容添加到您的 Roo Code MCP 设置配置文件中（位于 `~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`）：

json
"super-shell": {
  "command": "node",
  "args": [
    "/path/to/super-shell-mcp/build/index.js"
  ],
  "alwaysAllow": [],
  "disabled": false
}


您可以选择性地通过添加 shell 参数来指定自定义 shell：

json
"super-shell": {
  "command": "node",
  "args": [
    "/path/to/super-shell-mcp/build/index.js",
    "--shell=/usr/bin/bash"
  ],
  "alwaysAllow": [],
  "disabled": false
}

Windows 11 示例
json
"super-shell": {
      "command": "C:\Program Files\nodejs\node.exe",
      "args": [
        "C:\Program Files\nodejs\node_modules\npm\bin\npx-cli.js",
        "-y",
        "super-shell-mcp",
        "C:\Users\username"
      ],
      "alwaysAllow": [],
      "disabled": false
    }


#### Claude Desktop 配置

将以下内容添加到您的 Claude Desktop 配置文件中（位于 `~/Library/Application Support/Claude/claude_desktop_config.json`）：

json
"super-shell": {
  "command": "node",
  "args": [
    "/path/to/super-shell-mcp/build/index.js"
  ],
  "alwaysAllow": false,
  "disabled": false
}对于 Windows 用户，配置文件通常位于 `%APPDATA%Claudeclaude_desktop_config.json`。

### 平台特定配置

#### Windows
- 默认 shell: cmd.exe（如果可用则为 PowerShell）
- 配置路径：
  - Roo Code: `%APPDATA%CodeUserglobalStorageooveterinaryinc.roo-clinesettingscline_mcp_settings.json`
  - Claude Desktop: `%APPDATA%Claudeclaude_desktop_config.json`
- Shell 路径示例：
  - cmd.exe: `C:\Windows\System32\cmd.exe`
  - PowerShell: `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`
  - PowerShell Core: `C:\Program Files\PowerShell\7\pwsh.exe`

#### macOS
- 默认 shell: /bin/zsh
- 配置路径：
  - Roo Code: `~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`
  - Claude Desktop: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Shell 路径示例：
  - zsh: `/bin/zsh`
  - bash: `/bin/bash`
  - sh: `/bin/sh`

#### Linux
- 默认 shell: /bin/bash（或 $SHELL 环境变量）
- 配置路径：
  - Roo Code: `~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`
  - Claude Desktop: `~/.config/Claude/claude_desktop_config.json`
- Shell 路径示例：
  - bash: `/bin/bash`
  - sh: `/bin/sh`
  - zsh: `/usr/bin/zsh`

您可以选择指定自定义 shell：

json
"super-shell": {
  "command": "node",
  "args": [
    "/path/to/super-shell-mcp/build/index.js",
    "--shell=C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
  ],
  "alwaysAllow": false,
  "disabled": false
}


将 `/path/to/super-shell-mcp` 替换为您克隆仓库的实际路径。

> **注意**:
> - 对于 Roo Code：出于安全考虑，建议将 `alwaysAllow` 设置为空数组 `[]`，这样在执行任何命令前都会提示批准。如果您希望允许某些命令而不提示，则可以将这些命令的名称添加到数组中，例如：`"alwaysAllow": ["execute_command", "get_whitelist"]`。
> - 对于 Claude Desktop：出于安全考虑，建议将 `alwaysAllow` 设置为 `false`。Claude Desktop 使用布尔值而不是数组，其中 `false` 表示所有命令都需要批准，而 `true` 则表示所有命令无需提示即可执行。
>
> **重要**：`alwaysAllow` 参数由 MCP 客户端（Roo Code 或 Claude Desktop）处理，而不是 Super Shell MCP 服务器本身。无论使用哪种格式，服务器都能正常工作，因为客户端在向服务器发送请求之前会处理审批过程。

### 可用工具
服务器公开了以下 MCP 工具：

#### `get_platform_info`

获取当前平台和 shell 的信息。

json
{}


#### `execute_command`

在当前平台上执行 shell 命令。

json
{
  "command": "ls",
  "args": ["-la"]
}


#### `get_whitelist`

获取白名单命令列表。

json
{}


#### `add_to_whitelist`

将命令添加到白名单。

json
{
  "command": "python3",
  "securityLevel": "safe",
  "description": "运行 Python 3 脚本"
}


#### `update_security_level`

更新白名单命令的安全级别。

json
{
  "command": "python3",
  "securityLevel": "requires_approval"
}


#### `remove_from_whitelist`

从白名单中移除命令。

json
{
  "command": "python3"
}


#### `get_pending_commands`

获取待批准的命令列表。

json
{}


#### `approve_command`

批准一个待批准的命令。

json
{
  "commandId": "command-uuid-here"
}


#### `deny_command`

拒绝一个待批准的命令。

json
{
  "commandId": "command-uuid-here",
  "reason": "此命令可能有危险"
}


## 默认白名单命令

服务器包含基于检测到的平台自动选择的平台特定命令白名单。

### 通用安全命令（所有平台）

- `echo` - 将文本打印到标准输出### 类 Unix 安全命令 (macOS/Linux)

- `ls` - 列出目录内容
- `pwd` - 打印当前工作目录
- `echo` - 将文本打印到标准输出
- `cat` - 连接并打印文件
- `grep` - 在文件中搜索模式
- `find` - 在目录层次结构中查找文件
- `cd` - 更改目录
- `head` - 输出文件的开头部分
- `tail` - 输出文件的末尾部分
- `wc` - 打印行数、单词数和字节数

### Windows 特定安全命令

- `dir` - 列出目录内容
- `type` - 显示文本文件的内容
- `findstr` - 在文件中搜索字符串
- `where` - 定位程序
- `whoami` - 显示当前用户
- `hostname` - 显示计算机名称
- `ver` - 显示操作系统版本

### 需要批准的命令

#### 需要批准的 Windows 命令

- `copy` - …

