MCP Code Execution Server
Мост для MCP: один инструмент run_python запускает код в контейнере и вызывает ваши MCP-серверы
- 340 ★ репозитория
- Последний коммит
- GPL-3.0
Широкий доступ
Почему такой уровень
- Агент исполняет произвольный код Python, пусть и в контейнере без сети и без root
- Через прокси кода доступны все MCP-серверы из ваших конфигураций, включая те, что пишут данные и используют ключи
Установка
- Работает в
Ручная установка
{
"mcpServers": {
"mcp-server-code-execution-mode": {
"command": "uvx",
"args": ["--from", "git+https://github.com/elusznik/mcp-server-code-execution-mode", "mcp-server-code-execution-mode", "run"],
"env": {"MCP_BRIDGE_RUNTIME": "podman"}
}
}
}Перед запуском скачайте образ командой podman pull python:3.13-slim или docker pull python:3.13-slim. Вместо podman можно указать docker.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент исполняет произвольный код Python, пусть и в контейнере без сети и без root
- Через прокси кода доступны все MCP-серверы из ваших конфигураций, включая те, что пишут данные и используют ключи
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
MCP Code Execution Server решает проблему раздутого контекста у агентов с десятками MCP-серверов. Модель видит один инструмент run_python и три вспомогательные функции для обнаружения: `discovered_servers()`, `query_tool_docs()` и `search_tool_docs()`. Системный промпт при этом остается около 200 токенов независимо от числа подключенных серверов, а схемы нужных инструментов модель подгружает по запросу. Код выполняется в контейнере Podman или Docker без root. Сеть выключена, корневая файловая система открыта только для чтения, все привилегии Linux сброшены. Памяти выдается 512 МБ, процессов не больше 128. Запись разрешена в /tmp и /workspace. Контейнер запускается один раз и остается активным, поэтому переменные, импорты и функции из одного вызова доступны в следующем. Внутри песочницы доступны прокси к вашим MCP-серверам: `mcp_filesystem.read_file(...)`, `mcp_serena.search(...)` и другие. Сервер сам находит их в конфигурациях Claude Code, Claude Desktop, Cursor, OpenCode, Windsurf и VS Code, а список загружаемых серверов вы передаете в параметре servers.
Для кого. Для разработчиков и аналитиков, которые подключили много MCP-серверов к Claude Code или Cursor и хотят сэкономить контекст, получив при этом изолированный запуск Python.
Подходит, если
- К агенту подключены десятки MCP-серверов, и схемы инструментов съедают контекст
- Агент должен анализировать данные в pandas или numpy внутри изолированной среды
- Нужно объединить вызовы нескольких MCP-серверов в одном скрипте на Python
- Состояние между вызовами должно сохраняться: переменные, импорты и функции
Не подходит, если
- Podman или Docker на машине нет: контейнерную среду сервер использует всегда
- Нужен доступ к сети из кода: она в песочнице выключена полностью
- Нужно проксировать удаленные HTTP-серверы MCP: прокси описаны для stdio-серверов
- Нужна лицензия мягче GPL-3.0 для встраивания в свой продукт
Пример запроса к агенту
Через run_python найди в проекте все TODO инструментом filesystem, сгруппируй их по файлам с помощью pandas и выведи таблицуMCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
MCP_BRIDGE_RUNTIME- Контейнерная среда: podman или docker, по умолчанию выбирается автоматически
MCP_BRIDGE_IMAGE- Образ контейнера, по умолчанию python:3.14-slim
MCP_BRIDGE_TIMEOUT- Тайм-аут вызова по умолчанию, 30 секунд
MCP_BRIDGE_MEMORY- Лимит памяти контейнера, по умолчанию 512m
MCP_BRIDGE_STATE_DIR- Папка на хосте для сокетов и временного состояния, по умолчанию ~/MCPs
Ограничения
Нужны Python 3.11 или новее, Podman или Docker и образ python:3.13-slim, который надо скачать заранее. Сервер запускается через uvx прямо из репозитория GitHub. Тайм-аут вызова по умолчанию 30 секунд, максимум 120, а контейнер завершается после пяти минут простоя.
Серверы-цели ищутся в конфигурациях клиентов автоматически, а запись самого моста в этих конфигурациях пропускается, чтобы не получить рекурсивный запуск. Лицензия GPL-3.0.
Как отключить. Удалите запись mcp-server-code-execution-mode из конфигурации MCP-клиента и перезапустите клиент. Контейнер завершится после простоя, а папку состояния `~/MCPs` можно очистить вручную.
Частые вопросы
Как поставить MCP Code Execution Server в Claude Code?
Установите uv и Podman или Docker и добавьте в MCP-конфигурацию сервер с командой uvx и аргументами `--from git+https://github.com/elusznik/mcp-server-code-execution-mode mcp-server-code-execution-mode run`. Образ Python для контейнера скачайте заранее.
Как подключить другие MCP-серверы через мост?
Мост находит их сам в `~/MCPs`, `~/.config/mcp/servers`, `./mcp-servers` и в конфигурациях клиентов. При вызове run_python перечислите нужные имена в параметре servers, иначе вызов выбранного сервера вернет ошибку, что он недоступен.
Что происходит с сетью внутри песочницы?
Она полностью отключена флагом `--network none`. Доступ к внешним сервисам идет только через MCP-прокси, которые мост создает для выбранных серверов.
Чем он отличается от Cloudflare Code Mode?
Мост написан на Python, изолирует код в контейнере и проксирует уже существующие серверы stdio. Cloudflare Code Mode написан на JS и работает в изоляте V8 или в VM Node.js.
Какой режим вывода выбрать?
Переменная MCP_BRIDGE_OUTPUT_MODE принимает значения compact (по умолчанию) и toon.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыPython-фреймворк и CLI для MCP: пишете сервер обычными функциями, проверяете инструменты и ставите сервер в Claude Code, Cursor и другие клиенты
CLI на Python без зависимостей: один каталог MCP-серверов и скиллов для всех агентов, в контекст попадает краткий индекс
CLI для любого MCP-сервера: список и вызов инструментов, ресурсов и промптов, mock и proxy режимы, guard-фильтр и управление конфигами агентов
Универсальный CLI-клиент MCP от Apify: постоянные сессии, OAuth, JSON-вывод для скриптов и доступ агента к любому MCP-серверу через оболочку
CLI, который на лету превращает любой MCP-сервер, спецификацию OpenAPI или GraphQL-эндпоинт в набор команд без генерации кода
Прокси от Open WebUI, который публикует любой MCP-сервер как HTTP API со схемой OpenAPI
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| MCP Code Execution Server (эта запись) | нет | не нужна | 340 | |
| Code Mode | нет | 1 621 | дает агенту вызывать инструменты MCP и UTCP кодом, без контейнерной изоляции | |
| AIO Sandbox | нет | ключ необязателен | 6 247 | готовая многоцелевая песочница для агентов |
Коротко о README
В основе лежит идея «код вместо вызовов инструментов», и автор ссылается на материалы Anthropic, Cloudflare, Docker и Apple о ней. Ограничения контейнера, переменные окружения и каталоги поиска серверов сведены в таблицы.