Python MCP Sandbox

by JohanLi233
Integrations
  • Runs Python code in isolated Docker containers for secure execution, enabling safe installation of packages and execution of arbitrary Python code

  • Supports installation and usage of NumPy library in the Python environment as mentioned in the example workflow

  • Supports installation and usage of pandas library for data analysis as mentioned in the example workflow

Песочница MCP

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

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

Демо

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

Виби

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

Функции

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

Установка

# 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 в соответствии с требованиями вашей среды.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

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

  1. Не стесняйтесь попробовать mcp sandbox
    1. Демо
      1. Виби
        1. Функции
        2. Установка
        3. Структура проекта
        4. Пример подсказки
        5. Пример конфигурации MCP
        6. Пример конфигурации MCP для онлайн-демонстрации

      Related MCP Servers

      • -
        security
        F
        license
        -
        quality
        Provides isolated Docker environments for code execution, enabling users to create and manage containers, execute multi-language code, save and reproduce development environments, ensuring security and isolation.
        Last updated -
        6
        Python
        • Apple
      • A
        security
        A
        license
        A
        quality
        Allows LLMs to execute Python code in a specified Conda environment, enabling access to necessary libraries and dependencies for efficient code execution.
        Last updated -
        1
        74
        JavaScript
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        Facilitates isolated code execution within Docker containers, enabling secure multi-language script execution and integration with language models like Claude via the Model Context Protocol.
        Last updated -
        Python
        MIT License
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        A server that provides a persistent Python REPL environment through the MCP protocol, allowing execution of Python code, variable management, and package installation.
        Last updated -
        3
        3
        Python
        MIT License

      View all related MCP servers

      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