MCP コードサンドボックスサーバー
隔離されたサンドボックス環境で安全なコード実行機能を提供する、拡張可能なメッセージ通信プロトコル(MCP)サーバーです。このサーバーはMCP標準に準拠しており、Claude for Desktopやその他のMCPクライアントと互換性があります。
特徴
- コード実行用の隔離されたサンドボックス環境を作成する
- Pythonコードを安全に実行する
- ファイル操作(リスト、読み取り、書き込み)を実行する
- サンドボックスにPythonパッケージをインストールする
- 抽象化されたコードインタープリタインターフェースを備えた拡張可能なアーキテクチャ
- 明確な関心の分離を備えたモジュール設計
建築
サーバーはモジュール式の拡張可能なアーキテクチャで構築されています。
コアコンポーネント
- 抽象インタープリタインターフェース: 異なるコード実行バックエンドを統合できる
- サンドボックス管理: サンドボックス環境を作成および管理するためのツール
- コード実行: コードを実行し、パッケージをインストールするためのツール
- ファイル操作: サンドボックス内のファイルを管理するためのツール
プロジェクト構造
Copy
前提条件
- Python 3.10以上
- E2B API キー(デフォルトの E2B インタープリタ用)
インストール
- このリポジトリをクローンします:Copy
- 仮想環境をセットアップします。Copy
- 必要なパッケージをインストールします。Copy
- 環境変数を設定します。Copy
使用法
サーバーをスタンドアロンで実行する
コマンドラインから直接サーバーを実行できます。
Copy
これにより、stdio トランスポートを使用してサーバーが起動され、Claude for Desktop との互換性が確保されます。
Claude for Desktop と併用
- Claude for Desktopの最新バージョンがインストールされていることを確認してください
- Claude for Desktop の構成ファイルを開きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- コード サンドボックス サーバーの構成を追加します。またはCopy
uv
を使用している場合:Copy - ファイルを保存し、Claude for Desktopを再起動します。
利用可能なツール
サーバーは次のツールを提供します。
サンドボックス管理
- create_sandbox : 新しいサンドボックス環境を作成する
- close_sandbox : サンドボックスを閉じてクリーンアップする
- get_sandbox_status : サンドボックスのステータスを確認する
コード実行
- execute_code : サンドボックスでPythonコードを実行する
- install_package : Python パッケージをインストールする
- create_run_close : サンドボックスを作成し、コードを実行し、クリーンアップするオールインワンツール
ファイル操作
- list_files : サンドボックス内のファイルを一覧表示する
- read_file : ファイルの内容を読み取る
- write_file : ファイルにコンテンツを書き込む
- upload_file : サンドボックスにファイルをアップロードする
新しいインタープリタによる拡張
システムは拡張性を考慮して設計されています。新しいコードインタープリターを追加するには、以下の手順に従ってください。
- インタープリタ実装用に
src/sandbox/
の下に新しいディレクトリを作成します。 src/sandbox/code_interpreter.py
とsrc/sandbox/file_interface.py
で定義されたインターフェースを実装します。- 新しいインタープリタタイプを
src/sandbox/interpreter_factory.py
に追加します。 - 環境変数
INTERPRETER_TYPE
を新しいインタープリターに設定します
新しいインタープリターの実装例:
Copy
モジュールの説明
サンドボックスコア ( src/sandbox/
)
code_interpreter.py
: コードインタープリタの抽象基本クラスfile_interface.py
: ファイル操作のための抽象インターフェースinterpreter_factory.py
: コードインタープリタインスタンスを作成するためのファクトリー
E2B実装 ( src/sandbox/e2b/
)
e2b_interpreter.py
: コードインタープリタのE2B実装e2b_file_interface.py
: ファイル操作の E2B 実装
ツール ( tools/
)
sandbox_tools.py
: サンドボックス管理用のツールcode_execution_tools.py
: コード実行用のツールfile_tools.py
: ファイル操作用のツール
主な用途
main.py
: メインアプリケーションのエントリポイント
トラブルシューティング
問題が発生した場合:
- 選択したインタープリターの正しいAPIキーがあることを確認してください
- 詳細なエラーメッセージについてはログを確認してください
- 必要なパッケージがすべてインストールされていることを確認する
- Claude for Desktop がスクリプトへの正しいパスで設定されていることを確認します
セキュリティに関する考慮事項
- コード実行は安全のためサンドボックス環境で行われる
- このサーバーを本番環境で信頼できないコードを実行するために使用しないでください
- サーバーは現在認証を実装していません。信頼できる環境でのみ使用してください。
ライセンス
This server cannot be installed
分離されたサンドボックス環境で安全なコード実行機能を提供する、拡張可能なメッセージ通信プロトコル サーバー。Claude for Desktop およびその他の MCP クライアントと互換性があります。