サンドボックス MCP サーバー
コード実行のための分離されたDocker環境を提供するMCPサーバー。このサーバーでは、以下のことが可能です。
- 任意のDockerイメージでコンテナを作成する
- 複数のプログラミング言語でコードを記述して実行する
- パッケージをインストールして開発環境をセットアップする
- 分離されたコンテナでコマンドを実行する
前提条件
- Python 3.9以上
- Dockerがインストールされ実行中
- uv パッケージ マネージャー (推奨)
- Docker MCP サーバー(推奨)
インストール
- このリポジトリをクローンします:
- uv を使用して仮想環境を作成し、アクティブ化します。
- 依存関係をインストールします:
Claude Desktopとの統合
- Claude Desktop の設定ファイルを開きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- サンドボックス サーバーの構成を追加します。
/absolute/path/to/sandbox_server
プロジェクト ディレクトリへの実際のパスに置き換えます。
- Claudeデスクトップを再起動します
使用例
基本的な使い方
Claude Desktop に接続すると、次のことが可能になります。
- Python コンテナを作成します。
- さまざまな言語でコードを実行します。
- パッケージをインストールして使用します。
環境の保存と再生
サーバーは、開発環境を保存および再現するためのいくつかの方法を提供します。
永続コンテナの作成
コンテナを作成するときに、それを永続化することができます。
これにより、次のコンテナが作成されます。
- Claude Desktop が終了しても実行を継続します
- Docker経由で直接アクセス可能
- インストールされたすべてのパッケージとファイルを保存します
サーバーは次の指示を提供します:
- コンテナに直接アクセスする(
docker exec
) - コンテナの停止と起動
- 不要になったら削除する
コンテナの状態を保存しています
環境を設定したら、それを Docker イメージとして保存できます。
これにより、次のようになります。
- 次のすべてを含む新しい Docker イメージを作成します。
- インストールされたパッケージ
- 作成されたファイル
- 構成の変更
- 環境を再利用するための手順を提供する
その後、このイメージを共有したり、新しいコンテナの開始点として使用したりできます。
Dockerfilesの生成
環境を完全に再現可能にするには、Dockerfile を生成します。
生成された Dockerfile には次のものが含まれます。
- ベースイメージの仕様
- 作成されたファイル
- 追加のセットアップ手順のテンプレート
この Dockerfile を使用すると次のことができます。
- 環境設定を他の人と共有する
- 開発環境のバージョン管理
- ビルドプロセスを変更およびカスタマイズする
- さまざまなシステムに展開
推奨ワークフロー
再現可能な開発環境の場合:
- 永続コンテナを作成します。
- 必要なパッケージをインストールし、環境を設定します。
- セットアップをテストします。
- 状態を保存します:
- Dockerfile をエクスポートします。
これにより、環境を再作成するための複数のオプションが提供されます。
- 保存したDockerイメージを直接使用する
- Dockerfile から修正を加えてビルドする
- 必要に応じて元のコンテナにアクセスする
セキュリティノート
- すべてのコードは分離されたDockerコンテナ内で実行される
- 使用後は容器が自動的に除去されます
- ファイルシステムはコンテナ間で分離されている
- ホストシステムへのアクセスが制限されています
プロジェクト構造
利用可能なツール
サーバーは 3 つの主なツールを提供します。
create_container_environment
: 指定されたイメージで新しいDockerコンテナを作成するcreate_file_in_container
: コンテナ内にファイルを作成するexecute_command_in_container
: コンテナ内でコマンドを実行するsave_container_state
: コンテナの状態を永続コンテナに保存しますexport_dockerfile
: 永続的な環境を作成するために docker ファイルをエクスポートしますexit_container
: 終了時にコンテナを閉じて環境をクリーンアップします
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
コード実行用の分離された Docker 環境を提供し、ユーザーがコンテナを作成および管理し、多言語コードを実行し、開発環境を保存および再現して、セキュリティと分離を確保できるようにします。
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server to create secure code sandbox environment for executing code within Docker containers.Last updated -69GoMIT License
- -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 -PythonMIT License
- AsecurityAlicenseAqualityAllows executing shell commands within a secure Docker container through Claude's MCP interface, providing Kubernetes tools and isolated environment without host Docker daemon access.Last updated -13TypeScriptMIT 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 -13PythonApache 2.0