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

command-executor-mcp-server

一个安全的预批准命令执行MCP服务器,提供受限命令执行功能并支持实时输出流

article

README

🚀 命令执行器 MCP 服务器

命令执行器 MCP 服务器用于安全地执行预批准命令,为用户提供了一个安全、便捷的命令执行环境。

🚀 快速开始

本服务器是一个 Model Context Protocol 服务器,用于安全地执行预批准命令。

🎥 演示

您可以通过以下链接查看演示: https://github.com/user-attachments/assets/ed763a12-b685-4e0b-b9a5-bc948a590f51

✨ 主要特性

  • 安全执行:使用预批准命令列表,确保只有授权命令才能执行。
  • 灵活配置:可通过环境变量自定义允许的命令。
  • 技术构建:基于 TypeScript 和 MCP SDK 构建。
  • 无缝集成:通过 stdio 进行通信,实现与其他系统的无缝对接。
  • 稳定可靠:具备错误处理和安全验证机制。
  • 实时反馈:提供实时命令输出流。

📦 安装指南

安装依赖

npm install

构建服务器

npm run build

开发模式(自动重建)

npm run watch

⚙️ 详细文档

🔒 允许的命令

默认允许以下命令:

  • git
  • ls
  • mkdir
  • cd
  • npm
  • npx
  • python

您可以通过设置 ALLOWED_COMMANDS 环境变量来自定义允许的命令,示例如下:

export ALLOWED_COMMANDS=git,ls,mkdir,python

🔌 Claude 桌面集成

若要与 Claude Desktop 一起使用,需添加服务器配置:

  • MacOS:配置文件路径为 ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:配置文件路径为 %APPDATA%/Claude/claude_desktop_config.json

配置示例如下:

{
  "mcpServers": {
    "command-executor": {
      "command": "/path/to/command-executor/build/index.js"
    }
  }
}

🔧 技术细节

命令执行器服务器实现了多项安全措施,保障系统的安全性:

  1. 预批准命令列表:只有显式允许的命令才能执行,默认列表严格且注重安全,同时通过前缀验证防止命令注入。
  2. 命令验证:采用命令前缀验证,防止命令注入;不使用 shell 执行,提高安全性;对环境变量进行适当清理。
  3. 运行时安全:使用 CAP(容器化应用保护)策略限制进程权限,以非 root 用户身份运行,防止路径遍历攻击。

🛠️ 构建

要构建命令执行器,请使用 Node.js 和 npm,执行以下命令:

npm install
npm run build

🤝 贡献

如果您想为项目做出贡献,请按照以下步骤操作:

  1. 叉克隆仓库。
  2. 创建功能分支。
  3. 提交更改。
  4. 推送到分支。
  5. 创建新的拉取请求。

📄 许可证

本项目根据 MIT 许可证发布,详细信息请查看 LICENSE 文件。

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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