About Python Sandbox MCP Server
Python Sandbox MCP Server lets LLMs execute Python in isolated Docker containers. It is intended for MCP clients that need code execution, stdout capture, or generated plots.
Key features
- 01Python execution with stdout capture
- 02Matplotlib plots as PNG images
- 03Isolation using Snekbox Docker
- 04SSE communication
Use cases
- 01Run Python code requested by an LLM
- 02Generate plot images from Python
- 03Return captured output to a client
MCP support
It exposes Python execution capabilities to MCP clients, with SSE communication. Configure the server to use the Snekbox API endpoint.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEPython Sandbox MCP Server
A secure Python code execution server that enables LLMs to run Python code safely in isolated Docker containers. The server supports:
- Regular Python code execution with stdout capture
- Matplotlib plotting with PNG image generation
- Secure sandboxing via Snekbox Docker container
- Real-time communication using Server-Sent Events (SSE)
Development
To get started with development, follow these steps:
Step 1: Clone the Repository
Fork and clone the repository:
git clone https://github.com/username/python_sandbox_mcp_server.git
Navigate into the project directory:
cd python_sandbox_mcp_server
Step 2: Install Dependencies
Install the required dependencies:
uv add -r requirements.txt
Step 3: Build the Python Sandbox
Pull the Snekbox Container Image:
docker pull ghcr.io/python-discord/snekbox:latest
Start the Container with Security Parameters:
docker run -d --ipc=none --privileged -p 8060:8060 ghcr.io/python-discord/snekbox
Install Additional Dependencies (Optional):
- If additional Python packages are required, you can install them as follows:
docker exec <container_id> /bin/sh -c \
'PYTHONUSERBASE=/snekbox/user_base /snekbox/python/default/bin/python -m pip install --user <package_name>'
- Replace <container_id> with the ID of your running Snekbox container and <package_name> with the desired package.
Step 4: Update MCP Server Configuration
Update your MCP server configuration to point to the local build:
{
"mcpServers": {
"python-sandbox-sse": {
"command": "mcp-proxy",
"args": [
"http://localhost:8060/eval"
],
"ssePath": "/eval"
}
}
}
Configuration
The server can be configured through the following environment variables or by modifying the Config class:
MCP_SERVER_NAME: Server identifier (default: "python-sandbox-mcp-sse")SNEKBOX_URL: Snekbox API endpoint (default: "http://localhost:8060/eval")TEMP_DIR: Directory for temporary files storage
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
