sandboxrun について
sandboxrunは、ローカルマシンではなく短時間のE2Bサンドボックスでコードを実行するコマンドラインツール兼MCPサーバーです。コード片を実行し、標準出力、構造化された結果、ログ、エラーを受け取る必要があるエージェント向けです。
主な機能
- 01新しいE2Bサンドボックスでコードを実行
- 02コードの直接入力やファイル内容に対応
- 03標準出力と結果を返却
- 04ログと実行エラーを含む
- 05コマンドラインとstdio MCPモード
活用シーン
- 01エージェントが作成したコード片の実行
- 02ローカルスクリプトの内容をサンドボックスで実行
- 03実行結果とエラーの確認
MCP 対応
stdio MCPサーバーとして動作し、`run_code`ツールを1つ提供します。新しいE2BサンドボックスでJupyter notebook構文のコードを実行し、実行詳細を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | セキュアな E2B サンドボックスで実行する Python コード。Jupyter Notebook の構文を使用します。 |
詳細
sandboxrun
sandboxrun を使うと、エージェントが書いたコードを安全な環境で実行できます。 スニペットを渡すと、そのスニペットの出力、生成した値、発生したエラーが返されます。実行はすべて、短時間で破棄される E2B サンドボックス内で行われ、自分のマシン上では実行されません。コマンドラインから、またはエージェント向けの MCP サーバーとして実行できます。
E2B API キーが必要です。E2B_API_KEY 環境変数に設定してください。キーは X-API-Key ヘッダーとして API に送信され、出力には表示されません。この変数が設定されていない場合、実行はすべて、その変数名を示すエラーで失敗します。
インストール
npx @reneturcios/sandboxrun run "print(6 * 7)"
または、コンテナイメージを実行します。
docker run -i -e E2B_API_KEY ghcr.io/cloudcorprecords/sandboxrun
コンテナはデフォルトで MCP サーバーとして起動します(以下を参照)。CLI として使用するには、CLI 引数を渡してください。
CLI
export E2B_API_KEY="your E2B API key"
# Run a snippet inline
sandboxrun run "print('hello from the sandbox')"
# Run a file's contents
sandboxrun run --file analysis.py
# Machine-readable output
sandboxrun run "import math; print(math.pi)" --json
sandboxrun --version
終了コード:成功時は 0、実行に失敗した場合(E2B_API_KEY の未設定、API エラー、コード自体が発生させたエラーを含む)は 1、使用方法のエラーの場合は 2 です。
MCP サーバー
1 つのバイナリで、どちらの用途にも対応します。mcp サブコマンドを実行すると、標準入出力を使う MCP サーバーが起動します。
npx -y @reneturcios/sandboxrun mcp
MCP クライアントの設定:
{
"mcpServers": {
"sandboxrun": {
"command": "npx",
"args": ["-y", "@reneturcios/sandboxrun", "mcp"],
"env": { "E2B_API_KEY": "your E2B API key" }
}
}
}
ツール
| ツール | 入力 | 返される内容 |
|---|---|---|
run_code | code(文字列、必須) | サンドボックス ID、出力、構造化された結果、ログ行、コードが発生させたエラーを含む、実行内容のテキストブロック。コードには Jupyter ノートブックの構文を使用します。 |
ドキュメントに記載されている E2B MCP サーバーが公開するツールは 1 つだけで、sandboxrun もまったく同じツールだけを公開します。余分なツールはありません。
内部では、呼び出しごとにコードインタープリターテンプレートから新しいサンドボックスを作成し(POST https://api.e2b.app/sandboxes)、その中でコードを実行します。上流の SDK は WebSocket チャネル経由でサンドボックスの Jupyter カーネルと通信します。この再構築では、同じ接続点の背後で実行処理を REST リクエストとして扱い、この通信方式の簡略化をビルドレポートに記録します。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。