🐢🚀 Node.js Sandbox MCP Server
@alfonsograziano
A Node.js–based Model Context Protocol server that spins up disposable Docker containers to execute arbitrary JavaScript.
概要
What is 🐢🚀 Node.js Sandbox MCP Server?
It is a Node.js server implementing the Model Context Protocol (MCP) for running arbitrary JavaScript in ephemeral Docker containers with on‑the‑fly npm dependency installation. It is for developers and AI agents who need an isolated, sandboxed JavaScript execution environment.
How to use 🐢🚀 Node.js Sandbox MCP Server?
Install and run via Docker or npx, then configure your MCP client (e.g., Claude Desktop, VS Code) with the provided JSON config. Pass environment variables like FILES_DIR, SANDBOX_MEMORY_LIMIT, and SANDBOX_CPU_LIMIT. Use tools such as run_js_ephemeral for one‑off scripts or sandbox_initialize → run_js → sandbox_stop for session‑based workflows.
Key features of 🐢🚀 Node.js Sandbox MCP Server
- Isolated Docker containers for each sandbox.
- Execute shell commands inside running containers.
- Install specified npm packages per job.
- Run ES module JavaScript snippets and capture stdout.
- Clean teardown of containers after use.
- Detached mode for long‑running servers (background processes).
Use cases of 🐢🚀 Node.js Sandbox MCP Server
- Quick one‑off JavaScript experiments with automatic cleanup.
- Run multi‑step scripts in a persistent sandbox environment.
- Spin up temporary servers with exposed ports for testing.
- Search npm packages and test them in isolation.
- Generate files (e.g., QR codes, images) and retrieve them automatically.
FAQ from 🐢🚀 Node.js Sandbox MCP Server
What are the prerequisites?
Docker must be installed and running on your machine. Pre‑pulling images like node:lts-slim is recommended to avoid delays.
How do I get files back from a script?
Save files during script execution in the container’s working directory. Images (PNG, JPEG) are returned as image content; other files (e.g., .txt, .json) are returned as resource content. This feature is available only in the run_js_ephemeral tool.
What is detached mode?
Detached mode keeps the container alive after script execution, allowing long‑running services (e.g., servers) to stay active in the background. Use run_js with the listenOnPort parameter.
How can I limit container resources?
Set environment variables SANDBOX_MEMORY_LIMIT (e.g., 512m) and SANDBOX_CPU_LIMIT (e.g., 0.5) when launching the server.
Can I use custom Docker images?
Yes. The image parameter in tools like run_js_ephemeral and sandbox_initialize accepts any Docker image (default is node:lts-slim).