MCP コードサンドボックスサーバー
隔離されたサンドボックス環境で安全なコード実行機能を提供する、拡張可能なメッセージ通信プロトコル(MCP)サーバーです。このサーバーはMCP標準に準拠しており、Claude for Desktopやその他のMCPクライアントと互換性があります。
特徴
- コード実行用の隔離されたサンドボックス環境を作成する
- Pythonコードを安全に実行する
- ファイル操作(リスト、読み取り、書き込み)を実行する
- サンドボックスにPythonパッケージをインストールする
- 抽象化されたコードインタープリタインターフェースを備えた拡張可能なアーキテクチャ
- 明確な関心の分離を備えたモジュール設計
建築
サーバーはモジュール式の拡張可能なアーキテクチャで構築されています。
コアコンポーネント
- 抽象インタープリタインターフェース: 異なるコード実行バックエンドを統合できる
- サンドボックス管理: サンドボックス環境を作成および管理するためのツール
- コード実行: コードを実行し、パッケージをインストールするためのツール
- ファイル操作: サンドボックス内のファイルを管理するためのツール
プロジェクト構造
前提条件
- Python 3.10以上
- E2B API キー(デフォルトの E2B インタープリタ用)
インストール
- このリポジトリをクローンします:
- 仮想環境をセットアップします。
- 必要なパッケージをインストールします。
- 環境変数を設定します。
使用法
サーバーをスタンドアロンで実行する
コマンドラインから直接サーバーを実行できます。
これにより、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:
- コード サンドボックス サーバーの構成を追加します。または
uv
を使用している場合: - ファイルを保存し、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
を新しいインタープリターに設定します
新しいインタープリターの実装例:
モジュールの説明
サンドボックスコア ( 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
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
分離されたサンドボックス環境で安全なコード実行機能を提供する、拡張可能なメッセージ通信プロトコル サーバー。Claude for Desktop およびその他の MCP クライアントと互換性があります。
Related MCP Servers
- -securityAlicense-qualityAn MCP server to create secure code sandbox environment for executing code within Docker containers.Last updated -69GoMIT License
- -securityAlicense-qualityA server for the Machine Chat Protocol (MCP) that provides a YAML-based configuration system for LLM applications, allowing users to define resources, tools, and prompts without writing code.Last updated -5PythonMIT License
- AsecurityAlicenseAqualityAn implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.Last updated -886JavaScriptMIT License
- -securityAlicense-qualityA secure, container-based implementation of the Model Context Protocol (MCP) that provides sandboxed environments for AI systems to safely execute code, run commands, access files, and perform web operations.Last updated -9PythonApache 2.0