Skip to main content
Glama
JohanLi233

Python MCP Sandbox

by JohanLi233

Песочница MCP

Не стесняйтесь попробовать mcp sandbox

Версия Python Лицензия УФ МКП

中文文档| Английский

Демо

Python MCP Sandbox — это интерактивный инструмент выполнения кода Python, который позволяет пользователям и LLM безопасно выполнять код Python и устанавливать пакеты в изолированные контейнеры Docker.

Виби

Viby работает с mcp sandbox

Функции

  • 🐳 Изоляция Docker : безопасный запуск кода Python в изолированных контейнерах Docker

  • 📦 Управление пакетами : простая установка и управление пакетами Python

  • 📊 Генерация файлов : поддержка генерации файлов и доступа к ним через веб-ссылки.

Related MCP server: PRIMS – Python Runtime Interpreter MCP Server

Установка

# Clone the repository
git clone https://github.com/JohanLi233/python-mcp-sandbox.git
cd python-mcp-sandbox

uv venv
uv sync

# Start the server
uv run main.py

Конечной точкой SSE по умолчанию является http://localhost:8000/sse , и вы можете взаимодействовать с ней через MCP Inspector через SSE или любой другой клиент, поддерживающий соединения SSE.

Доступные инструменты

  1. create_sandbox : создает новую песочницу Python Docker и возвращает ее идентификатор для последующего выполнения кода и установки пакета.

  2. list_sandboxes : список всех существующих песочниц (контейнеров Docker) для повторного использования

  3. execute_python_code : выполняет код Python в указанной песочнице Docker

  4. install_package_in_sandbox : Устанавливает пакеты Python в указанную песочницу Docker

  5. check_package_installation_status : проверяет, установлен ли пакет или статус установки в песочнице Docker

  6. execute_terminal_command : выполняет команду терминала в указанной песочнице Docker. Параметры: sandbox_id (строка), command (строка). Возвращает stdout , stderr , exit_code .

  7. upload_file_to_sandbox : Загружает локальный файл в указанную песочницу Docker. Параметры: sandbox_id (строка), local_file_path (строка), dest_path (строка, необязательно, по умолчанию: /app/results ).

Структура проекта

python-mcp-sandbox/
├── main.py                    # Application entry point
├── requirements.txt           # Project dependencies
├── Dockerfile                 # Docker configuration for Python containers
├── results/                   # Directory for generated files
├── mcp_sandbox/               # Main package directory
│   ├── __init__.py
│   ├── models.py              # Pydantic models
│   ├── api/                   # API related components
│   │   ├── __init__.py
│   │   └── routes.py          # API route definitions
│   ├── core/                  # Core functionality
│   │   ├── __init__.py
│   │   ├── docker_manager.py  # Docker container management
│   │   └── mcp_tools.py       # MCP tools
│   └── utils/                 # Utilities
│       ├── __init__.py
│       ├── config.py          # Configuration constants
│       ├── file_manager.py    # File management
│       └── task_manager.py    # Periodic task management
└── README.md                  # Project documentation

Пример подсказки

I've configured a Python code execution sandbox for you. You can run Python code using the following steps:

1. First, use the "list_sandboxes" tool to view all existing sandboxes (Docker containers).
   - You can reuse an existing sandbox_id if a sandbox exists, do not create a new one.
   - If you need a new sandbox, use the "create_sandbox" tool.
   - Each sandbox is an isolated Python environment, and the sandbox_id is required for all subsequent operations.

2. If you need to install packages, use the "install_package_in_sandbox" tool
   - Parameters: sandbox_id and package_name (e.g., numpy, pandas)
   - This starts asynchronous installation and returns immediately with status

3. After installing packages, you can check their installation status using the "check_package_installation_status" tool
   - Parameters: sandbox_id and package_name (name of the package to check)
   - If the package is still installing, you need to check again using this tool

4. Use the "execute_python_code" tool to run your code
   - Parameters: sandbox_id and code (Python code)
   - Returns output, errors and links to any generated files
   - All generated files are stored inside the sandbox, and file_links are direct HTTP links for inline viewing

Example workflow:
- Use list_sandboxes to check for available sandboxes, if no available sandboxes, use create_sandbox to create a new one → Get sandbox_id
- Use install_package_in_sandbox to install necessary packages (like pandas, matplotlib), with the sandbox_id parameter
- Use check_package_installation_status to verify package installation, with the same sandbox_id parameter
- Use execute_python_code to run your code, with the sandbox_id parameter

Code execution happens in a secure sandbox. Generated files (images, CSVs, etc.) will be provided as direct HTTP links, which can viewed inline in the browser.

Remember not to use plt.show() in your Python code. For visualizations:
- Save figures to files using plt.savefig() instead of plt.show()
- For data, use methods like df.to_csv() or df.to_excel() to save as files
- All saved files will automatically appear as HTTP links in the results, which you can open or embed directly.

Пример конфигурации MCP

Ниже приведен пример конфигурации для Клода:

{
  "mcpServers": {
    "mcpSandbox": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse",  "http://localhost:8000/sse"]
    }
  }
}

Пример конфигурации MCP для онлайн-демонстрации

{
  "mcpServers": {
    "mcpSandbox": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse",  "http://115.190.87.78/sse?api_key=<API_KEY>"]
    }
  }
}

Измените serverUrl в соответствии с требованиями вашей среды.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    An interactive Python code execution tool that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.
    Last updated
    40
    Apache 2.0
  • A
    license
    -
    quality
    F
    maintenance
    Enables LLM agents to execute arbitrary Python code in secure, isolated sandbox environments with automatic dependency management and file handling. Each code execution runs in a fresh virtual environment that gets destroyed after completion, providing safe and reproducible Python code execution.
    Last updated
    29
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Enables LLMs to safely execute code in isolated Docker containers with resource limits and security controls, supporting session management and automatic dependency installation.
    Last updated
    MIT

View all related MCP servers

Related MCP Connectors

  • Execute code in 8 languages (Python, JS, TS, Go, Java, C++, C, Bash) in gVisor sandboxes.

  • Operate your Linux servers from your LLM. Every action runs through an auditable allowlist.

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JohanLi233/python-mcp-sandbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server