LLM Sandbox MCP

MCP-сервер LLM Sandbox: агент запускает код на семи языках в контейнере Docker, Podman или Kubernetes и получает графики.

  • 1 143 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Выполняет код, присланный моделью, в контейнере; изоляция зависит от бэкенда и прав сокета Docker.
  • Устанавливает пакеты и может обращаться к сети из контейнера.
Все причины и проверки

vndee/llm-sandbox

Установка

Ручная установка

pip install 'llm-sandbox[mcp-docker]'

Для Podman используйте `[mcp-podman]`, для Kubernetes `[mcp-k8s]`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Выполняет код, присланный моделью, в контейнере; изоляция зависит от бэкенда и прав сокета Docker.
  • Устанавливает пакеты и может обращаться к сети из контейнера.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

LLM Sandbox — библиотека для безопасного запуска кода, который написала языковая модель. Ее MCP-сервер дает ассистенту три инструмента. `execute_code` принимает код, язык (Python, JavaScript, Java, C++, Go, R, Ruby), список пакетов для установки и таймаут, по умолчанию 30 секунд. `get_supported_languages` перечисляет языки, `get_language_details` описывает один из них: версию, менеджер пакетов, примеры. Рисунки и графики, созданные кодом, сервер собирает и возвращает вместе с выводом. Изоляцию дает выбранный бэкенд: Docker по умолчанию, Podman или Kubernetes. Его задает переменная `BACKEND`, а вместе с ней ставят дополнение `llm-sandbox[mcp-docker]`, `[mcp-podman]` или `[mcp-k8s]`. Лимиты процессора и памяти берутся из переменных окружения вроде `SANDBOX_CPUS`.

Для кого. Разработчикам агентов и аналитикам, которым нужен запуск кода от модели в отдельном контейнере: расчеты, графики, проверка гипотез.

Подходит, если

  • Агент считает статистику по данным и возвращает график вместе с таблицей.
  • Нужно проверить фрагмент на Go или Ruby без установки языка на машину.
  • Для запуска код требует сторонних пакетов, и сервер ставит их внутри контейнера.
  • Платформа выдает агентам запуск кода в Kubernetes с лимитами ресурсов.

Не подходит, если

  • Нужен прямой доступ к файлам проекта: контейнер видит только свое содержимое.
  • На машине нет Docker, Podman или Kubernetes.
  • Код нужно запускать прямо на хосте без изоляции.

Пример запроса к агенту

Посчитай среднее и медиану для этого набора чисел на Python в песочнице и верни график распределения.

MCP

Транспорт
stdio
Авторизация
не нужна

Переменные окружения

BACKEND
Бэкенд контейнеров: docker, podman или kubernetes, по умолчанию docker.
DOCKER_HOST
Адрес сокета Docker или Podman.
COMMIT_CONTAINER
Сохранять состояние контейнера между вызовами, по умолчанию false.

Ограничения

Код, который прислал клиент, считается недоверенным, поэтому сохранение состояния между запросами выключено: `COMMIT_CONTAINER=false`. Если включить, образ коммитится под отдельным тегом, и только Docker с Micromamba это поддерживают. `KEEP_TEMPLATE=true` оставляет базовый образ между запросами и экономит загрузку. Сервер обращается к сокету контейнерного движка (`DOCKER_HOST`), а это широкий доступ к машине, поэтому ограничьте права. Для Kubernetes нужен `KUBECONFIG`, свой манифест пода через MCP не задать.

Как отключить. Удалите запись llm-sandbox из MCP-конфигурации и пакет командой `pip uninstall llm-sandbox`. Образы и контейнеры, которые создал сервер, удаляются средствами Docker, Podman или Kubernetes.

Частые вопросы

Как подключить LLM Sandbox к Claude Desktop?

Поставьте `pip install 'llm-sandbox[mcp-docker]'` и добавьте в `claude_desktop_config.json` сервер `llm-sandbox` с командой `python3`, аргументами `-m llm_sandbox.mcp_server.server` и переменными `BACKEND` и `DOCKER_HOST`.

Как выбрать бэкенд?

Переменная `BACKEND` принимает `docker`, `podman` или `kubernetes`, и значение должно совпадать с установленным дополнением (`mcp-docker`, `mcp-podman`, `mcp-k8s`). Для Podman укажите сокет в `DOCKER_HOST`, для Kubernetes путь к `KUBECONFIG`.

Сохраняются ли установленные пакеты между вызовами?

Нет, по умолчанию контейнер не коммитится. Чтобы пакеты переживали вызовы, включите `COMMIT_CONTAINER=true`: образ сохранится под отдельным тегом вида `llm-sandbox-mcp/<язык>:<хеш>`.

Какие языки доступны?

Python, JavaScript, Java, C++, Go, R и Ruby. Их список и подробности отдают `get_supported_languages` и `get_language_details`.

Как ограничить ресурсы контейнера?

Через переменные окружения, например `SANDBOX_CPUS` и `SANDBOX_CPU_COUNT` для процессора. Сервер превращает их в настройки среды выполнения каждой сессии.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Мост MCP и LSP: агент получает типы, ссылки, диагностику и рефакторинг от языковых серверов, например Pyright.

MCP-серверРасширенный доступ81Звезды репозитория

Мост между языковым сервером LSP и агентом: определения, ссылки, диагностика, подсказки и переименование символов

MCP-серверРасширенный доступ1,6 тыс.Звезды репозитория
Официальный

Локальная песочница для ИИ-агентов: они запускают код и действия в изолированном контейнере, доступном через MCP

MCP-серверШирокий доступ902Звезды репозитория

Отладчик без среды разработки: агент ставит точки останова, шагает по коду и смотрит переменные в десяти языках

MCP-серверШирокий доступ188Звезды репозитория
Российский стек

MCP-сервер проверки синтаксиса BSL на BSL Language Server в Docker: передаете код, получаете JSON с ошибками и предупреждениями без установки Java

MCP-серверРасширенный доступ1Звезды репозитория

MCP-сервер agent-lsp собирает языковые серверы в связки для агента: вызовы, безопасная правка, переименование, диагностика.

MCP-серверШирокий доступ178Звезды репозитория

Коротко о README

MCP-сервер входит в пакет `llm-sandbox` и работает с обеими мажорными версиями Python MCP SDK. Основной продукт репозитория — библиотека с общим API для контейнерных и локальных песочниц Linux и Windows.

Бейдж для README

Сообщить о проблеме