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"
}
}
}
🔧 技术细节
命令执行器服务器实现了多项安全措施,保障系统的安全性:
- 预批准命令列表:只有显式允许的命令才能执行,默认列表严格且注重安全,同时通过前缀验证防止命令注入。
- 命令验证:采用命令前缀验证,防止命令注入;不使用 shell 执行,提高安全性;对环境变量进行适当清理。
- 运行时安全:使用 CAP(容器化应用保护)策略限制进程权限,以非 root 用户身份运行,防止路径遍历攻击。
🛠️ 构建
要构建命令执行器,请使用 Node.js 和 npm,执行以下命令:
npm install
npm run build
🤝 贡献
如果您想为项目做出贡献,请按照以下步骤操作:
- 叉克隆仓库。
- 创建功能分支。
- 提交更改。
- 推送到分支。
- 创建新的拉取请求。
📄 许可证
本项目根据 MIT 许可证发布,详细信息请查看 LICENSE 文件。
Scan to join WeChat group