MCP Multi-Language Sandbox MCP Server

$git clone https://github.com/Pit-CL/mcp-multilang-sandbox.git && cd mcp-multilang-sandbox && npm install && npm run build
README.md

Execute code securely in 6 programming languages with Docker isolation

MCP Multi-Language Sandbox

Execute code securely in 6 programming languages with Docker isolation, designed for Claude Code via Model Context Protocol (MCP).

What is this?

A local MCP server that lets Claude execute code in isolated Docker containers. Think of it as your own private code sandbox - 100% free, 100% local, no cloud dependencies.

Why use this instead of cloud sandboxes?

  • Free: No per-execution costs (vs ~$0.10/run on cloud services)
  • Fast: 0ms container acquisition with pooling (vs 2-5s cold starts)
  • Private: Code never leaves your machine
  • Customizable: Add your own languages, packages, security rules

Features

  • 6 Languages: Python, TypeScript, JavaScript, Go, Rust, Bash
  • Container Pooling: Pre-warmed containers for instant execution
  • Package Caching: Install once, reuse forever (SHA256-based)
  • ML Runtime: numpy, pandas, sklearn, torch, mlx pre-installed
  • Security: Seccomp profiles, capability dropping, audit logging
  • Sessions: Persistent state with TTL and auto-cleanup

Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/Pit-CL/mcp-multilang-sandbox.git
cd mcp-multilang-sandbox

# Install dependencies
npm install

# Build
npm run build

# Run tests (optional)
npm run test:mcp

Add to Claude Code

# Add as MCP server
claude mcp add multilang-sandbox node /path/to/mcp-multilang-sandbox/dist/mcp/server.js

# Verify it's connected
claude mcp list
# Should show: multilang-sandbox ✓ Connected

Manual Configuration

Add to your Claude settings (~/.claude.json or VS Code settings):

{
  "mcpServers": {
    "multilang-sandbox": {
      "command": "node",
      "args": ["/path/to/mcp-multilang-sandbox/dist/mcp/server.js"],
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}

Usage

Once configured, Claude can use these tools:

Execute Code

// Python
sandbox_execute({ language: 'python', code: 'print("Hello!")' })

// TypeScript
sandbox_execute({ language: 'typescript', code: 'console.log("Hello!")' })

// With ML libraries (numpy, pandas, sklearn, torch)
sandbox_execute({
  language: 'python',
  code: 'import numpy as np; print(np.array([1,2,3]))',
  ml: true
})

Persistent Sessions

// Create a session
sandbox_session({ action: 'create', name: 'my-project', language: 'python' })

// Execute in session (state persists)
sandbox_execute({ language: 'python', code: 'x = 42', session: 'my-project' })
sandbox_execute({ language: 'python', code: 'print(x)', session: 'my-project' })  // prints 42

// Install packages
sandbox_install({ session: 'my-project', packages: ['pandas', 'requests'] })

// Cleanup
sandbox_session({ action: 'destroy', name: 'my-project' })

File Operations

// Write a file
sandbox_file_ops({ session: 'my-project', operation: 'write', path: 'data.csv', content: 'a,b\n1,2' })

// Read it back
sandbox_file_ops({ session: 'my-project', operation: 'read', path: 'data.csv' })

System Stats

// View pool, cache, and session stats
sandbox_inspect({ target: 'all' })

// Security audit
sandbox_security({ action: 'stats' })

MCP Tools Reference

Tool Description
sandbox_execute Execute code in any supported language
sandbox_session Create/list/pause/resume/destroy sessions
sandbox_install Install packages with caching
sandbox_file_ops Read/write/list/delete files in sessions
sandbox_inspect View system stats (pool, cache, sessions)
sandbox_security View audit logs and security events

Architecture

┌─────────────────────────────────────────────────────────┐
│                    Claude / MCP Client                   │
└───────────────────────────┬─────────────────────────────┘
                            │ JSON-RPC (stdio)
┌───────────────────────────▼─────────────────────────────┐
│                    MCP Sandbox Server                    │
│  ┌────────────────────────────────────────────────────┐ │
│  │  Tools: execute | session | install | file_ops     │ │
│  │         inspect | security                          │ │
│  ├────────────────────────────────────────────────────┤ │
│  │  Core: ContainerPo

Tools (6)

sandbox_executeExecute code in any supported language (Python, TypeScript, JavaScript, Go, Rust, Bash)
sandbox_sessionCreate, list, pause, resume, or destroy persistent code execution sessions
sandbox_installInstall packages with SHA256-based caching
sandbox_file_opsRead, write, list, or delete files within specific sessions
sandbox_inspectView system stats including pool, cache, and sessions
sandbox_securityView audit logs and security events

Environment Variables

LOG_LEVELLogging verbosity level (e.g., info, debug)

Configuration

claude_desktop_config.json
{
  "mcpServers": {
    "multilang-sandbox": {
      "command": "node",
      "args": ["/path/to/mcp-multilang-sandbox/dist/mcp/server.js"],
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}

Try it

Run a Python script to calculate the Fibonacci sequence up to 100.
Create a persistent Python session named 'data-analysis' and install pandas and requests.
Write a CSV file named 'results.csv' to my current sandbox session and then read it back.
Execute a TypeScript snippet that logs 'Hello World' using the sandbox.
Check the system stats and container pool status of the sandbox.

Frequently Asked Questions

What are the key features of MCP Multi-Language Sandbox?

Supports 6 languages: Python, TypeScript, JavaScript, Go, Rust, and Bash.. Container Pooling for instant execution with 0ms container acquisition.. Persistent sessions with state TTL and automatic cleanup.. Pre-installed ML runtime including numpy, pandas, torch, and mlx.. Secure isolation using Seccomp profiles and capability dropping..

What can I use MCP Multi-Language Sandbox for?

Local data science and machine learning experimentation without cloud costs.. Securely testing untrusted code snippets in an isolated Docker environment.. Building and testing multi-language scripts through a unified MCP interface.. Maintaining persistent state across multiple code execution steps in a single session..

How do I install MCP Multi-Language Sandbox?

Install MCP Multi-Language Sandbox by running: git clone https://github.com/Pit-CL/mcp-multilang-sandbox.git && cd mcp-multilang-sandbox && npm install && npm run build

What MCP clients work with MCP Multi-Language Sandbox?

MCP Multi-Language Sandbox works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use MCP Multi-Language Sandbox with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free