🐢🚀 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를 볼 수 있어야 합니다.
- 종속성을 설치하고 파일을 저장할 수 있는지 확인하세요.이렇게 하면 마운트된 디렉토리(예: 데스크탑)에 "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
콘텐츠로 반환됩니다. - 참고: 파일 저장 기능은 현재 임시 도구에서만 사용할 수 있습니다.
- 이미지(예: PNG, JPEG)는
팁: 파일을 다시 가져오려면 스크립트 실행 중에 파일을 저장하기만 하면 됩니다.
예시 호출:
파일을 저장하는 예:
콘솔 출력 과 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 -10Python
- -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 -2PythonMIT 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 -19PythonApache 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 -19PythonApache 2.0