🐢🚀 Node.js 샌드박스 MCP 서버
npm 종속성을 즉석에서 설치하여 임시 Docker 컨테이너에서 임의의 JavaScript를 실행하기 위한 모델 컨텍스트 프로토콜(MCP)을 구현하는 Node.js 서버입니다.
특징
격리된 Node.js 샌드박스 컨테이너를 시작하고 관리합니다.
컨테이너 내부에서 임의의 셸 명령 실행
작업별로 지정된 npm 종속성을 설치합니다.
ES 모듈 JavaScript 스니펫을 실행하고 stdout을 캡처합니다.
용기를 깨끗이 분해하세요
분리 모드: 스크립트 실행 후 컨테이너를 활성 상태로 유지합니다(예: 장기 실행 서버)
참고: 컨테이너는 제어된 CPU/메모리 한도로 실행됩니다.
멋진 사용 사례 살펴보기
이 라이브러리를 사용할 멋지고 강력한 방법에 대한 아이디어가 필요하다면 웹사이트의 사용 사례 섹션을 확인하세요. 여기에는 Node.js 샌드박스 MCP 서버로 시도할 수 있는 프롬프트, 예제 및 창의적인 실험의 정리된 목록이 포함되어 있습니다.
⚠️ 필수 조건
이 MCP 서버를 사용하려면 Docker가 컴퓨터에 설치되어 실행 중이어야 합니다.
팁: 첫 번째 실행 중 지연을 방지하려면 필요한 Docker 이미지를 미리 가져오세요.
추천 이미지 예시:
노드:lts-slim
mcr.microsoft.com/playwright:v1.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 서버를 설치할 수 있습니다.
또는 NPX를 사용하면:
참고: 작업 디렉토리가 빌드된 서버를 가리키고 Docker가 설치/실행 중인지 확인하세요.
도커
컨테이너에서 서버를 실행하고(필요한 경우 Docker 소켓을 마운트) 원하는 호스트 출력 디렉토리를 env var로 전달합니다.
이렇게 하면 호스트 폴더가 동일한 절대 경로 의 컨테이너에 바인드 마운트되고 MCP 서버 내부에서 FILES_DIR
사용할 수 있습니다.
VS Code를 사용한 사용
빠른 설치 버튼(VS Code 및 Insiders):
js-sandbox-mcp(NPX) 설치 js-sandbox-mcp(Docker) 설치
수동 구성 : VS Code settings.json
또는 .vscode/mcp.json
에 추가합니다.
API
도구
run_js_ephemeral
새로운 일회용 용기에 일회용 JS 스크립트를 실행합니다.
입력:
image
(문자열, 선택 사항): 사용할 Docker 이미지(기본값:node:lts-slim
).code
(문자열, 필수): 실행할 JavaScript 소스.dependencies
({ name, version }
배열, 선택 사항): 설치할 NPM 패키지 및 버전(기본값:[]
).
행동:
새로운 용기를 만듭니다.
index.js
와 최소한의package.json
작성합니다.지정된 종속성을 설치합니다.
스크립트를 실행합니다.
컨테이너를 분해합니다(제거합니다).
캡처된 stdout을 반환합니다.
코드가 현재 디렉토리에 파일을 저장하는 경우 해당 파일은 자동으로 반환됩니다.
이미지(예: PNG, JPEG)는
image
콘텐츠로 반환됩니다.다른 파일(예:
.txt
,.json
)은resource
콘텐츠로 반환됩니다.참고: 파일 저장 기능은 현재 임시 도구에서만 사용할 수 있습니다.
팁: 파일을 다시 가져오려면 스크립트 실행 중에 파일을 저장하기만 하면 됩니다.
예시 호출:
파일을 저장하는 예:
콘솔 출력 과 hello.txt
파일이 반환됩니다.
샌드박스 초기화
새로운 샌드박스 컨테이너를 시작합니다.
입력 :
image
( 문자열 , 선택 사항, 기본값:node:lts-slim
): 샌드박스용 Docker 이미지port
( 번호 , 선택 사항): 설정된 경우 이 컨테이너 포트를 호스트에 매핑합니다.
출력 : 컨테이너 ID 문자열
샌드박스_실행
실행 중인 샌드박스 내에서 셸 명령을 실행합니다.
입력 :
container_id
( 문자열 ):sandbox_initialize
의 IDcommands
( string[] ): 실행할 셸 명령 배열
출력 : 각 명령의 결합된 stdout
런_제이에스
npm 종속성을 설치하고 JavaScript 코드를 실행합니다.
입력 :
container_id
( 문자열 ):sandbox_initialize
의 IDcode
( 문자열 ): 실행할 JS 소스(ES 모듈 지원)dependencies
({ name, version }
, 선택 사항, 기본값:[]
): npm 패키지 이름 → semver 버전listenOnPort
( 숫자 , 선택 사항): 설정된 경우 프로세스를 실행 상태로 두고 이 포트를 호스트에 노출합니다( 분리 모드 )
행동:
컨테이너 내부에 임시 작업 공간을 생성합니다.
index.js
와 최소package.json
작성합니다.npm install --omit=dev --ignore-scripts --no-audit --loglevel=error
실행합니다.node index.js
실행하고 stdout을 캡처하거나listenOnPort
설정된 경우 프로세스를 백그라운드에서 실행 상태로 둡니다.분리 모드에서 실행하지 않는 한 작업 공간을 정리합니다.
출력 : 스크립트 stdout 또는 백그라운드 실행 알림
샌드박스_스톱
샌드박스 컨테이너를 종료하고 제거합니다.
입력 :
container_id
( 문자열 ):sandbox_initialize
의 ID
출력 : 확인 메시지
사용 팁
세션 기반 도구 (
sandbox_initialize
➔run_js
➔sandbox_stop
)는 다음과 같은 경우에 이상적입니다.오랫동안 보관할 수 있는 샌드박스 용기를 열어 두세요.
동일한 환경에서 여러 명령이나 스크립트를 실행합니다.
종속성을 점진적으로 설치하고 재사용합니다.
run_js_ephemeral
사용한 원샷 실행은 다음 과 같은 경우에 적합합니다.빠른 실험이나 간단한 스크립트.
상태나 캐시 종속성을 유지할 필요가 없는 경우.
수동 분해에 대한 걱정 없이 깔끔하고 원자적으로 실행됩니다.
분리 모드는 다음과 같은 경우에 유용합니다.
즉석에서 서버나 장기 서비스를 시작합니다.
실행 중인 컨테이너에서 엔드포인트 노출 및 테스트
귀하의 사용 사례에 가장 적합한 워크플로를 선택하세요!
짓다
컴파일하고 번들링합니다.
특허
MIT 라이센스
본 소프트웨어 및 관련 문서 파일(이하 "소프트웨어")의 사본을 취득한 모든 사람에게 소프트웨어를 제한 없이 거래할 수 있는 권한을 무상으로 부여합니다. 여기에는 소프트웨어 사본을 사용, 복사, 수정, 병합, 게시, 배포, 하위 라이선스 및/또는 판매할 수 있는 권한이 포함되나 이에 국한되지 않으며, 소프트웨어가 제공된 사람에게도 이러한 권한을 부여합니다. 단, 다음 조건에 따라야 합니다.
위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야 합니다.
본 소프트웨어는 상품성, 특정 목적 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저작자 또는 저작권자는 본 소프트웨어 또는 본 소프트웨어의 사용 또는 기타 거래와 관련하여 발생하는 계약, 불법 행위 또는 기타 소송을 포함한 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
즉석 npm 종속성 설치를 통해 격리된 Docker 컨테이너에서 임의의 JavaScript 코드를 실행할 수 있으며, 일시적인 원샷 실행과 영구적인 샌드박스 환경을 모두 지원합니다.
Related MCP Servers
- -securityFlicense-qualityProvides 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 -11
- -securityAlicense-qualityFacilitates 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 -3MIT License
- -securityAlicense-qualityAn interactive Python code execution environment that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -27Apache 2.0
- -securityAlicense-qualityAn interactive Python code execution tool that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -27Apache 2.0