MCP Shell Server
未知
MCP Shell 服务器是一个安全的命令执行工具,实现了模型上下文协议(MCP),允许远程执行白名单中的shell命令。
核心特性
- ✅ 安全命令执行:仅执行白名单命令
- ✅ 标准输入支持:通过stdin传递输入
- ✅ 完整输出:返回stdout、stderr、退出状态和执行时间
- ✅ Shell操作符安全:验证所有命令包括操作符后的命令
- ✅ 超时控制:设置最大执行时间
安装
pip install mcp-shell-server
基本配置
在Claude.app中配置
修改 ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"shell": {
"command": "uvx",
"args": ["mcp-shell-server"],
"env": {
"ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
}
}
}
}
使用方法
启动服务器
ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
注意: 可使用
ALLOWED_COMMANDS
作为别名
请求示例
基本命令:
{
"command": ["ls", "-l", "/tmp"]
}
带标准输入:
{
"command": ["cat"],
"stdin": "Hello, World!"
}
带超时和工作目录:
{
"command": ["grep", "-r", "pattern"],
"directory": "/path/to/search",
"timeout": 60
}
响应格式
成功响应:
{
"stdout": "命令输出",
"stderr": "",
"status": 0,
"execution_time": 0.123
}
错误响应:
{
"error": "不允许的命令: rm",
"status": 1,
"stdout": "",
"stderr": "不允许的命令: rm",
"execution_time": 0
}
系统要求
- Python 3.11+
- mcp>=1.1.0
安全性
- 仅执行白名单命令
- 验证shell操作符(;, &&, ||, |)后的命令
- 直接执行命令,防止shell注入
许可证
MIT许可证