ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

LLM Sandbox

โดย vndeeรุ่น 0.3.43i★ –iรันบนเครื่อง
ชื่อใน registryio.github.vndee/llm-sandbox

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Securely run LLM-generated code in isolated containers across 7 languages and 3 container backends.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ค้นข้อมูลและความจำของ AI

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: BACKEND, DOCKER_HOST, KUBECONFIG, NAMESPACE, COMMIT_CONTAINER, KEEP_TEMPLATE, SANDBOX_NETWORK_MODE, SANDBOX_READ_ONLY, SANDBOX_CAP_DROP, SANDBOX_SECURITY_OPT, SANDBOX_MEMORY, SANDBOX_CPUS

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "llm-sandbox": {
      "command": "uvx",
      "args": [
        "llm-sandbox"
      ],
      "env": {
        "BACKEND": "ใส่ค่าของคุณ",
        "DOCKER_HOST": "ใส่ค่าของคุณ",
        "KUBECONFIG": "ใส่ค่าของคุณ",
        "NAMESPACE": "ใส่ค่าของคุณ",
        "COMMIT_CONTAINER": "ใส่ค่าของคุณ",
        "KEEP_TEMPLATE": "ใส่ค่าของคุณ",
        "SANDBOX_NETWORK_MODE": "ใส่ค่าของคุณ",
        "SANDBOX_READ_ONLY": "ใส่ค่าของคุณ",
        "SANDBOX_CAP_DROP": "ใส่ค่าของคุณ",
        "SANDBOX_SECURITY_OPT": "ใส่ค่าของคุณ",
        "SANDBOX_MEMORY": "ใส่ค่าของคุณ",
        "SANDBOX_CPUS": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add llm-sandbox --env BACKEND='ใส่ค่าของคุณ' --env DOCKER_HOST='ใส่ค่าของคุณ' --env KUBECONFIG='ใส่ค่าของคุณ' --env NAMESPACE='ใส่ค่าของคุณ' --env COMMIT_CONTAINER='ใส่ค่าของคุณ' --env KEEP_TEMPLATE='ใส่ค่าของคุณ' --env SANDBOX_NETWORK_MODE='ใส่ค่าของคุณ' --env SANDBOX_READ_ONLY='ใส่ค่าของคุณ' --env SANDBOX_CAP_DROP='ใส่ค่าของคุณ' --env SANDBOX_SECURITY_OPT='ใส่ค่าของคุณ' --env SANDBOX_MEMORY='ใส่ค่าของคุณ' --env SANDBOX_CPUS='ใส่ค่าของคุณ' -- uvx llm-sandbox

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "llm-sandbox": {
      "command": "uvx",
      "args": [
        "llm-sandbox"
      ],
      "env": {
        "BACKEND": "ใส่ค่าของคุณ",
        "DOCKER_HOST": "ใส่ค่าของคุณ",
        "KUBECONFIG": "ใส่ค่าของคุณ",
        "NAMESPACE": "ใส่ค่าของคุณ",
        "COMMIT_CONTAINER": "ใส่ค่าของคุณ",
        "KEEP_TEMPLATE": "ใส่ค่าของคุณ",
        "SANDBOX_NETWORK_MODE": "ใส่ค่าของคุณ",
        "SANDBOX_READ_ONLY": "ใส่ค่าของคุณ",
        "SANDBOX_CAP_DROP": "ใส่ค่าของคุณ",
        "SANDBOX_SECURITY_OPT": "ใส่ค่าของคุณ",
        "SANDBOX_MEMORY": "ใส่ค่าของคุณ",
        "SANDBOX_CPUS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "llm-sandbox": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "llm-sandbox"
      ],
      "env": {
        "BACKEND": "ใส่ค่าของคุณ",
        "DOCKER_HOST": "ใส่ค่าของคุณ",
        "KUBECONFIG": "ใส่ค่าของคุณ",
        "NAMESPACE": "ใส่ค่าของคุณ",
        "COMMIT_CONTAINER": "ใส่ค่าของคุณ",
        "KEEP_TEMPLATE": "ใส่ค่าของคุณ",
        "SANDBOX_NETWORK_MODE": "ใส่ค่าของคุณ",
        "SANDBOX_READ_ONLY": "ใส่ค่าของคุณ",
        "SANDBOX_CAP_DROP": "ใส่ค่าของคุณ",
        "SANDBOX_SECURITY_OPT": "ใส่ค่าของคุณ",
        "SANDBOX_MEMORY": "ใส่ค่าของคุณ",
        "SANDBOX_CPUS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • BACKEND env
    Container backend to use. Must match the installed extra: mcp-docker, mcp-podman, or mcp-k8s.
  • DOCKER_HOST env
    Docker or Podman socket URL, e.g. unix:///var/run/docker.sock
  • KUBECONFIG env
    Path to kubeconfig file when BACKEND=kubernetes.
  • NAMESPACE env
    Kubernetes namespace used for sandbox pods when BACKEND=kubernetes.
  • COMMIT_CONTAINER env
    Commit the container after a run so installed libraries persist between sessions.
  • KEEP_TEMPLATE env
    Keep the base image after the session ends to avoid re-pulling it on the next run.
  • SANDBOX_NETWORK_MODE env
    Network mode for the sandbox container. Set to 'none' for hardened isolation. Docker and Podman backends only.
  • SANDBOX_READ_ONLY env
    Mount the sandbox root filesystem read-only. Recommended: true. Docker and Podman backends only.
  • SANDBOX_CAP_DROP env
    Comma-separated Linux capabilities to drop. Recommended: ALL. Docker and Podman backends only.
  • SANDBOX_SECURITY_OPT env
    Comma-separated container security options, e.g. no-new-privileges. Docker and Podman backends only.
  • SANDBOX_MEMORY env
    Memory limit for the sandbox container, e.g. 4g. Docker and Podman backends only.
  • SANDBOX_CPUS env
    Fractional CPU allocation for the sandbox container, e.g. 1.5. Docker and Podman backends only.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub vndee ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 7250 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 27% ของอีก 7250 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 7250 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

LLM Sandbox ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.43) เข้า registry 3 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

โดย upstash

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

บนเครื่องหรือคลาวด์★ 64,224MITอัปเดต วันนี้
ติดตั้ง

Codebase Memory

โดย DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

รันบนเครื่อง★ 48,148MITอัปเดต 20 วันที่ผ่านมา
ติดตั้ง

Exa

โดย exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

รันบนคลาวด์★ 5,213MITอัปเดต เดือนที่แล้ว
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

LLM Sandbox

*Securely Execute LLM-Generated Code with Ease*

LLM Sandbox runs Large Language Model (LLM) generated code through a common API for container and local Linux and Windows sandbox backends. Choose an isolation backend for your deployment, configure its security controls, and reuse the same code execution and file APIs.

Documentation: https://vndee.github.io/llm-sandbox/

Backend benchmarks compare Docker, Bubblewrap and NsJail across startup, execution, file transfers and concurrency, with confidence intervals and reproducible evidence.

✨ New: This project now supports the Model Context Protocol (MCP) server, which allows your MCP clients (e.g. Claude Desktop) to run code generated by LLMs in a secure sandbox environment.

🚀 Key Features

🛡️ Security First
  • Isolated Execution: Container or local OS sandboxing with explicitly configured host access
  • Security Policies: Define custom security policies to control code execution
  • Resource Limits: Set CPU, memory, and execution time limits
  • Network Isolation: Control network access for sandboxed code
🏗️ Flexible Sandbox Backends
  • Docker: Most popular and widely supported option
  • Kubernetes: Enterprise-grade orchestration for scalable deployments
  • Podman: Rootless containers for enhanced security
  • Bubblewrap: Local Linux namespaces and seccomp without Docker or a daemon
  • NsJail: Local Linux namespaces and native seccomp policies without a daemon
  • Windows MXC: Native Windows process isolation through Microsoft's MXC/PSEC APIs
  • WSL2 Bubblewrap: Linux namespaces and seccomp in an explicitly selected WSL2 distribution
  • Backend Registry: Register additional adapters and inspect their supported features
🌐 Multi-Language Support

Execute code in multiple programming languages with automatic dependency management:

  • Python - Full ecosystem support with pip packages
  • JavaScript/Node.js - npm package installation
  • Java - Maven and Gradle dependency management
  • C++ - Compilation and execution
  • Go - Module support and compilation
  • R - Statistical computing and data analysis with CRAN packages
🔌 LLM Framework Integration

Runnable examples for eleven agent frameworks — OpenAI Agents SDK, Claude Agent SDK, LangChain, DeepAgents, LlamaIndex, Google ADK, CrewAI, Pydantic AI, smolagents, Strands and AG2. See examples/agent_sdks/.

📊 Advanced Features
  • Artifact Extraction: Automatically capture plots and visualizations
  • Library Management: Install dependencies on-the-fly
  • File Operations: Copy files to/from sandbox environments
  • Custom Images: Use your own container images
  • Fast Production Mode: Skip environment setup for faster container startup
  • Container Pooling: Pre-warm and reuse containers for improved performance (NEW!)

📦 Installation

Basic Installation
pip install llm-sandbox
With Specific Backend Support
# For Docker support (most common)

pip install 'llm-sandbox[docker]'

For Kubernetes support

pip install 'llm-sandbox[k8s]'

For Podman support

pip install 'llm-sandbox[podman]'

All optional container SDKs

pip install 'llm-sandbox[docker,k8s,podman]'

Bubblewrap and NsJail use the base Python package plus system executables; no container SDK extra is needed. See local backend requirements for Linux prerequisites.

The Windows adapters also need no container SDK. windows-mxc requires a compatible Windows host and the native helper, while wsl2-bubblewrap requires a configured WSL2 distribution with the matching Python package and Linux prerequisites. See Windows requirements; neither adapter installs an OS runtime or falls back to unsandboxed execution.

Development Installation

Dev dependencies live in the dev uv dependency group, so install them with uv (or the make install shortcut):

git clone https://github.com/vndee/llm-sandbox.git

cd llm-sandbox make install # uv sync + pre-commit install

See CONTRIBUTING.md for the full workflow.

🏃♂️ Quick Start

Basic Usage
from llm_sandbox import SandboxSession

Create and use a sandbox session

with SandboxSession(lang="python") as session: result = session.run(""" print("Hello from LLM Sandbox!") print("I'm running in a secure container.") """) print(result.stdout)

Local Linux Usage Without Docker

On Debian/Ubuntu, install the system prerequisites with sudo apt install bubblewrap libseccomp2 python3-venv. Bubblewrap must be version 0.8.0 or newer with --disable-userns support; older distributions such as Ubuntu 22.04 need a newer package or upstream build. Your host must permit unprivileged user namespaces; distribution security policy can restrict them.

from llm_sandbox import SandboxSession

with SandboxSession(backend="bubblewrap", lang="python") as session: result = session.run("print('Hello from a local Linux sandbox!')") print(result.stdout)

The local defaults combine namespace isolation with a seccomp syscall denylist, disable network access, expose runtime paths read-only, and provide a private writable workspace and temporary directory. Python setup creates a virtual environment offline. Install the host runtime and its venv support first. Select backend="nsjail" to use an installed NsJail binary instead.

The Linux adapters support run(), execute_command(), install(), file copying, and the artifact wrapper. They do not support container images, pooling, or interactive sessions. Files persist between commands in a session; background processes do not. These backends share the host kernel and are not a VM boundary. See configuration, security, and the backend roadmap.

Windows Usage Without Docker

For native Windows Python execution, use the MXC adapter on a compatible Windows host with the helper installed:

from llm_sandbox import SandboxSession

with SandboxSession(backend="windows-mxc", lang="python") as session: print(session.run("import platform; print(platform.system())").stdout)

To run Linux tools from a Windows Python application, select a WSL2 distribution explicitly:

from llm_sandbox import SandboxSession

with SandboxSession( backend="wsl2-bubblewrap", distribution="Ubuntu", lang="python", ) as session: print(session.run("import platform; print(platform.system())").stdout)

These are experimental adapters with different prerequisites and API limits. MXC initially supports Python and JavaScript with preinstalled dependencies. WSL2 reuses the Linux Bubblewrap runtime, requires seccomp, and restricts mounts to built-in Linux runtime paths to keep Windows interoperability inaccessible. Both default to disabled networking. See backend setup and limitations.

Installing Libraries
from llm_sandbox import SandboxSession

with SandboxSession(lang="python") as session: result = session.run(""" import numpy as np

Create an array

arr = np.array([1, 2, 3, 4, 5]) print(f"Array: {arr}") print(f"Mean: {np.mean(arr)}") """, libraries=["numpy"])

print(result.stdout)

Multi-Language Support
JavaScript
with SandboxSession(lang="javascript") as session:

result = session.run(""" const greeting = "Hello from Node.js!"; console.log(greeting);

const axios = require('axios'); console.log("Axios loaded successfully!"); """, libraries=["axios"])

Java
with SandboxSession(lang="java") as session:

result = session.run(""" public class HelloWorld { public static void main(String[] args) { System.out.println("Hello from Java!"); } } """)

C++
with SandboxSession(lang="cpp") as session:

result = session.run(""" #include

int main() { std::cout << "Hello from C++!" << std::endl; return 0; } """)

Go
with SandboxSession(lang="go") as session:

result = session.run(""" package main import "fmt"

func main() { fmt.Println("Hello from Go!") } """)

R
with SandboxSession(

lang="r", image="ghcr.io/vndee/sandbox-r-451-bullseye", verbose=True, ) as session: result = session.run( """

Basic R operations

print("=== Basic R Demo ===")

Create some data

numbers <- c(1, 2, 3, 4, 5, 10, 15, 20) print(paste("Numbers:", paste(numbers, collapse=", ")))

Basic statistics

print(paste("Mean:", mean(numbers))) print(paste("Median:", median(numbers))) print(paste("Standard Deviation:", sd(numbers)))

Work with data frames

df <- data.frame( name = c("Alice", "Bob", "Charlie", "Diana"), age = c(25, 30, 35, 28), score = c(85, 92, 78, 96) )

print("=== Data Frame ===") print(df)

Calculate average score

avg_score <- mean(df$score) print(paste("Average Score:", avg_score)) """ )

Interactive Sessions

For notebook-style workflows you can use InteractiveSandboxSession, which keeps the Python interpreter state across multiple run calls.

from llm_sandbox import InteractiveSandboxSession

with InteractiveSandboxSession( lang="python", kernel_type="ipython", history_size=200, ) as session: session.run("value = 21 * 2") result = session.run("print(f'Result: {value}')") print(result.stdout) # -> Result: 42

Use magic command to install libraries

session.run("%pip install pandas") result = session.run("import pandas as pd; print(pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}))") print(result.stdout)

Interactive sessions support Docker, Podman, and Kubernetes backends and currently target Python language. They spin up a long-running IPython kernel inside the sandbox, so each run() behaves like a notebook cell—state, imports, and magic commands stay alive until the context manager exits, without any extra networking or manual serialization.

Capturing Plots and Visualizations
Python Plots
from llm_sandbox import ArtifactSandboxSession

import base64 from pathlib import Path

with ArtifactSandboxSession(lang="pyth

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx