gbox
gboxは、AIエージェントがコマンドを実行したり、ウェブを閲覧したり、デスクトップ/モバイルで操作したりするための、セルフホスト可能なサンドボックスです。詳細は「機能」セクションをご覧ください。
このプロジェクトはgru.aiの技術に基づいています。10万件以上のエージェントジョブでテストされています。
MCP の人気が高まるにつれ、Claude Desktop/Cursor などの MCP クライアントに直接統合しやすくするために、MCP サーバーも実装しました。
特徴
ターミナル
任意のLinuxコマンドを実行する
Pythonスクリプトを直接実行する
呼び出し間でセッションを共有する [開発中]
ファイル
ホストマシンのフォルダをサンドボックスにマウントする
http リンクを介してサンドボックス ファイルにアクセスする
マルチモーダルでファイルの内容を読み取る
ファイルの書き込み/再書き込み
ファイル編集 [開発中]
ファイルの検索 [開発中]
ブラウザ
任意のURLを開き、マルチモーダルでコンテンツを返します
任意のURLからダウンロード [開発中]
指示に従ってブラウザを操作する
人間による支配 [未開発]
HTTPサーバー
任意のフォルダでオンデマンドで http サービスを開始する [開発中]
SDK
Python SDK:
pip install pygboxを使用してインストールします。詳細はPyPIを参照してください。タイプスクリプトSDK
MCP
標準MCPサポート
Claude Desktopとカーソルを統合
Related MCP server: GCP MCP
gboxをSDKとして使用する
Python SDK
タイプスクリプトSDK
gboxをCLIとして使用する
インストール
システム要件
macOS 10.15以降
注: 他のプラットフォーム (Linux、Windows) のサポートも近日中に提供される予定です。
インストール手順
更新手順
コマンドラインの使用
このプロジェクトでは、サンドボックス コンテナを管理するためのコマンドライン ツールgboxが提供されています。
ボリュームマウント
gbox box createコマンドは、 -vまたは--volumeフラグを使用した Docker 互換のボリュームマウントをサポートしています。これにより、ホストシステムとサンドボックスコンテナ間でファイルとディレクトリを共有できます。
ボリュームマウント構文は次の形式に従います。
どこ:
/host/path: ホストシステム上のファイルまたはディレクトリへのパス/container/path: コンテナ内でファイルまたはディレクトリがマウントされるパスro(オプション): マウントを読み取り専用にするpropagation(オプション):マウントの伝播モード(private、rprivate、shared、rshared、slave、rslave)を設定します。
例:
注: コンテナを作成する前にホストパスが存在している必要があります。コンテナパスが存在しない場合は自動的に作成されます。
MCPのユースケース
Claude DesktopなどのAIクライアントはgbox MCPを使用して、次のようなより良い結果を提供します。
1. 図表の生成
テスラの株価の図表を生成します:
https://claude.ai/share/34de8ca3-4e04-441b-9e79-5875fa9fc97a
2. PDFの生成
最新の AI ニュースの PDF を生成します:
https://claude.ai/share/84600933-dcf2-44be-a2fd-7f49540db57a
3. 分析と計算
Nvidia/Teslaの時価総額を分析・比較します。
https://claude.ai/share/70c335b7-9fff-4ee7-8459-e6b7462d8994
4. ローカルファイルの処理
ダウンロードフォルダ内の画像を見つけて、zip に圧縮します。
https://claude.ai/share/f8c4c617-9b32-4062-a8e2-2ab33ef46f42
5.任意のタスクを実行する
YouTubeビデオをダウンロード:
https://claude.ai/share/c2ab6bcb-7032-489f-87d5-cc38f72c2ca9
gboxを開発する
前提条件
Go 1.21以降
Dockerデスクトップ
作る
pnpm (corepack経由)
Node.js 16.13以降
建てる
サービスの実行
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。大きな変更については、まずイシューを開いて、変更したい点についてご相談ください。
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b username/feature-name)変更をコミットします(
git commit -m 'Add some feature')ブランチにプッシュする (
git push origin username/feature-name)プルリクエストを開く
ローカルでの開発とデバッグについて知っておくべきこと
システムにインストールされた環境ではなく、開発環境で gbox を実行する方法
gbox cleanupを実行して、インストール済みの gbox を停止します。これにより API サーバーが停止し、開発環境で API サーバーを実行できるようになります。プロジェクト ルートで
make api-devを実行します。./gbox box listを実行します。これは開発環境から実行されるコマンドです。
Claude DesktopなどのMCPクライアントを開発環境でMCPサーバーに接続する方法
プロジェクト ルートで
make mcp-devを実行します。./gbox mcp export --merge-to claude実行します。
MCP検査を開く方法
プロジェクト ルートで
make mcp-inspectを実行します。ターミナルに返されたリンクをクリックします。
開発環境でイメージをビルドして使用する方法
Python イメージをビルドするにはプロジェクト ルートで
make build-image-pythonを実行し、すべてのイメージをビルドするにはmake build-imagesします。必要に応じてイメージ名を変更します (例: TypeScript イメージの場合は
make build-image-typescript)。新しいイメージを有効にするには、現在のサンドボックスを削除する必要があるかもしれません
./gbox box delete --all
MCP クライアントが古い MCP コンテンツを取得するのはなぜですか?
ツール定義などの MCP 設定を変更した後は、
make buildを実行してdist/index.jsファイルを更新する必要があります。./gbox mcp export --merge-to claudeを実行する必要があるかもしれません。
ライセンス
このプロジェクトは、Apache License 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。