一个提供隔离 Docker 环境用于代码执行的 MCP 服务器。此服务器允许您:
git clone <your-repo-url>
cd sandbox_server
uv venv
source .venv/bin/activate # 在 Unix/MacOS 上
# 或在 Windows 上:
# .venv\Scripts\activate
uv pip install .
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"sandbox": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/sandbox_server",
"run",
"sandbox_server.py"
],
"env": {
"PYTHONPATH": "/absolute/path/to/sandbox_server"
}
}
}
}
将 /absolute/path/to/sandbox_server 替换为您项目的实际路径。
连接到 Claude Desktop 后,您可以:
能否创建一个 Python 容器,并编写一个简单的“Hello World”程序?
能否创建一个计算斐波那契数列的 C 程序并运行它?
能否创建一个使用 numpy 生成和绘制随机数据的 Python 脚本?
服务器提供了几种保存和复制您的开发环境的方法:
创建容器时,可以使其具有持久性:
能否创建一个已安装 numpy 和 pandas 的持久性 Python 容器?
这将创建一个容器:
服务器将提供以下指令:
docker exec)设置好环境后,可以将其保存为 Docker 镜像:
能否将当前容器状态保存为名为 'my-ds-env:v1' 的镜像?
这将:
然后,您可以共享此镜像或将其作为新容器的起点:
能否使用 my-ds-env:v1 镜像创建一个新容器?
为了使您的环境完全可重现,可以生成一个 Dockerfile:
能否导出一个能够重建此环境的 Dockerfile?
生成的 Dockerfile 将包括:
您可以使用此 Dockerfile 来:
为了实现可重现的开发环境:
创建一个用于数据科学工作的持久性 Python 容器
在容器中安装 numpy、pandas 和 scikit-learn
创建并运行一个测试脚本来验证环境
将此容器保存为 'ds-workspace:v1'
为此环境生成一个 Dockerfile
这为您提供了几种重新创建环境的选择:
sandbox_server/
├── sandbox_server.py # 主服务器实现
├── pyproject.toml # 项目配置
└── README.md # 此文件
服务器提供了三个主要工具:
create_container_environment: 创建具有指定镜像的新 Docker 容器create_file_in_container: 在容器中创建文件execute_command_in_container: 在容器中运行命令save_container_state: 将容器状态保存为持久性容器export_dockerfile: 导出 Dockerfile 以创建持久性环境exit_container: 关闭容器以清理环境