Lilith-Shell终端外壳
一个增强的MCP服务器,它赋予AI助手在用户系统上执行终端命令的能力,并具有改进的安全控制,专为在受控环境中使用而设计。
服务介绍
Lilith Shell
⚠️ 重要安全警告: 此MCP服务器授予AI助手在您的系统上执行终端命令的无限制能力。仅在您可以承受重建的受控环境(如虚拟机(VM)或开发系统)中使用。
关于
Lilith Shell 是一个增强的MCP服务器,它使AI助手能够以改进的安全控制和测试在您的系统上执行终端命令。由于这提供了无限制的访问权限,因此负责任地使用此软件并充分了解涉及的安全风险至关重要。
注意: 该服务器与支持模型上下文协议 (MCP) 的任何AI助手兼容。提供的配置和设置说明特别针对Claude Desktop进行了定制,它为所有MCP功能提供了全面的支持。
特性
- 执行带有安全验证的shell命令
- 捕获命令输出(stdout/stderr)
- 设置工作目录
- 处理命令超时
- 改进的测试覆盖率
- 增强的安全控制
- FastMCP集成
API
工具
- execute_command
- 执行shell命令并返回其输出
- 输入:
command(字符串): 要执行的命令directory(字符串, 可选): 工作目录
- 返回:
- 命令退出码
- 标准输出
- 标准错误
- 特性:
- 5分钟超时
- 工作目录支持
- 错误处理
- 安全验证
安装
先决条件
- Claude Desktop 需要有效的Claude Pro/Enterprise订阅
- 下载地址: Claude AI
- Python 3.10 或更高版本
- Git
- uv (用于包管理)
Windows 安装
-
安装先决条件:
选项A - 使用winget(如果系统中有winget可用):
winget install python git选项B - 手动安装(推荐):
- 从python.org下载并安装Python
- 从git-scm.com下载并安装Git
-
安装uv:
以管理员身份打开命令提示符 (
cmd.exe) 并运行:powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"如果遇到任何问题,您可能需要重启终端或计算机以使更改生效。
-
克隆并设置项目:
git clone https://github.com/charles-adedotun/Lilith-Shell.git cd Lilith-Shell然后创建一个虚拟环境。按顺序尝试以下命令直到其中一个成功:
python -m venv venv如果不成功,试试这个:
python3 -m venv venv然后激活环境:
venv\Scripts\activate -
安装依赖项:
uv pip install -e ".[dev]"
注意: 如果你是从 python.org 安装的 Python,通常会使用 python。如果你是通过 winget 或者从 Microsoft Store 安装的,你可能需要使用 python3。如果一个命令不起作用,请尝试另一个。
macOS 安装
-
安装先决条件:
brew install python git uv -
克隆并设置项目:
git clone https://github.com/charles-adedotun/Lilith-Shell.git cd Lilith-Shell python3 -m venv venv source venv/bin/activate -
安装依赖项:
uv pip install -e ".[dev]"
配置
Windows
找到正确的配置目录 - 按顺序尝试以下路径:
%APPDATA%\Claude\(通常是C:\Users\[YourUsername]\AppData\Roaming\Claude\)%LOCALAPPDATA%\AnthropicClaude\(通常是C:\Users\[YourUsername]\AppData\Local\AnthropicClaude\)
在正确的目录中创建或编辑 claude_desktop_config.json 文件:
{
"mcpServers": {
"lilith-shell": {
"command": "C:/path/to/cloned/Lilith-Shell/venv/Scripts/python.exe",
"args": [
"C:/path/to/cloned/Lilith-Shell/src/lilith_shell/executor.py"
],
"env": {
"PYTHONPATH": "C:/path/to/cloned/Lilith-Shell/src"
}
}
}
}
对于 Windows 的重要提示:
- 在路径中使用正斜杠 (
/) 而不是反斜杠 (\) - 将
[YourUsername]替换为你的实际 Windows 用户名 - 文件必须命名为
claude_desktop_config.json - 如果两个可能的配置位置都存在,请尝试每个直到成功
macOS
创建或编辑 ~/Library/Application Support/Claude/claude_desktop_config.json 文件:
{
"mcpServers": {
"lilith-shell": {
"command": "/path/to/cloned/Lilith-Shell/venv/bin/python",
"args": [
"/path/to/cloned/Lilith-Shell/src/lilith_shell/executor.py"
],
"env": {
"PYTHONPATH": "/path/to/cloned/Lilith-Shell/src"
}
}
}
}
对于 macOS 的重要提示:
- 将
[YourUsername]替换为你的实际用户名 - 如果偏好,可以使用
$HOME代替/Users/[YourUsername] - 文件必须命名为
claude_desktop_config.json command路径应指向虚拟环境中的 Python 解释器(venv/bin/python),而不是系统 Python
配置后
- 完全重启 Claude Desktop(退出/退出程序,而不仅仅是关闭窗口)。
- 点击 🔌 图标以验证服务器是否出现在“已安装 MCP 服务器”列表中。
- 如果服务器未出现,请检查 Claude 的日志:
- Windows:
%APPDATA%\Claude\Logs\mcp*.log或%LOCALAPPDATA%\AnthropicClaude\Logs\mcp*.log - macOS:
~/Library/Logs/Claude/mcp*.log
- Windows:
安全考虑
此服务器将以您的用户权限执行命令。请采取以下预防措施:
- 仅在虚拟机或一次性开发环境中使用。
- 绝不在生产系统或包含敏感数据的机器上使用。
- 如有需要,考虑实施命令限制。
- 监控系统访问和活动。
- 备份重要数据。
免责声明:开发者不对因使用本软件而导致的任何损害或损失负责。使用风险自负。
故障排除
如果您遇到问题:
-
检查日志:
- Windows:
%APPDATA%\Claude\Logs\mcp*.log或%LOCALAPPDATA%\AnthropicClaude\Logs\mcp*.log - macOS:
~/Library/Logs/Claude/mcp*.log
- Windows:
-
验证安装:
- 确保
uv已正确安装并在你的 PATH 中。 - 检查
mcp包是否已安装:pip show mcp。 - 验证 Python 版本为 3.10 或更高。
- 确保
-
配置问题:
- 仔细检查
claude_desktop_config.json中的所有路径。 - 验证 JSON 语法是否有效。
- 确保使用适合你操作系统的正确路径分隔符。
- 确认配置文件位于正确的位置。
- 仔细检查
-
环境问题:
- 如果使用虚拟环境,请确保
virtualenv已激活。 - 验证
PYTHONPATH设置正确。 - 检查文件权限。
- 如果使用虚拟环境,请确保
-
手动测试服务器:
# 首先,确保你在 Lilith-Shell 目录中: cd /path/to/cloned/Lilith-Shell # 对于 macOS: ./venv/bin/python src/lilith_shell/executor.py # 对于 Windows: .\venv\Scripts\python.exe src\lilith_shell\executor.py # 执行器似乎会挂起且没有输出 - 这是正常的。 # 它正在等待来自 Claude Desktop 的连接。 # 使用 Ctrl+C 停止它。 -
连接问题:
- 如果收到 "无法连接到 MCP 服务器" 错误,请确保在配置文件中使用了虚拟环境的 Python 解释器。
- 对于 macOS: 使用
/path/to/cloned/Lilith-Shell/venv/bin/python - 对于 Windows: 使用
C:/path/to/cloned/Lilith-Shell/venv/Scripts/python.exe
测试
设置完成后,在 Claude Desktop 中尝试以下命令:
Can you run 'pwd' and tell me what directory we're in?
或
Can you list the files in my home directory? Which of them are larger than 200 MB?
致谢
此项目是 Christian Hägg 的 Pandoras-Shell 的一个分支,并对其安全性、测试和功能进行了重大增强。原项目为 Lilith Shell 提供了基础和灵感。