LLM Sandbox
ใช้ทำอะไรได้
รันโค้ดที่ AI เขียนในกล่องแยกอย่างปลอดภัย รองรับ 7 ภาษา
เรียบเรียงโดย PopNx MCP จากข้อมูลของผู้ทำ
- ต่อแบบ ติดตั้งในเครื่อง
- บัญชีหรือคีย์ ไม่ต้องใส่คีย์
- หมวด เครื่องมือนักพัฒนา
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Securely run LLM-generated code in isolated containers across 7 languages and 3 container backends.ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
ลง Python (uv) ในเครื่อง
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
สมัครและสร้างคีย์ของ LLM Sandbox
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
เปิดไฟล์ตั้งค่าของแอป Claude บนคอม
SettingsDeveloperEdit Config
วางค่าตั้งนี้แล้วบันทึกไฟล์
{ "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": "ใส่ค่าของคุณ" } } } }วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ปิดแอป Claude แล้วเปิดใหม่
ลองเลย
ใช้ LLM Sandbox บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ LLM Sandbox หรือมีชื่อเครื่องมือของ LLM Sandbox ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ LLM Sandbox ไม่ได้
LLM Sandbox ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ LLM Sandbox ได้
- ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
- ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ข · ตัวอื่นในหมวด เครื่องมือนักพัฒนา ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
- Sentry✓ ChatGPT
- Compiler Explorer✓ ChatGPT
- GitDiagram✓ ChatGPT
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ลง Python (uv) ในเครื่อง
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
สมัครและสร้างคีย์ของ LLM Sandbox
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
เปิด Terminal
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
วางคำสั่งนี้แล้วกด Enter
claude mcp add --scope user 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แก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
พิมพ์ /mcp ใน Claude Code
ต้องเห็น LLM Sandbox ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ลองเลย
ใช้ LLM Sandbox บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ LLM Sandbox หรือมีชื่อเครื่องมือของ LLM Sandbox ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ลง Python (uv) ในเครื่อง
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
สมัครและสร้างคีย์ของ LLM Sandbox
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ใส่คีย์ในช่องที่ว่างไว้
ในค่าตั้งของ LLM Sandbox ช่อง 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 ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
เปิดแชตของ AI ใน Cursor โหมด Agent
ลองเลย
ใช้ LLM Sandbox บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ LLM Sandbox หรือมีชื่อเครื่องมือของ LLM Sandbox ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ LLM Sandbox (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ลง Python (uv) ในเครื่อง
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
สมัครและสร้างคีย์ของ LLM Sandbox
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ใส่คีย์ในช่องที่ว่างไว้
ในค่าตั้งของ LLM Sandbox ช่อง 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 ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
เปิดแชตของ AI ใน VS Code โหมด Agent
ลองเลย
ใช้ LLM Sandbox บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ LLM Sandbox หรือมีชื่อเครื่องมือของ LLM Sandbox ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON
ติดตั้งในเครื่อง
Claude Code
claude mcp add --scope user 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-sandboxClaude Desktop (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": "ใส่ค่าของคุณ"
}
}
}
}Cursor (~/.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": "ใส่ค่าของคุณ"
}
}
}
}VS Code (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": "ใส่ค่าของคุณ"
}
}
}
}ค่าที่ต้องใส่เอง
BACKENDenvContainer backend to use. Must match the installed extra: mcp-docker, mcp-podman, or mcp-k8s.DOCKER_HOSTenvDocker or Podman socket URL, e.g. unix:///var/run/docker.sockKUBECONFIGenvPath to kubeconfig file when BACKEND=kubernetes.NAMESPACEenvKubernetes namespace used for sandbox pods when BACKEND=kubernetes.COMMIT_CONTAINERenvCommit the container after a run so installed libraries persist between sessions.KEEP_TEMPLATEenvKeep the base image after the session ends to avoid re-pulling it on the next run.SANDBOX_NETWORK_MODEenvNetwork mode for the sandbox container. Set to 'none' for hardened isolation. Docker and Podman backends only.SANDBOX_READ_ONLYenvMount the sandbox root filesystem read-only. Recommended: true. Docker and Podman backends only.SANDBOX_CAP_DROPenvComma-separated Linux capabilities to drop. Recommended: ALL. Docker and Podman backends only.SANDBOX_SECURITY_OPTenvComma-separated container security options, e.g. no-new-privileges. Docker and Podman backends only.SANDBOX_MEMORYenvMemory limit for the sandbox container, e.g. 4g. Docker and Podman backends only.SANDBOX_CPUSenvFractional CPU allocation for the sandbox container, e.g. 1.5. Docker and Podman backends only.
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
สรุป
- ดาว GitHubi
- 1,144
- ดาวน์โหลดต่อสัปดาห์i
- 155,248/สัปดาห์
- การเชื่อมต่อ
- รันบนเครื่อง
- รุ่นล่าสุดi
- 0.3.43
- ส่งเข้า registryi
- 3 ส.ค. 2569
- แก้โค้ดล่าสุดi
- 6 พ.ย. 2569
- ผู้ทำ
- vndee
- แพ็กเกจ
pypi: llm-sandbox- เว็บผู้ทำ
- vndee.github.io
- สถานะใน registry
- ใช้งานอยู่
ใช้กับโปรแกรมไหนได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
คู่มือที่เกี่ยวข้อง
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 12 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub vndee ซึ่งเป็นเจ้าของ repo
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด 6 วันที่ผ่านมา
- ✓ ผ่าน
มีสัญญาอนุญาต (license)
ใช้ MIT
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
พูดคุย
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
รีวิวจากผู้ใช้
ยังไม่มีรีวิว
เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi
- ดาวมากกว่า 99% ของอีก 5816 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 25% ของอีก 5816 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5816 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
LLM Sandbox ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด 6 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.3.43) เข้า registry 3 เดือนที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ตัวอื่นในหมวดเดียวกัน
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
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