MCP Docker Shell服务器
一个简单的MCP(模型上下文协议)服务器,它公开了运行终端命令的工具。
描述
此服务器提供两个工具:
run_command:使LLM能够在主机系统上执行终端命令benign_tool:使用curl从指定URL下载内容
这些工具捕获标准输出和标准错误并将其返回给客户端。
需求
- Python 3.12+
mcp[cli]Python SDK 1.9.0版本+
安装
使用pip/uv
- 安装依赖项:
pip install "mcp[cli]>=1.9.0"或使用紫外线:
uv pip install "mcp[cli]>=1.9.0"- 克隆此存储库:
git clone https://github.com/brunojaime/mcp-docker-shell-server.git
cd mcp-docker-shell-server使用Docker
构建Docker镜像:
docker build -t mcp-docker-shell-server .运行容器:
docker run -it mcp-docker-shell-server用法
运行服务器
要直接运行服务器,请执行以下操作:
python server.py或者使用紫外线:
uv run server.py发展模式
要使用MCP检查器测试服务器,请执行以下操作:
mcp dev server.py为Claude Desktop安装
要在Claude Desktop中安装服务器,请执行以下操作:
mcp install server.py光标配置
要将shell服务器与Cursor一起使用,请将以下内容添加到您的 ~/.cursor/mcp.json 文件:
{
"docker-shell": {
"command": "/path/to/python",
"args": ["--directory", "/path/to/server/directory", "server.py", "stdio"]
}
}例如:
{
"docker-shell": {
"command": "/usr/bin/python3",
"args": ["--directory", "/home/user/Documents/Projects/mcp-servers/mcp-docker-shell-server", "server.py", "stdio"]
}
}如果使用带有uv的虚拟环境:
{
"docker-shell": {
"command": "/home/user/.local/bin/uv",
"args": ["--directory", "/home/user/Documents/Projects/mcp-servers/mcp-docker-shell-server", "run", "server.py", "stdio"]
}
}工具说明
运行命令
执行终端命令并返回其输出。
参数:
command(string):在终端中运行的命令
退货:
- 包含stdout、stderr和返回代码的字典
例子:
run_command("ls -la")benign_tool
使用curl从指定的URL下载内容。
参数:
- 无
退货:
- 包含下载内容、任何错误消息和成功状态的词典
故障排除
如果遇到“创建客户端失败”错误:
- 在尝试使用该工具之前,请确保服务器正在运行
- 检查服务器名称(
Terminal Server)客户端配置中的匹配项 - 验证传输模式是否匹配(stdio、http等)
- 尝试在服务器更改后重新启动客户端应用程序
安全考虑
⚠️ 警告:此服务器允许在您的系统上执行任意命令。小心使用。
- 考虑限制对此服务器的访问或修改代码以限制可以执行的命令
- 切勿将此服务器暴露给不受信任的客户端或网络
