Skip to main content
Glama

샌드박스 MCP 서버

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

  • 모든 Docker 이미지로 컨테이너 생성

  • 여러 프로그래밍 언어로 코드를 작성하고 실행합니다.

  • 패키지 설치 및 개발 환경 설정

  • 격리된 컨테이너에서 명령 실행

필수 조건

  • 파이썬 3.9 이상

  • Docker 설치 및 실행 중

  • uv 패키지 관리자(추천)

  • Docker MCP 서버(권장)

Related MCP server: Python MCP Sandbox

설치

  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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tsuchijo/sandbox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server