Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Securely run LLM-generated code in isolated containers across 7 languages and 3 container backends.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
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 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/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 เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .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 envDOCKER_HOST envKUBECONFIG envNAMESPACE envCOMMIT_CONTAINER envKEEP_TEMPLATE envSANDBOX_NETWORK_MODE envSANDBOX_READ_ONLY envSANDBOX_CAP_DROP envSANDBOX_SECURITY_OPT envSANDBOX_MEMORY envSANDBOX_CPUS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub vndee ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 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
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
*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.
Execute code in multiple programming languages with automatic dependency management:
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/.
pip install llm-sandbox
# For Docker support (most common)
pip install 'llm-sandbox[docker]'
pip install 'llm-sandbox[k8s]'
pip install 'llm-sandbox[podman]'
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.
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.
from llm_sandbox import SandboxSession
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)
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.
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.
from llm_sandbox import SandboxSession
with SandboxSession(lang="python") as session: result = session.run(""" import numpy as np
arr = np.array([1, 2, 3, 4, 5]) print(f"Array: {arr}") print(f"Mean: {np.mean(arr)}") """, libraries=["numpy"])
print(result.stdout)
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"])
with SandboxSession(lang="java") as session:
result = session.run(""" public class HelloWorld { public static void main(String[] args) { System.out.println("Hello from Java!"); } } """)
with SandboxSession(lang="cpp") as session:
result = session.run(""" #include
int main() { std::cout << "Hello from C++!" << std::endl; return 0; } """)
with SandboxSession(lang="go") as session:
result = session.run(""" package main import "fmt"
func main() { fmt.Println("Hello from Go!") } """)
with SandboxSession(
lang="r", image="ghcr.io/vndee/sandbox-r-451-bullseye", verbose=True, ) as session: result = session.run( """
print("=== Basic R Demo ===")
numbers <- c(1, 2, 3, 4, 5, 10, 15, 20) print(paste("Numbers:", paste(numbers, collapse=", ")))
print(paste("Mean:", mean(numbers))) print(paste("Median:", median(numbers))) print(paste("Standard Deviation:", sd(numbers)))
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)
avg_score <- mean(df$score) print(paste("Average Score:", avg_score)) """ )
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
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.
from llm_sandbox import ArtifactSandboxSession
import base64 from pathlib import Path
with ArtifactSandboxSession(lang="pyth
ตัดมาแค่ช่วงต้น อ่านต่อใน repo