alfonsograziano/node-code-sandbox-mcp

alfonsograziano/node-code-sandbox-mcp

от alfonsograziano
Node.js Sandbox MCP сервер для запуска JavaScript в изолированных Docker-контейнерах с динамической установкой npm-пакетов. Возвращает stdout и сохранённые файлы. Полезен для ИИ-агентов и тестирования скриптов без риска.

🐢🚀 Node.js Sandbox MCP Server

Node.js server implementing the Model Context Protocol (MCP) for running arbitrary JavaScript in ephemeral Docker containers with on‑the‑fly npm dependency installation.

Website Preview

👉 Look at the official website

📦 Available on Docker Hub

Features

  • Start and manage isolated Node.js sandbox containers
  • Execute arbitrary shell commands inside containers
  • Install specified npm dependencies per job
  • Run ES module JavaScript snippets and capture stdout
  • Tear down containers cleanly
  • Detached Mode: Keep the container alive after script execution (e.g. for long-running servers)

Note: Containers run with controlled CPU/memory limits.

Explore Cool Use Cases

If you want ideas for cool and powerful ways to use this library, check out the use cases section on the website It contains a curated list of prompts, examples, and creative experiments you can try with the Node.js Sandbox MCP Server.

⚠️ Prerequisites

To use this MCP server, Docker must be installed and running on your machine.

Tip: Pre-pull any Docker images you'll need to avoid delays during first execution.

Инструменты были проиндексированы:
get_dependency_types

Принимает массив названий npm-пакетов (и опционально версии), получает, поставляет ли каждый пакет собственные определения TypeScript или имеет соответствующий пакет @types/…, и возвращает сырой текст .d.ts. Полезно, когда вы собираетесь запустить скрипт Node.js с незнакомой зависимостью и хотите изучить, какие API и типы она предоставляет.

Параметры
  • dependenciesobject[]обязательный
run_js

Устанавливает npm-зависимости и выполняет JavaScript-код внутри запущенного контейнера-песочницы. После выполнения необходимо вручную остановить песочницу, чтобы освободить ресурсы. Код должен быть написан в формате ESModules (синтаксис import/export). Подходит для сложных рабочих процессов, где требуется повторно использовать окружение при нескольких запусках. При чтении из процессов Node.js и записи в них всегда читайте и записывайте данные в каталог "./files", чтобы обеспечить сохранность данных на подключенном томе.

Параметры
  • codestringобязательный

    JavaScript code to run inside the container.

  • container_idstringобязательный

    Docker container identifier

  • dependenciesobject[]

    A list of npm dependencies to install before running the code. Each item must have a name (package) and version (range). If none, returns an empty array.

  • listenOnPortnumber

    If set, leaves the process running and exposes this port to the host.

run_js_ephemeral

Запускает JavaScript-фрагмент во временном одноразовом контейнере с опциональными npm-зависимостями, затем автоматически выполняет очистку. Код должен быть валидным ESModules (синтаксис import/export). Подходит для однократных простых выполнений без поддержания песочницы или ручного управления очисткой. При чтении и записи из процессов Node.js всегда нужно читать и записывать в каталог "./files", чтобы обеспечить сохранность на смонтированном томе. Это включает изображения (например, PNG, JPEG) и другие файлы (например, текст, JSON, бинарники).

Параметры
  • codestringобязательный

    JavaScript code to run inside the ephemeral container.

  • dependenciesobject[]

    A list of npm dependencies to install before running the code. Each item must have a name (package) and version (range). If none, returns an empty array.

  • imagestring

    Docker image to use for ephemeral execution. e.g. - node:lts-slim: Node.js LTS version, slim variant. (Lightweight and fast for JavaScript execution tasks.) - mcr.microsoft.com/playwright:v1.53.2-noble: Playwright image for browser automation. (Preconfigured for running Playwright scripts.) - alfonsograziano/node-chartjs-canvas:latest: Chart.js image for chart generation and mermaid charts generation. ('Preconfigured for generating charts with chartjs-node-canvas and Mermaid. Minimal Mermaid example: import fs from "fs"; import { run } from "@mermaid-js/mermaid-cli"; fs.writeFileSync("./files/diagram.mmd", "graph LR; A-->B;", "utf8"); await run("./files/diagram.mmd", "./files/diagram.svg");)

sandbox_exec

Выполняет одну или несколько команд оболочки внутри запущенного sandbox-контейнера. Требует предварительно инициализированного sandbox.

Параметры
  • commandsstring[]обязательный
  • container_idstringобязательный
sandbox_initialize

Запускает новый изолированный Docker-контейнер с Node.js. Используется для настройки изолированной сессии для нескольких команд и скриптов.

Параметры
  • imagestring
  • portnumber

    If set, maps this container port to the host

sandbox_stop

Завершает и удаляет запущенный контейнер sandbox. Следует вызывать после завершения работы в sandbox, инициализированном с помощью sandbox_initialize.

Параметры
  • container_idstringобязательный
search_npm_packages

Ищет npm-пакеты по поисковому запросу и возвращает их название, описание и фрагмент README.

Параметры
  • qualifiersobject

    Optional qualifiers to filter the search results. For example, { not: "insecure" } will exclude insecure packages, { author: "sindresorhus" } will only show packages by that author, { scope: "@vue" } will only show Vue.js scoped packages.

  • searchTermstringобязательный

    The term to search for in npm packages. Should contain all relevant context. Should ideally be text that might appear in the package name, description, or keywords. Use plus signs (+) to combine related terms (e.g., "react+components" for React component libraries). For filtering by author, maintainer, or scope, use the qualifiers field instead of including them in the search term. Examples: "express" for Express.js, "ui+components" for UI component packages, "testing+jest" for Jest testing utilities.

Похожие MCP-сервера

ofershap/mcp-server-docker

ofershap/mcp-server-docker

MCP-сервер для управления Docker из AI-ассистента: просмотр контейнеров, логов, запуск/остановка, выполнение команд и мониторинг ресурсов. Подключается к локальному Docker без API-ключей. Полезен р...

TypeScript2
yanmxa/scriptflow-mcp

yanmxa/scriptflow-mcp

MCP-сервер для превращения сложных AI-диалогов в готовые скрипты, которые можно выполнять, версионировать и переиспользовать. Поддерживает Python, Bash, Node.js. Управляй библиотекой автономных сце...

TypeScript8
babelcloud/gru-sandbox

babelcloud/gru-sandbox

GBOX - MCP сервер, дающий ИИ-агентам возможность управлять Android и Linux окружениями для тестирования и автоматизации. Подключается к Claude Code, Cursor и другим агентам через MCP, расширяя их возможности.

Go181
QuantGeekDev/docker-mcp

QuantGeekDev/docker-mcp

MCP-сервер для управления Docker через Claude AI: создает контейнеры, развертывает compose-стеки, читает логи и проверяет статус. Автоматизируйте рутинные операции с Docker, не отвлекаясь от работы...

Python501
joshuarileydev/simulator-mcp-server

joshuarileydev/simulator-mcp-server

MCP-сервер для управления iOS симуляторами: запуск, остановка, установка .app и запуск приложений по bundle ID. Полезен iOS-разработчикам для автоматизации тестирования и CI/CD.

JavaScript53
ckreiling/mcp-server-docker

ckreiling/mcp-server-docker

MCP-сервер для управления Docker через естественный язык: запускает и отлаживает контейнеры, управляет томами и сетями. Идеален для администраторов удалённых серверов и разработчиков, автоматизирую...

Python743
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин