返回 MCP 目录
public公开dns本地运行

shell-mcp

一个安全的Shell命令执行MCP服务器,为LLM提供受控的Shell命令执行能力

article

README

🚀 Shell命令执行MCP服务器

本项目是一个用于大语言模型(LLM)的安全Shell命令执行MCP服务器,能为LLM提供安全的Shell命令执行能力。

🚀 快速开始

本项目是一个MCP服务器实现,专门为大语言模型(LLM)提供安全的Shell命令执行能力。

✨ 主要特性

  • 安全执行:仅允许白名单中的命令和参数,保障执行环境安全。
  • 资源控制:对内存和CPU使用情况进行监控,避免资源过度占用。
  • 超时控制:自动终止长时间运行的命令,防止程序无限制运行。
  • 大小限制:对输出结果大小进行限制,确保安全性。
  • MCP集成:可与Claude和其他兼容MCP的LLM一起使用。

📦 安装指南

使用以下命令进行安装:

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 (数字,可选):执行超时时间(单位:毫秒)。

可用命令

| 命令 | 描述 | 允许的参数 | |--------------|--------------------|------------| | shell_ls | 列出目录中的文件 | 无 | | shell_pwd | 显示当前工作目录 | 无 | | shell_df | 显示磁盘使用情况 | 可选:-h | | 其他命令 | 具体功能请参考文档 | 根据命令不同而变化 |

注意:所有命令都需要通过白名单验证后方可执行。

💻 使用示例

基础用法

要求您的LLM执行以下操作:

"显示当前目录使用shell_pwd"
"使用shell_ls和-l参数列出文件"
"使用shell_df和-h参数检查磁盘使用情况"

手动启动

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

npx @kevinwatt/shell-mcp

🔧 技术细节

需求

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

开发

# 安装依赖项
npm install

# 监视模式
npm run watch

# 运行测试
npm test

# 校验代码风格
npm run lint

📄 许可证

本项目采用MIT许可证,© 德维·严。

关键字

  • mcp
  • shell
  • command
  • claude
  • llm
  • 自动化
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端