MCP Docker Sandbox Interpreter

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 )

설치

  1. 이 저장소를 복제하세요:
    git clone https://github.com/yourusername/mcp-docker-interpreter.git cd mcp-docker-interpreter
  2. 가상 환경을 만들고 활성화하세요.
    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. 종속성 설치:
    pip install -r requirements.txt

용법

MCP 서버 시작

다음을 실행하여 서버를 시작합니다.

# For Colima users: export DOCKER_HOST="unix:///Users/username/.colima/default/docker.sock" # Run the server uv run mcp dev main.py

AI 어시스턴트에 연결하기

이 MCP 서버를 모델 컨텍스트 프로토콜을 지원하는 AI 어시스턴트에 연결할 수 있습니다.

커서

커서에서 MCP 설정에 다음을 추가합니다.

{ "mcpServers": { "docker-sandbox": { "command": "python", "args": ["/absolute/path/to/your/main.py"], "env": { "DOCKER_HOST": "unix:///path/to/your/docker.sock" } } } }

해당 경로를 실제 파일 경로로 바꾸세요.

클로드 데스크탑

커서와 비슷하게 Claude Desktop의 MCP 설정에 구성을 추가합니다.

MCP 도구

이 MCP 서버는 세 가지 주요 도구를 제공합니다.

  1. initialize_sandbox : 코드 실행을 위한 새로운 Docker 컨테이너를 생성합니다.
    Arguments: - image: The Docker image to use (default: "alpine:latest")
  2. execute_code : 초기화된 샌드박스에서 코드를 실행합니다.
    Arguments: - code: The code string to execute - language: Programming language (default: "python")
  3. stop_sandbox : 컨테이너를 중지하고 제거합니다.
    No arguments needed

작동 원리

  1. initialize_sandbox 가 호출되면 시스템은 다음을 수행합니다.
    • Alpine Linux 기반 Docker 컨테이너를 생성합니다.
    • Python 및 기타 종속성을 설치합니다.
    • 보안 제한을 설정합니다
  2. execute_code 호출되면:
    • 코드는 격리된 컨테이너 내에서 실행됩니다.
    • 표준 출력 및 오류가 캡처됩니다.
    • 결과는 호출 애플리케이션으로 반환됩니다.
  3. stop_sandbox 가 호출되면:
    • 컨테이너가 정지되어 제거됩니다.
    • 모든 리소스가 해제됩니다

보안 고려 사항

이 샌드박스는 여러 가지 보안 조치를 구현합니다.

  • 컨테이너는 CPU 및 메모리 사용량이 제한되어 있습니다.
  • 컨테이너는 최소한의 권한으로 실행됩니다.
  • 네트워크 액세스는 기본적으로 비활성화되어 있습니다.
  • 용기는 일회용이며 사용 후 세척합니다.

개발

프로젝트 구조

mcp-docker-interpreter/ ├── main.py # Main implementation of MCP server and Docker sandbox ├── requirements.txt # Project dependencies └── README.md # This file

새로운 언어 지원 추가

새로운 프로그래밍 언어에 대한 지원을 추가하려면 DockerSandbox 클래스의 run_code 메서드를 수정하여 새 언어를 처리합니다.

문제 해결

일반적인 문제

  1. Docker 연결 오류 :
    • Docker가 실행 중인지 확인하세요
    • Docker 설치에 대해 DOCKER_HOST 환경 변수가 올바르게 설정되었는지 확인하세요.
  2. 컨테이너 생성 실패 :
    • Docker 컨테이너를 생성할 수 있는 권한이 있는지 확인하세요
    • 지정된 기본 이미지에 액세스할 수 있는지 확인하세요.
  3. 코드 실행이 실패했습니다 .
    • 컨테이너에 언어 런타임이 제대로 설치되었는지 확인하세요.
    • 지정된 언어에 대해 코드가 유효한지 확인하세요.

특허

MIT 라이센스

감사의 말

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

호스트 시스템에 직접 액세스하지 않고도 AI 도우미가 모든 코드를 격리된 컨테이너 내에서 실행하여 안전하게 코드를 실행할 수 있는 안전한 Docker 기반 환경입니다.

  1. Overview
    1. Features
      1. Requirements
        1. Installation
          1. Usage
            1. Starting the MCP Server
            2. Connecting to an AI Assistant
            3. MCP Tools
          2. How It Works
            1. Security Considerations
              1. Development
                1. Project Structure
                2. Adding New Language Support
              2. Troubleshooting
                1. Common Issues
              3. License
                1. Acknowledgements
                  ID: fqh4e3dpgp