dynamic-shell-server
by codelion·★ 41·综合分 36
一个 Python MCP 服务器,通过动态批准和审计日志实现安全 shell 命令执行。
developer-toolssecurityops-infra
7
Forks
2
活跃 Issue
15 个月前
最近提交
2 天前
收录于
概述
dynamic-shell-server 是一个 Model Context Protocol 实现,提供安全的 shell 命令执行功能。其核心特点是动态批准系统,要求用户在运行命令前进行确认,可选择一次性批准或永久记住批准。服务器维护全面的审计日志,并持久存储已批准的命令。它包含命令超时保护和撤销功能等安全特性,适用于需要 shell 访问但安全性至关重要的环境。
试试问 AI
装完之后,这里有 5 个你可以让 AI 做的事:
你:通过 AI 助手安全执行 shell 命令,同时保持用户控制
你:为通过 AI 界面执行的所有系统管理任务创建审计跟踪
你:为开发人员提供受控方式执行构建和部署命令
你:批准系统如何工作?
你:如果命令超时会发生什么?
什么时候选它
当您需要通过AI助手安全执行shell命令,但希望对可运行的命令进行细粒度控制并维护审计跟踪时选择此工具。
什么时候不要选它
不适用于需要高性能命令执行或复杂权限模型的生产环境,因为它专为AI助手上下文中的交互式审批而设计。
此 server 暴露的工具
从 README 抽取出 2 个工具execute_commandExecute a shell command with optional arguments
revoke_command_approvalRevoke approval for a previously approved command
可对比工具
shell-mcpsafe-executorcommand-runner-server
安装
安装
- 克隆此仓库:
git clone <repository-url>
cd dynamic-shell-server- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # 在 Windows 上使用:venv\Scripts\activate- 安装依赖:
pip install -r requirements.txtClaude Desktop 集成
- 打开 Claude Desktop 配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - Windows: %APPDATA%\Claude\claude_desktop_config.json
- 添加服务器配置:
{
"mcpServers": {
"shell": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/dynamic_shell_server.py"]
}
}
}- 重启 Claude Desktop
FAQ
- 批准系统如何工作?
- 首次运行命令时,系统会提示用户选择一次性批准、永久记住批准或拒绝执行。已批准的命令存储在 ~/.config/mcp-shell-server/approved_commands.json 文件中。
- 如果命令超时会发生什么?
- 服务器为所有命令设置了 5 分钟超时。如果命令在此时间内未完成,它将被自动终止并记录在审计日志中。
dynamic-shell-server 对比
最后更新于 · 由 README + GitHub 公开数据自动生成。