Skip to main content
Glama

Node.js Sandbox MCP Server

🐢🚀 Node.js 샌드박스 MCP 서버

npm 종속성을 즉석에서 설치하여 임시 Docker 컨테이너에서 임의의 JavaScript를 실행하기 위한 모델 컨텍스트 프로토콜(MCP)을 구현하는 Node.js 서버입니다.

웹사이트 미리보기

👉 공식 홈페이지를 보세요

특징

  • 격리된 Node.js 샌드박스 컨테이너를 시작하고 관리합니다.
  • 컨테이너 내부에서 임의의 셸 명령 실행
  • 작업별로 지정된 npm 종속성을 설치합니다.
  • ES 모듈 JavaScript 스니펫을 실행하고 stdout을 캡처합니다.
  • 용기를 깨끗이 분해하세요
  • 분리 모드: 스크립트 실행 후 컨테이너를 활성 상태로 유지합니다(예: 장기 실행 서버)

참고: 컨테이너는 제어된 CPU/메모리 한도로 실행됩니다.

멋진 사용 사례 살펴보기

이 라이브러리를 사용할 멋지고 강력한 방법에 대한 아이디어가 필요하다면 웹사이트의 사용 사례 섹션을 확인하세요. 여기에는 Node.js 샌드박스 MCP 서버로 시도할 수 있는 프롬프트, 예제 및 창의적인 실험의 정리된 목록이 포함되어 있습니다.

⚠️ 필수 조건

이 MCP 서버를 사용하려면 Docker가 컴퓨터에 설치되어 실행 중이어야 합니다.

팁: 첫 번째 실행 중 지연을 방지하려면 필요한 Docker 이미지를 미리 가져오세요.

추천 이미지 예시:

  • 노드
  • mcr.microsoft.com/playwright.52.0-noble
  • 알폰소그라치아노/노드-차트js-캔버스:최신

시작하기

이 MCP 서버를 시작하려면 먼저 서버를 클라이언트(예: Claude Desktop)에 연결해야 합니다.

실행이 완료되면 몇 가지 테스트 프롬프트를 통해 제대로 작동하는지 테스트할 수 있습니다.

  • 도구가 실행될 수 있는지 확인하세요.지엑스피1이렇게 하면 console.log가 실행되고 도구 응답에서 Hello World를 볼 수 있어야 합니다.
  • 종속성을 설치하고 파일을 저장할 수 있는지 확인하세요.
    Create and run a JS script that generates a QR code for the URL `https://nodejs.org/en`, and save it as `qrcode.png` **Tip:** Use the `qrcode` package.
    이렇게 하면 마운트된 디렉토리(예: 데스크탑)에 "qrcode.png"라는 파일이 생성됩니다.

Claude Desktop과 함께 사용

claude_desktop_config.json 에 이것을 추가하세요: 공식 가이드 에 따라 이 MCP 서버를 설치할 수 있습니다.

{ "mcpServers": { "js-sandbox": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/var/run/docker.sock:/var/run/docker.sock", "-v", "$HOME/Desktop/sandbox-output:/root", "-e", "FILES_DIR=$HOME/Desktop/sandbox-output", "-e", "SANDBOX_MEMORY_LIMIT=512m", // optional "-e", "SANDBOX_CPU_LIMIT=0.75", // optional "alfonsograziano/node-code-sandbox-mcp" ] } } }

또는 NPX를 사용하면:

{ "mcpServers": { "node-code-sandbox-mcp": { "type": "stdio", "command": "npx", "args": ["-y", "node-code-sandbox-mcp"], "env": { "FILES_DIR": "/Users/alfonsograziano/Desktop/node-sandbox", "SANDBOX_MEMORY_LIMIT": "512m", // optional "SANDBOX_CPU_LIMIT": "0.75" // optional } } } }

참고: 작업 디렉토리가 빌드된 서버를 가리키고 Docker가 설치/실행 중인지 확인하세요.

도커

컨테이너에서 서버를 실행하고(필요한 경우 Docker 소켓을 마운트) 원하는 호스트 출력 디렉토리를 env var로 전달합니다.

# Build locally if necessary # docker build -t alfonsograziano/node-code-sandbox-mcp . docker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$HOME/Desktop/sandbox-output":"/root" \ -e FILES_DIR="$HOME/Desktop/sandbox-output" \ -e SANDBOX_MEMORY_LIMIT="512m" \ -e SANDBOX_CPU_LIMIT="0.5" \ alfonsograziano/node-code-sandbox-mcp stdio

이렇게 하면 호스트 폴더가 동일한 절대 경로 의 컨테이너에 바인드 마운트되고 MCP 서버 내부에서 FILES_DIR 사용할 수 있습니다.

VS Code를 사용한 사용

빠른 설치 버튼(VS Code 및 Insiders):

js-sandbox-mcp(NPX) 설치 js-sandbox-mcp(Docker) 설치

수동 구성 : VS Code settings.json 또는 .vscode/mcp.json 에 추가합니다.

"mcp": { "servers": { "js-sandbox": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/var/run/docker.sock:/var/run/docker.sock", "-v", "$HOME/Desktop/sandbox-output:/root", "-e", "FILES_DIR=$HOME/Desktop/sandbox-output", "-e", "SANDBOX_MEMORY_LIMIT=512m", "-e", "SANDBOX_CPU_LIMIT=1", "alfonsograziano/node-code-sandbox-mcp" ] } } }

API

도구

run_js_ephemeral

새로운 일회용 용기에 일회용 JS 스크립트를 실행합니다.

입력:

  • image (문자열, 선택 사항): 사용할 Docker 이미지(기본값: node:lts-slim ).
  • code (문자열, 필수): 실행할 JavaScript 소스.
  • dependencies ( { name, version } 배열, 선택 사항): 설치할 NPM 패키지 및 버전(기본값: [] ).

행동:

  1. 새로운 용기를 만듭니다.
  2. index.js 와 최소한의 package.json 작성합니다.
  3. 지정된 종속성을 설치합니다.
  4. 스크립트를 실행합니다.
  5. 컨테이너를 분해합니다(제거합니다).
  6. 캡처된 stdout을 반환합니다.
  7. 코드가 현재 디렉토리에 파일을 저장하는 경우 해당 파일은 자동으로 반환됩니다.
    • 이미지(예: PNG, JPEG)는 image 콘텐츠로 반환됩니다.
    • 다른 파일(예: .txt , .json )은 resource 콘텐츠로 반환됩니다.
    • 참고: 파일 저장 기능은 현재 임시 도구에서만 사용할 수 있습니다.

팁: 파일을 다시 가져오려면 스크립트 실행 중에 파일을 저장하기만 하면 됩니다.

예시 호출:

{ "name": "run_js_ephemeral", "arguments": { "image": "node:lts-slim", "code": "console.log('One-shot run!');", "dependencies": [{ "name": "lodash", "version": "^4.17.21" }], }, }

파일을 저장하는 예:

import fs from 'fs/promises'; await fs.writeFile('hello.txt', 'Hello world!'); console.log('Saved hello.txt');

콘솔 출력 hello.txt 파일이 반환됩니다.

샌드박스 초기화

새로운 샌드박스 컨테이너를 시작합니다.

  • 입력 :
    • image ( 문자열 , 선택 사항, 기본값: node:lts-slim ): 샌드박스용 Docker 이미지
    • port ( 번호 , 선택 사항): 설정된 경우 이 컨테이너 포트를 호스트에 매핑합니다.
  • 출력 : 컨테이너 ID 문자열

샌드박스_실행

실행 중인 샌드박스 내에서 셸 명령을 실행합니다.

  • 입력 :
    • container_id ( 문자열 ): sandbox_initialize 의 ID
    • commands ( string[] ): 실행할 셸 명령 배열
  • 출력 : 각 명령의 결합된 stdout

_제이에스

npm 종속성을 설치하고 JavaScript 코드를 실행합니다.

  • 입력 :
    • container_id ( 문자열 ): sandbox_initialize 의 ID
    • code ( 문자열 ): 실행할 JS 소스(ES 모듈 지원)
    • dependencies ( { name, version } 배열 , 선택 사항, 기본값: [] ): npm 패키지 이름 → semver 버전
    • listenOnPort ( 숫자 , 선택 사항): 설정된 경우 프로세스를 실행 상태로 두고 이 포트를 호스트에 노출합니다( 분리 모드 )
  • 행동:
    1. 컨테이너 내부에 임시 작업 공간을 생성합니다.
    2. index.js 와 최소 package.json 작성합니다.
    3. npm install --omit=dev --ignore-scripts --no-audit --loglevel=error 실행합니다.
    4. node index.js 실행하고 stdout을 캡처하거나 listenOnPort 설정된 경우 프로세스를 백그라운드에서 실행 상태로 둡니다.
    5. 분리 모드에서 실행하지 않는 한 작업 공간을 정리합니다.
  • 출력 : 스크립트 stdout 또는 백그라운드 실행 알림

샌드박스_스톱

샌드박스 컨테이너를 종료하고 제거합니다.

  • 입력 :
    • container_id ( 문자열 ): sandbox_initialize 의 ID
  • 출력 : 확인 메시지

사용 팁

  • 세션 기반 도구 ( sandbox_initializerun_jssandbox_stop )는 다음과 같은 경우에 이상적입니다.
    • 오랫동안 보관할 수 있는 샌드박스 용기를 열어 두세요.
    • 동일한 환경에서 여러 명령이나 스크립트를 실행합니다.
    • 종속성을 점진적으로 설치하고 재사용합니다.
  • run_js_ephemeral 사용한 원샷 실행은 다음 과 같은 경우에 적합합니다.
    • 빠른 실험이나 간단한 스크립트.
    • 상태나 캐시 종속성을 유지할 필요가 없는 경우.
    • 수동 분해에 대한 걱정 없이 깔끔하고 원자적으로 실행됩니다.
  • 분리 모드는 다음과 같은 경우에 유용합니다.
    • 즉석에서 서버나 장기 서비스를 시작합니다.
    • 실행 중인 컨테이너에서 엔드포인트 노출 및 테스트

귀하의 사용 사례에 가장 적합한 워크플로를 선택하세요!

짓다

컴파일하고 번들링합니다.

npm install npm run build

특허

MIT 라이센스

본 소프트웨어 및 관련 문서 파일(이하 "소프트웨어")의 사본을 취득한 모든 사람에게 소프트웨어를 제한 없이 거래할 수 있는 권한을 무상으로 부여합니다. 여기에는 소프트웨어 사본을 사용, 복사, 수정, 병합, 게시, 배포, 하위 라이선스 및/또는 판매할 수 있는 권한이 포함되나 이에 국한되지 않으며, 소프트웨어가 제공된 사람에게도 이러한 권한을 부여합니다. 단, 다음 조건에 따라야 합니다.

위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야 합니다.

본 소프트웨어는 상품성, 특정 목적 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저작자 또는 저작권자는 본 소프트웨어 또는 본 소프트웨어의 사용 또는 기타 거래와 관련하여 발생하는 계약, 불법 행위 또는 기타 소송을 포함한 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

즉석 npm 종속성 설치를 통해 격리된 Docker 컨테이너에서 임의의 JavaScript 코드를 실행할 수 있으며, 일시적인 원샷 실행과 영구적인 샌드박스 환경을 모두 지원합니다.

  1. 특징
    1. 멋진 사용 사례 살펴보기
      1. ⚠️ 필수 조건
        1. 시작하기
          1. Claude Desktop과 함께 사용
          2. 도커
          3. VS Code를 사용한 사용
        2. API
          1. 도구
            1. run_js_ephemeral
            2. 샌드박스 초기화
            3. 샌드박스_실행
            4. 런_제이에스
            5. 샌드박스_스톱
          2. 사용 팁
            1. 짓다
              1. 특허

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  Provides isolated Docker environments for code execution, enabling users to create and manage containers, execute multi-language code, save and reproduce development environments, ensuring security and isolation.
                  Last updated -
                  10
                  Python
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  Facilitates isolated code execution within Docker containers, enabling secure multi-language script execution and integration with language models like Claude via the Model Context Protocol.
                  Last updated -
                  2
                  Python
                  MIT License
                  • Linux
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  An interactive Python code execution environment that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.
                  Last updated -
                  19
                  Python
                  Apache 2.0
                • -
                  security
                  A
                  license
                  -
                  quality
                  An interactive Python code execution tool that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.
                  Last updated -
                  19
                  Python
                  Apache 2.0

                View all related MCP servers

                MCP directory API

                We provide all the information about MCP servers via our MCP API.

                curl -X GET 'https://glama.ai/api/mcp/v1/servers/alfonsograziano/node-code-sandbox-mcp'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server