Hopx Ai Sandboxes について
Hopx Ai Sandboxes は、HOPX が提供する MCP サーバーで、AI アシスタントが隔離されたクラウドコンテナ内でコードを実行できます。Python、JavaScript、Bash、Go に対応し、データサイエンス系ライブラリがプリインストールされています。
主な機能
- 01Python、JavaScript、Bash、Go のコード実行
- 02pandas、numpy、matplotlib のプリインストール
- 03ファイル操作とシェルコマンド
- 04長時間タスク向けのバックグラウンドプロセス
- 05実行後のコンテナ自動破棄
活用シーン
- 01AI アシスタントによるデータ分析とグラフ作成
- 02ローカル環境に影響を与えないコードの検証
- 03長時間のスクリプトのバックグラウンド実行
MCP 対応
コード実行、サンドボックス管理、ファイル操作、コマンド実行、環境変数の各ツールを MCP クライアントに公開し、HOPX_API_KEY で認証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
HOPX MCP Server
HOPX 向けの Model Context Protocol(MCP)サーバーです。AI アシスタントが、分離されたクラウドコンテナ内でコードを実行できるようにします。
MCP 名: io.github.hopx-ai/hopx-mcp
インストール
uvx hopx-mcp
API キーは hopx.ai で取得してください。
機能
- 分離されたコンテナ内で Python、JavaScript、Bash、Go を実行
- pandas、numpy、matplotlib(プリインストール済み)を使用したデータ分析
- ファイル操作とシステムコマンド
- バックグラウンドプロセスと長時間実行タスク
コンテナは使用後、自動的に破棄されます。
設定
API キーの取得
hopx.ai でサインアップしてください。
IDE の設定
MCP サーバーの設定を IDE に追加します。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。
{
"mcpServers": {
"hopx-sandbox": {
"command": "uvx",
"args": ["hopx-mcp"],
"env": {
"HOPX_API_KEY": "your-api-key-here"
}
}
}
}
設定後、Claude Desktop を再起動してください。
Cursor
.cursor/mcp.json に追加します。
{
"mcpServers": {
"hopx-sandbox": {
"command": "uvx",
"args": ["hopx-mcp"],
"env": {
"HOPX_API_KEY": "your-api-key-here"
}
}
}
}
VS Code
.vscode/mcp.json に追加します。
{
"mcpServers": {
"hopx-sandbox": {
"command": "uvx",
"args": ["hopx-mcp"],
"env": {
"HOPX_API_KEY": "your-api-key-here"
}
}
}
}
その他の IDE
設定形式は IDE によって異なります。次のパラメーターを追加してください。
- コマンド:
uvx - 引数:
["hopx-mcp"] - 環境変数:
HOPX_API_KEY=your-api-key-here
使用方法
クイック実行
execute_code_isolated(
code='print("Hello, World!")',
language='python',
timeout=30
)
戻り値:
{
'stdout': 'Hello, World!\n',
'exit_code': 0,
'execution_time': 0.123,
'sandbox_id': '1762778786mxaco6r2'
}
永続サンドボックス
同じ環境で複数の操作を行う場合:
# Create sandbox
sandbox = create_sandbox(
template_id='code-interpreter',
timeout_seconds=3600
)
sandbox_id = sandbox['id']
# Run operations
execute_code(sandbox_id, 'import pandas as pd')
execute_code(sandbox_id, 'df = pd.read_csv("data.csv")')
file_write(sandbox_id, '/workspace/output.txt', 'results')
content = file_read(sandbox_id, '/workspace/output.txt')
# Cleanup
delete_sandbox(sandbox_id)
利用可能なツール
サンドボックス管理:
create_sandbox()- サンドボックスを作成list_sandboxes()- サンドボックスを一覧表示delete_sandbox()- サンドボックスを終了
コード実行:
execute_code_isolated()- 1 回限りの実行(推奨)execute_code()- 既存のサンドボックス内で実行execute_code_background()- 長時間実行タスクexecute_code_async()- 30 分以上のタスク向け Webhook コールバック
ファイル操作:
file_read()、file_write()、file_list()file_exists()、file_remove()、file_mkdir()
コマンド:
run_command()- シェルコマンドを実行run_command_background()- バックグラウンドプロセス
環境:
env_get()、env_set()、env_clear()
対応言語
- Python 3.11+ - pandas、numpy、matplotlib、scipy、scikit-learn、requests
- JavaScript/Node.js 20 - 標準ライブラリ
- Bash - Unix ユーティリティ、git、curl、wget
- Go - コンパイルに対応
特長
- サンドボックスの作成:約200ms
- コンテナの起動:約0.1秒
- 自動クリーンアップ:600秒(設定可能)
- インターネットアクセス:デフォルトで有効
- 分離:実行ごとに完全に分離
- 認証:JWT ベース
環境変数
必須:
HOPX_API_KEY=your-api-key
任意:
HOPX_BASE_URL=https://api.hopx.dev # default
トラブルシューティング
「401 Unauthorized」
API キーが設定されていないか、無効です。
解決方法:
echo $HOPX_API_KEY # Verify key is set
「Template not found」
テンプレート名が無効です。
解決方法:
templates = list_templates(limit=20) # Browse available templates
初回実行が遅い
コンテナは作成後、初期化に約3秒かかります。
原因: VM 認証のセットアップ
解決方法: 2回目以降の操作はすぐに実行されます
制限事項
- 同期実行:最大300秒
- サンドボックスの存続期間:デフォルトで10分(設定可能)
- テンプレートごとに対応言語が異なります
セキュリティ
保護対策:
- ローカルシステムはコンテナの実行環境から分離されています
- コンテナ同士は分離されています
- 自動クリーンアップによりリソースリークを防止します
- サンドボックスごとに JWT 認証を行います
注意事項:
- コンテナはデフォルトでインターネットにアクセスできます
- コードは HOPX クラウドで実行されます
- 機密データについては、セキュリティポリシーに従ってください
サポート
- ドキュメント:docs.hopx.ai
- 問題:GitHub
- メール:[email protected]
ライセンス
MIT Licenseです。詳細はLICENSEをご覧ください。
HOPX 利用規約:hopx.ai/terms
技術的な詳細
以下を使用して構築されています:
- hopx-ai SDK v0.2.7
- FastMCP フレームワーク
- Model Context Protocol
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。