Sandbox MCP Server

local-only server

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

Integrations

  • Provides isolated Docker environments for code execution, allowing users to create containers with any Docker image, run commands in isolated containers, and save container states as Docker images.

  • Mentioned as an example package that can be installed and used in the isolated containers for data analysis.

  • Mentioned as an example package that can be installed and used in the isolated containers for data manipulation.

샌드박스 MCP 서버

코드 실행을 위한 격리된 Docker 환경을 제공하는 MCP 서버입니다. 이 서버를 사용하면 다음 작업을 수행할 수 있습니다.

  • 모든 Docker 이미지로 컨테이너 생성
  • 여러 프로그래밍 언어로 코드를 작성하고 실행합니다.
  • 패키지 설치 및 개발 환경 설정
  • 격리된 컨테이너에서 명령 실행

필수 조건

  • 파이썬 3.9 이상
  • Docker 설치 및 실행 중
  • uv 패키지 관리자(추천)
  • Docker MCP 서버(권장)

설치

  1. 이 저장소를 복제하세요:

지엑스피1

  1. uv를 사용하여 가상 환경을 만들고 활성화합니다.
uv venv source .venv/bin/activate # On Unix/MacOS # Or on Windows: # .venv\Scripts\activate
  1. 종속성 설치:
uv pip install .

Claude Desktop과 통합

  1. Claude Desktop의 구성 파일을 엽니다.
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. 샌드박스 서버 구성을 추가합니다.
{ "mcpServers": { "sandbox": { "command": "uv", "args": [ "--directory", "/absolute/path/to/sandbox_server", "run", "sandbox_server.py" ], "env": { "PYTHONPATH": "/absolute/path/to/sandbox_server" } } } }

/absolute/path/to/sandbox_server 프로젝트 디렉토리의 실제 경로로 바꾸세요.

  1. Claude Desktop을 다시 시작하세요

사용 예

기본 사용법

Claude Desktop에 연결하면 다음을 수행할 수 있습니다.

  1. Python 컨테이너를 만듭니다.
Could you create a Python container and write a simple hello world program?
  1. 다양한 언어로 코드 실행:
Could you create a C program that calculates the fibonacci sequence and run it?
  1. 패키지를 설치하고 사용하세요:
Could you create a Python script that uses numpy to generate and plot some random data?

환경 보존 및 재생산

서버는 개발 환경을 저장하고 재생성하는 여러 가지 방법을 제공합니다.

영구 컨테이너 만들기

컨테이너를 생성할 때 영구적으로 만들 수 있습니다.

Could you create a persistent Python container with numpy and pandas installed?

이렇게 하면 다음과 같은 컨테이너가 생성됩니다.

  • Claude Desktop이 닫힌 후에도 계속 실행됩니다.
  • Docker를 통해 직접 접근 가능
  • 설치된 모든 패키지와 파일을 보존합니다.

서버는 다음에 대한 지침을 제공합니다.

  • 컨테이너에 직접 접근하기( docker exec )
  • 컨테이너 중지 및 시작
  • 더 이상 필요하지 않을 때 제거

컨테이너 상태 저장

환경을 설정한 후 Docker 이미지로 저장할 수 있습니다.

Could you save the current container state as an image named 'my-ds-env:v1'?

이렇게 하면:

  1. 다음 항목을 모두 포함하여 새 Docker 이미지를 만듭니다.
    • 설치된 패키지
    • 생성된 파일
    • 구성 변경
  2. 환경 재사용에 대한 지침을 제공합니다

그런 다음 이 이미지를 공유하거나 새 컨테이너의 시작점으로 사용할 수 있습니다.

Could you create a new container using the my-ds-env:v1 image?

Dockerfile 생성

환경을 완전히 재현 가능하게 만들려면 Dockerfile을 생성하세요.

Could you export a Dockerfile that recreates this environment?

생성된 Dockerfile에는 다음이 포함됩니다.

  • 기본 이미지 사양
  • 생성된 파일
  • 추가 설정 단계에 대한 템플릿

이 Dockerfile을 사용하여 다음을 수행할 수 있습니다.

  1. 다른 사람들과 환경 설정을 공유하세요
  2. 개발 환경 버전 제어
  3. 빌드 프로세스 수정 및 사용자 정의
  4. 다양한 시스템에 배포

권장 워크플로

재현 가능한 개발 환경의 경우:

  1. 영구 컨테이너를 만듭니다.
Create a persistent Python container for data science work
  1. 필요한 패키지를 설치하고 환경을 설정합니다.
Install numpy, pandas, and scikit-learn in the container
  1. 설정을 테스트하세요.
Create and run a test script to verify the environment
  1. 상태를 저장하세요:
Save this container as 'ds-workspace:v1'
  1. Dockerfile 내보내기:
Generate a Dockerfile for this environment

이렇게 하면 환경을 다시 만드는 데 여러 가지 옵션이 제공됩니다.

  • 저장된 Docker 이미지를 직접 사용하세요
  • 수정 사항을 사용하여 Dockerfile에서 빌드
  • 필요한 경우 원래 컨테이너에 접근하세요

보안 참고 사항

  • 모든 코드는 격리된 Docker 컨테이너에서 실행됩니다.
  • 사용 후 용기는 자동으로 제거됩니다.
  • 파일 시스템은 컨테이너 간에 격리됩니다.
  • 호스트 시스템 접근이 제한됩니다

프로젝트 구조

sandbox_server/ ├── sandbox_server.py # Main server implementation ├── pyproject.toml # Project configuration └── README.md # This file

사용 가능한 도구

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

  1. create_container_environment : 지정된 이미지로 새로운 Docker 컨테이너를 생성합니다.
  2. create_file_in_container : 컨테이너에 파일을 생성합니다.
  3. execute_command_in_container : 컨테이너에서 명령을 실행합니다.
  4. save_container_state : 컨테이너 상태를 영구 컨테이너에 저장합니다.
  5. export_dockerfile : 지속적인 환경을 생성하기 위해 docker 파일을 내보냅니다.
  6. exit_container : 작업이 완료되면 컨테이너를 닫아 환경을 정리합니다.
-
security - not tested
F
license - not found
-
quality - not tested

코드 실행을 위한 격리된 Docker 환경을 제공하여 사용자가 컨테이너를 생성 및 관리하고, 다국어 코드를 실행하고, 개발 환경을 저장 및 재생성할 수 있도록 하여 보안과 격리를 보장합니다.

  1. Prerequisites
    1. Installation
      1. Integration with Claude Desktop
        1. Usage Examples
          1. Basic Usage
          2. Saving and Reproducing Environments
        2. Security Notes
          1. Project Structure
            1. Available Tools
              ID: t3aw07q2a3