S

Shell MCP安全工具

@kevinwatt/shell-mcp
3 Stars 848 次浏览 kevinwatt 更新于 2026-08-23

一个安全的MCP服务器,用于执行列入白名单的shell命令,并具有资源和超时控制,专为与克劳德和其他与MCP兼容的大型语言模型集成而设计。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "shell": {
      "args": [
        "-y",
        "@kevinwatt/shell-mcp"
      ],
      "command": "npx"
    }
  }
}

可用工具 (20 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

shell_ls 1 个参数

List directory contents

该工具无需必填参数,直接调用即可

shell_cat 1 个参数

Concatenate and display file contents

该工具无需必填参数,直接调用即可

shell_pwd 1 个参数

Show current working directory

该工具无需必填参数,直接调用即可

shell_df 1 个参数

Show disk usage

该工具无需必填参数,直接调用即可

shell_echo 1 个参数

Display text

该工具无需必填参数,直接调用即可

shell_ps 1 个参数

Show process status

该工具无需必填参数,直接调用即可

shell_free 1 个参数

Show memory usage

该工具无需必填参数,直接调用即可

shell_uptime 1 个参数

Show system uptime

该工具无需必填参数,直接调用即可

shell_date 1 个参数

Show system date and time

该工具无需必填参数,直接调用即可

shell_grep 1 个参数

Search text patterns in files

该工具无需必填参数,直接调用即可

shell_w 1 个参数

Show who is logged on and what they are doing

该工具无需必填参数,直接调用即可

shell_whois 1 个参数

Query WHOIS domain registration information

该工具无需必填参数,直接调用即可

shell_find 1 个参数

Search for files in a directory hierarchy

该工具无需必填参数,直接调用即可

shell_netstat 1 个参数

Network connection information

该工具无需必填参数,直接调用即可

shell_lspci 1 个参数

List PCI devices

该工具无需必填参数,直接调用即可

shell_lsusb 1 个参数

List USB devices

该工具无需必填参数,直接调用即可

shell_dig 1 个参数

DNS lookup utility

该工具无需必填参数,直接调用即可

shell_nslookup 1 个参数

Query DNS records

该工具无需必填参数,直接调用即可

shell_ip 1 个参数

Show / manipulate routing, network devices, interfaces and tunnels

该工具无需必填参数,直接调用即可

shell_whereis 1 个参数

Locate the binary, source, and manual page files for a command

该工具无需必填参数,直接调用即可

服务介绍

shell-mcp

Shell 命令执行 MCP 服务器

Version
License

一个为 LLMs 提供安全的 shell 命令执行能力的 MCP 服务器实现。

功能

  • 安全执行:仅允许白名单中的命令和参数
  • 资源控制:内存和 CPU 使用监控
  • 超时控制:自动终止长时间运行的命令
  • 大小限制:为了安全起见,限制输出大小
  • MCP 集成:与 Claude 和其他兼容 MCP 的 LLMs 一起工作

安装

npm install @kevinwatt/shell-mcp

Dive Desktop 配置

  1. 在 Dive Desktop 中点击 "+ 添加 MCP 服务器"
  2. 复制并粘贴此配置:
{
  "mcpServers": {
    "shell": {
      "command": "npx",
      "args": [
        "-y",
        "@kevinwatt/shell-mcp"
      ]
    }
  }
}

工具文档

  • shell_ls, shell_pwd, shell_df 等
    • 执行白名单中的 shell 命令
    • 输入:
      • command (字符串,必填): 要执行的命令
      • args (数组,可选): 命令参数
      • timeout (数字,可选): 执行超时时间(毫秒)

使用示例

让您的 LLM 执行:

"Show current directory using shell_pwd"
"List files using shell_ls with -l argument"
"Check disk usage using shell_df with -h argument"

手动启动

如果需要,可以手动启动服务器:

npx @kevinwatt/shell-mcp

要求

  • Node.js 18+
  • 兼容 MCP 的 LLM 服务

开发

# Install dependencies
npm install

# Watch mode
npm run watch

# Run tests
npm test

# Lint
npm run lint

许可证

MIT © Dewei Yen

关键词

  • mcp
  • shell
  • 命令
  • claude
  • llm
  • 自动化

可用命令

以下 shell 命令可用:

命令 描述 允许的参数
ls 列出目录内容 -l, -a, -h, -R, --help, *
cat 连接并显示文件内容 -n, -b, --help, *
pwd 显示当前工作目录 None
df 显示磁盘使用情况 -h, -T, --help
echo 显示文本 任意文本
ps 显示进程状态 -e, -f, -u, --help
free 显示内存使用情况 -h, -m, -g, --help
uptime 显示系统运行时间 None
date 显示系统日期和时间 +%Y-%m-%d, +%H:%M:%S, --help
grep 在文件中搜索文本模式 -i, -v, -n, -r, -l, --color, *
w 显示登录用户及其正在做什么 -h, -s, --no-header, --help
whois 查询WHOIS域名注册信息 -H, *
find 在目录层次结构中查找文件 -name, -type, -size, -mtime, *
netstat 网络连接信息 -a, -n, -t, -u, -l, -p, --help
lspci 列出PCI设备 -v, -k, -mm, -nn, --help
lsusb 列出USB设备 -v, -t, -d, -s, --help
dig DNS查询工具 +short, +trace, +dnssec, @*, *
nslookup 查询DNS记录 -type=, -query=, *
ip 显示网络设备和接口 addr, link, route, neigh, -br, *
whereis 定位二进制、源代码和手册文件 -b, -m, -s, *

相关 MCP 服务