MCP 代码沙盒服务器
一个可扩展的消息通信协议 (MCP) 服务器,可在隔离的沙盒环境中提供安全的代码执行功能。此服务器遵循 MCP 标准,因此与 Claude for Desktop 和其他 MCP 客户端兼容。
特征
为代码执行创建隔离的沙盒环境
安全地执行 Python 代码
执行文件操作(列出、读取、写入)
在沙盒中安装 Python 包
具有抽象代码解释器接口的可扩展架构
模块化设计,关注点清晰分离
建筑学
该服务器采用模块化、可扩展的架构构建:
核心组件
抽象解释器接口:允许集成不同的代码执行后端
沙盒管理:用于创建和管理沙盒环境的工具
代码执行:运行代码和安装包的工具
文件操作:用于管理沙箱内文件的工具
项目结构
先决条件
Python 3.10 或更高版本
E2B API 密钥(用于默认 E2B 解释器)
安装
克隆此存储库:
git clone https://github.com/yourusername/mcp-code-sandbox.git cd mcp-code-sandbox设置虚拟环境:
# Using venv python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Or using uv (recommended) uv init uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate安装所需的软件包:
# Using pip pip install fastmcp python-dotenv e2b-code-interpreter # Or using uv uv add fastmcp python-dotenv e2b-code-interpreter配置环境变量:
# Create a .env file with the following variables E2B_API_KEY=your_e2b_api_key_here INTERPRETER_TYPE=e2b # Default, can be changed to other implemented interpreters
用法
独立运行服务器
您可以直接从命令行运行服务器:
这将使用 stdio 传输启动服务器,使其与 Claude for Desktop 兼容。
与 Claude for Desktop 一起使用
确保您安装了最新版本的 Claude for Desktop
打开您的 Claude for Desktop 配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加您的代码沙盒服务器配置:
{ "mcpServers": { "code-sandbox": { "command": "python", "args": [ "/ABSOLUTE/PATH/TO/main.py" ] } } }或者如果你使用
uv
:{ "mcpServers": { "code-sandbox": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PROJECT_DIRECTORY", "run", "main.py" ] } } }保存文件并重新启动 Claude for Desktop
可用工具
该服务器提供以下工具:
沙盒管理
create_sandbox :创建一个新的沙盒环境
close_sandbox :关闭并清理沙盒
get_sandbox_status :检查沙箱的状态
代码执行
执行代码:在沙箱中运行 Python 代码
install_package :安装 Python 包
create_run_close :创建沙盒、运行代码和清理的一体化工具
文件操作
list_files :列出沙盒中的文件
read_file :读取文件的内容
write_file :将内容写入文件
upload_file :将文件上传到沙盒
使用新的解释器进行扩展
该系统设计为可扩展的。要添加新的代码解释器:
在
src/sandbox/
下为您的解释器实现创建一个新目录实现
src/sandbox/code_interpreter.py
和src/sandbox/file_interface.py
中定义的接口将新的解释器类型添加到
src/sandbox/interpreter_factory.py
将环境变量
INTERPRETER_TYPE
配置为你的新解释器
实现新解释器的示例:
模块描述
沙盒核心( src/sandbox/
)
code_interpreter.py
:代码解释器的抽象基类file_interface.py
:文件操作的抽象接口interpreter_factory.py
:用于创建代码解释器实例的工厂
E2B 实现( src/sandbox/e2b/
)
e2b_interpreter.py
:代码解释器的 E2B 实现e2b_file_interface.py
:E2B 文件操作实现
工具( tools/
)
sandbox_tools.py
:沙盒管理工具code_execution_tools.py
:代码执行工具file_tools.py
:文件操作工具
主要应用
main.py
:主应用程序入口点
故障排除
如果您遇到问题:
确保您拥有所选解释器的正确 API 密钥
检查日志以获取详细的错误消息
验证所有必需的软件包都已安装
确保 Claude for Desktop 配置了正确的脚本路径
安全注意事项
为了安全起见,代码执行在沙盒环境中进行
不要使用此服务器在生产环境中执行不受信任的代码
该服务器目前未实现身份验证 - 它只能在受信任的环境中使用它
执照
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
可扩展的消息通信协议服务器,在隔离的沙盒环境中提供安全的代码执行功能,与 Claude for Desktop 和其他 MCP 客户端兼容。
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -325
- AsecurityFlicenseAqualityAn MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.Last updated -1930
- AsecurityFlicenseAqualityA server built with mcp-framework that allows users to extend Claude's capabilities by adding custom tools that can be used through the Claude Desktop client.Last updated -331
- -securityFlicense-qualityA server implementation of the Model Context Protocol that allows users to extend Claude's capabilities by creating custom tools that can be used within the Claude Desktop client.