
MCP Shell Server

2025.03.11
0
Pythonshell 命令执行远程执行安全执行开发效率
MCP Shell Server 是一个安全的远程执行 shell 命令的服务器,实现了模型上下文协议(MCP)。它允许通过 stdin 输入远程执行授权的 shell 命令,并提供了全面的输出信息,包括 stdout、stderr、退出代码和执行时间。
View on GitHub
Overview
基本能力
产品定位
MCP Shell Server 是一个安全的远程 shell 命令执行服务,专为需要远程执行受限命令集的场景设计。
核心功能
- 安全命令执行:仅允许执行预先授权的命令
- 标准输入支持:支持通过 stdin 向命令传递输入
- 全面输出:返回 stdout、stderr、退出代码和执行时间
- Shell 操作符安全验证:验证 shell 操作符(;, &&, ||, |)后的命令
- 超时控制:可设置命令的最大执行时间
适用场景
- 需要远程执行受限命令集的自动化任务
- 开发环境中需要安全执行 shell 命令的场景
- 需要监控命令执行时间和状态的自动化流程
工具列表
uvx
:用于运行已发布的服务器版本uv
:用于运行本地开发版本pytest
:用于运行测试
常见问题解答
- 如何添加允许的命令?
通过设置
ALLOW_COMMANDS
或ALLOWED_COMMANDS
环境变量 - 如何设置命令超时?
在请求中设置
timeout
字段 - 如何指定工作目录?
在请求中设置
directory
字段
使用教程
使用依赖
- Python 3.11 或更高版本
- mcp>=1.1.0
安装教程
已发布版本安装
pip install mcp-shell-server
开发环境设置
git clone https://github.com/yourusername/mcp-shell-server.git
cd mcp-shell-server
pip install -e ".[test]"
调试方式
启动服务器
ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
运行测试
pytest
示例请求
{
"command": ["ls", "-l", "/tmp"],
"timeout": 30
}