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(モデルコンテキストプロトコル)を介してコードを実行するための安全なサンドボックスを提供します。これにより、AIアシスタントはホストシステムに直接アクセスすることなく、すべてのコードを独立したDockerコンテナ内で実行することで、安全にコードを実行できます。
特徴
- セキュア実行: 厳格なセキュリティ制限のある分離された Docker コンテナ内でコードが実行されます。
- 多言語サポート: 現在 Python をサポートしており、他の言語への拡張も容易です。
- リソース制限: 不正使用を防ぐためのCPUとメモリの制限
- MCP統合:モデルコンテキストプロトコルと完全に互換性があります
- 自動セットアップ: コンテナの作成、依存関係のインストール、クリーンアップを処理します
要件
- Docker (デスクトップまたはエンジン)
- Python 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 サーバーは、次の 3 つの主要なツールを公開します。
- 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 ベースの環境。