Integrations
Enables running arbitrary JavaScript code in isolated Docker containers with controlled CPU/memory limits. The server manages container lifecycle including creation, execution, and teardown.
Allows execution of arbitrary JavaScript snippets in isolated environments, capturing stdout and supporting both one-off and session-based execution models.
Provides tools for executing Node.js code in sandboxed environments, supporting ES modules and allowing stdout capture from executed scripts.
🐢🚀 Node.js サンドボックス MCP サーバー
オンザフライの npm 依存関係インストールを使用して、一時的な Docker コンテナで任意の JavaScript を実行するための Model Context Protocol (MCP) を実装した Node.js サーバー。
特徴
- 分離された Node.js サンドボックス コンテナを起動および管理する
- コンテナ内で任意のシェルコマンドを実行する
- ジョブごとに指定された npm 依存関係をインストールする
- ES モジュールの JavaScript スニペットを実行し、標準出力をキャプチャします。
- コンテナをきれいに解体する
注: コンテナは制御された CPU/メモリ制限で実行されます。
API
ツール
実行JSエフェメラル
まったく新しい使い捨てコンテナで 1 回限りの JS スクリプトを実行します。
入力:
image
(文字列、オプション): 使用する Docker イメージ (デフォルト:node:20-slim
)。code
(文字列、必須): 実行する JavaScript ソース。dependencies
({ name, version }
の配列、オプション):インストールする NPM パッケージとバージョン(デフォルト:[]
)。
行動:
- 新しいコンテナを作成します。
index.js
と最小限のpackage.json
を書き込みます。- 指定された依存関係をインストールします。
- スクリプトを実行します。
- コンテナを解体(削除)します。
- キャプチャした標準出力を返します。
- コードが現在のディレクトリにファイルを保存すると、これらのファイルは自動的に返されます。
image
コンテンツとして画像 (PNG、JPEG など) が返されます。- その他のファイル (例:
.txt
、.json
) はresource
コンテンツとして返されます。
**ヒント:**ファイルを復元するには、スクリプトの実行中にファイルを保存するだけです。
呼び出し例:
ファイルを保存する例:
これにより、コンソール出力とhello.txt
ファイルが返されます。
サンドボックスの初期化
新しいサンドボックス コンテナーを起動します。
- 入力:
image
(文字列、オプション、デフォルト:node:20-slim
): サンドボックス用のDockerイメージ
- 出力: コンテナID文字列
サンドボックス実行
実行中のサンドボックス内でシェル コマンドを実行します。
- 入力:
container_id
(文字列):sandbox_initialize
からのIDcommands
( string[] ): 実行するシェルコマンドの配列
- 出力: 各コマンドの標準出力を結合したもの
実行js
npm の依存関係をインストールし、JavaScript コードを実行します。
- 入力:
container_id
(文字列):sandbox_initialize
からのIDcode
(文字列): 実行するJSソース(ESモジュールをサポート)dependencies
({ name, version }
の配列、オプション、デフォルト:[]
): npmパッケージ名 → semverバージョン
- 行動:
- コンテナ内に一時ワークスペースを作成します
index.js
と最小限のpackage.json
を書きますnpm install --omit=dev --ignore-scripts --no-audit --loglevel=error
実行します。node index.js
を実行し、stdoutをキャプチャします。- ワークスペースをクリーンアップする
- 出力: スクリプトの標準出力
サンドボックスストップ
サンドボックス コンテナーを終了して削除します。
- 入力:
container_id
(文字列):sandbox_initialize
からのID
- 出力: 確認メッセージ
Claude Desktopでの使用
これをclaude_desktop_config.json
に追加します:
注: 作業ディレクトリがビルドされたサーバーを指していること、および Docker がインストール/実行されていることを確認してください。
使用上のヒント
- セッションベースのツール(
sandbox_initialize
➔run_js
➔sandbox_stop
) は、次のような場合に最適です。- 長期間有効なサンドボックス コンテナーを開いたままにします。
- 同じ環境で複数のコマンドまたはスクリプトを実行します。
- 依存関係を段階的にインストールして再利用します。
run_js_ephemeral
を使用したワンショット実行は、次のような場合に最適です。- 簡単な実験や簡単なスクリプト。
- 状態またはキャッシュの依存関係を維持する必要がないケース。
- 手動によるティアダウンを気にすることなく、クリーンでアトミックな実行を実現します。
ユースケースに最適なワークフローを選択してください。
ドッカー
コンテナ内でサーバーを実行します (必要に応じて Docker ソケットをマウントします)。
VS Codeでの使用
クイックインストールボタン (VS Code および Insiders):
js-sandbox-mcp (NPX) をインストールする js-sandbox-mcp (Docker) をインストールする
手動設定: VS Code のsettings.json
または.vscode/mcp.json
に追加します。
Claude Desktopでの使用
このMCPサーバーをインストールするには、公式ガイドに従ってください。
建てる
コンパイルしてバンドルする:
ライセンス
MITライセンス
本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。
本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
オンザフライの npm 依存関係インストールにより、分離された Docker コンテナーで任意の JavaScript コードを実行できるようになり、一時的なワンショット実行と永続的なサンドボックス環境の両方をサポートします。
Related MCP Servers
- -securityFlicense-qualityProvides isolated Docker environments for code execution, enabling users to create and manage containers, execute multi-language code, save and reproduce development environments, ensuring security and isolation.Last updated -6Python
- -securityAlicense-qualityAn MCP server to create secure code sandbox environment for executing code within Docker containers.Last updated -69GoMIT License
- AsecurityFlicenseAqualityProvides a secure, isolated JavaScript execution environment with configurable time and memory limits for safely running code from Claude.Last updated -15JavaScript
- AsecurityFlicenseAqualityA secure JavaScript REPL server that enables executing code snippets in a sandboxed environment with memory protection, timeout handling, and comprehensive error reporting.Last updated -21,3693JavaScript