Integrations
Uses Alpine Linux as the base container image for the secure execution environment
Provides a secure sandbox for executing code within isolated Docker containers, with resource limitations and security restrictions
Includes Mermaid diagram support for visualizing the MCP server architecture and workflow
MCP Docker 샌드박스 인터프리터
모델 컨텍스트 프로토콜(MCP)을 위한 안전한 Docker 기반 코드 실행 환경입니다.
개요
이 프로젝트는 MCP(Model Context Protocol)를 통해 코드를 실행할 수 있는 안전한 샌드박스를 제공합니다. AI 비서가 호스트 시스템에 직접 접근하지 않고도 모든 코드를 격리된 Docker 컨테이너 내에서 실행하여 안전하게 코드를 실행할 수 있도록 지원합니다.
지엑스피1
특징
- 안전한 실행 : 코드는 엄격한 보안 제한이 있는 격리된 Docker 컨테이너에서 실행됩니다.
- 다국어 지원 : 현재 다른 언어로 쉽게 확장 가능한 Python을 지원합니다.
- 리소스 제한 : 남용을 방지하기 위한 CPU 및 메모리 제한
- MCP 통합 : 모델 컨텍스트 프로토콜과 완벽하게 호환
- 자동 설정 : 컨테이너 생성, 종속성 설치 및 정리를 처리합니다.
요구 사항
- Docker(데스크톱 또는 엔진)
- 파이썬 3.10+
- MCP SDK(
pip install mcp
) - Docker Python SDK(
pip install docker
)
설치
- 이 저장소를 복제하세요:Copy
- 가상 환경을 만들고 활성화하세요.Copy
- 종속성 설치:Copy
용법
MCP 서버 시작
다음을 실행하여 서버를 시작합니다.
AI 어시스턴트에 연결하기
이 MCP 서버를 모델 컨텍스트 프로토콜을 지원하는 AI 어시스턴트에 연결할 수 있습니다.
커서
커서에서 MCP 설정에 다음을 추가합니다.
해당 경로를 실제 파일 경로로 바꾸세요.
클로드 데스크탑
커서와 비슷하게 Claude Desktop의 MCP 설정에 구성을 추가합니다.
MCP 도구
이 MCP 서버는 세 가지 주요 도구를 제공합니다.
- initialize_sandbox : 코드 실행을 위한 새로운 Docker 컨테이너를 생성합니다.Copy
- execute_code : 초기화된 샌드박스에서 코드를 실행합니다.Copy
- stop_sandbox : 컨테이너를 중지하고 제거합니다.Copy
작동 원리
initialize_sandbox
가 호출되면 시스템은 다음을 수행합니다.- Alpine Linux 기반 Docker 컨테이너를 생성합니다.
- Python 및 기타 종속성을 설치합니다.
- 보안 제한을 설정합니다
execute_code
호출되면:- 코드는 격리된 컨테이너 내에서 실행됩니다.
- 표준 출력 및 오류가 캡처됩니다.
- 결과는 호출 애플리케이션으로 반환됩니다.
stop_sandbox
가 호출되면:- 컨테이너가 정지되어 제거됩니다.
- 모든 리소스가 해제됩니다
보안 고려 사항
이 샌드박스는 여러 가지 보안 조치를 구현합니다.
- 컨테이너는 CPU 및 메모리 사용량이 제한되어 있습니다.
- 컨테이너는 최소한의 권한으로 실행됩니다.
- 네트워크 액세스는 기본적으로 비활성화되어 있습니다.
- 용기는 일회용이며 사용 후 세척합니다.
개발
프로젝트 구조
새로운 언어 지원 추가
새로운 프로그래밍 언어에 대한 지원을 추가하려면 DockerSandbox
클래스의 run_code
메서드를 수정하여 새 언어를 처리합니다.
문제 해결
일반적인 문제
- Docker 연결 오류 :
- Docker가 실행 중인지 확인하세요
- Docker 설치에 대해 DOCKER_HOST 환경 변수가 올바르게 설정되었는지 확인하세요.
- 컨테이너 생성 실패 :
- Docker 컨테이너를 생성할 수 있는 권한이 있는지 확인하세요
- 지정된 기본 이미지에 액세스할 수 있는지 확인하세요.
- 코드 실행이 실패했습니다 .
- 컨테이너에 언어 런타임이 제대로 설치되었는지 확인하세요.
- 지정된 언어에 대해 코드가 유효한지 확인하세요.
특허
감사의 말
- 이 프로젝트에서는 모델 컨텍스트 프로토콜을 사용합니다.
- Python용 Docker SDK 로 구축됨
This server cannot be installed
호스트 시스템에 직접 액세스하지 않고도 AI 도우미가 모든 코드를 격리된 컨테이너 내에서 실행하여 안전하게 코드를 실행할 수 있는 안전한 Docker 기반 환경입니다.