Skip to main content
Glama

terrarium

数秒で手に入る、本物の使い捨てコンピュータ。あなたとあなたのAIエージェントのために。

新しい Windows または Linux マシンをフォークして、使い、壊し、この文を読むのにかかる時間で新品同様にリセットできます。

CI Go License

1コマンドで実現する本物のWindowsマシン

なぜ

コンテナはLinuxサービスを配布するには正しい方法ですが、システム全体をテストするには間違った方法です。すべてのコンテナはホストのカーネルを借用するため、あるコンテナで成功したビルドでも、実ハードウェアでは失敗し得ます。VMは常にその問題を解決してきました。VMに欠けていたのはコンテナのワークフロー、つまりイメージを作り、実行し、捨てる、という流れです。

terrariumは、あなたがすでに持っているVirtualBoxの上にそのワークフローを実現するものです。ゴールデンイメージを0.1秒でフォークできます。フォークを壊しても、数秒で元に戻せます。コマンドラインから操作することも、MCP経由で同じ能力をAIエージェントに渡すこともできます。仮想化コードは一切含まず、VBoxManage をラップし、自分が作成したVM以外には一切触れません。

用途の例:

  • 目標を設定して、あとは任せる。 MCP経由でエージェントに本物の使い捨てマシンと目標を与えます。エージェントは、ビルド、失敗、リバート、再試行を自律的に、監視なしで繰り返し、何かをエンドツーエンドでインストールするところまで到達します。しかも、タスクにはコマンドラインだけでなく画面も関わります。

  • エージェントにインストールをエンドツーエンドでテストさせる 実際のマシン上で、最初の起動からアプリが動作するまで。

  • エージェントにガイドの作成やバグの再現を任せて、このREADMEの録画のように、ステップごとのスクリーンショットの記録やGIFを受け取る。

  • 隔離され、使い捨てでき、本物。 捨てられるマシン上で機密性の高い作業やリスクのある作業を行えば、自分のマシンに影響が及ぶことはありません。

  • クリーンマシンでのテスト。 開発環境を見たことがないマシン上でインストーラやビルドを実行すれば、「私のマシンでは動く」という言い訳は通用しなくなります。

Related MCP server: wisp

目次

特徴

以下の録画はすべて本物です。実際のコマンド、ゲストのビデオメモリから読み取った実際のスクリーンショット、そして実際の経過秒数を示すタイマーです。作成方法は docs/demo で説明しています。

Windowsをフォーク: コールド状態からデスクトップまで約40秒

Windowsマシンをフォーク

Linuxをフォーク: SSHが応答するまで約20秒

Linuxマシンをフォーク

壊してからリバート: 13秒で再びクリーンに

起動不能な状態に壊したマシンをリバートする

ClaudeがXPでMinesweeperをクリア: SSHもインストールも不要

ハイパーバイザー経由でWindows XPフォーク上でClaudeがMinesweeperをクリア

比較

terrarium

Docker

VirtualBox

Vagrant

Hyper-V

Multipass

WSL2

本物の完全なマシン(独自カーネル)

Windowsゲスト

レガシーゲスト(XP時代)

1コマンドで数秒の新マシン

数秒でクリーンな状態にリセット

環境を小さなテキストファイルとして共有

GUIのみのゲストを操作(画面、マウス)

AIエージェントツール内蔵(MCP)

本番ワークロード

任意のホストOSで動作

作業がコンテナに収まるなら、Dockerを使いましょう。本物の完全なマシンが必要で、壊したり元に戻したりできる必要がある場合(そして最後の2行が支払える代償である場合)、最初の列がこのプロジェクトの存在意義です。VirtualBoxが独立した列を持っているのには理由があります。terrariumはVirtualBox上で動作するので、その列の緑の半分はエンジンであり、赤の半分はこのプロジェクトが追加する部分です。

プロジェクトごとの開発環境

# terrarium.yaml, committed in your repo
image: ubuntu-24.04
cpus: 4
memory: 4096

terrarium up は、プロジェクトにちなんだ名前のenvをフォークし、ゲスト内の /work にプロジェクトフォルダを共有し、それを ~/.ssh/config に追加します。これにより ssh <project> が機能し、VS Code Remote-SSH がワンクリックで認識します。down はそれを待機させ、up は復帰させ、revert はリセットします。

あなたのAIエージェントに本物のコンピュータを

$ claude mcp add terrarium -- terrarium mcp

同じバイナリがMCPサーバーとして動作します。上記のすべてのコマンドがツールとして使え、さらに screenshotclickscrolltypekeys があります。画面、マウス、キーボードはハイパーバイザー経由で注入されるため、ゲストに何もインストールする必要がなく、ネットワークやGuest Additionsも不要です。これが、エージェントがインストーラやログイン画面、SSHには古すぎるOSを操作する方法です。まさに上記のMinesweeperの録画が示していることです。接続時にサーバーはエージェントに、手探りで動き回るのではなく、まず doctor を実行して不足しているものを報告するよう指示します。

  • "クリーンなenvをフォークして、その中でプロジェクトをビルドし、READMEに何が足りなかったか教えてください。"

  • "Windows envに私たちのアプリをインストールして、各ステップをスクリーンショットしてください。"

SSH対応のWindowsゲストの場合、terrarium rdp はログイン済みの完全なデスクトップを開きます。

インストール

$ scoop bucket add terrarium https://github.com/chryaner/terrarium
$ scoop install terrarium

または、Go >= 1.25 を使用している場合、go install github.com/chryaner/terrarium/cmd/terrarium@latest を実行するか、クローンから go build -o terrarium ./cmd/terrarium を実行します。

Windowsホストに VirtualBox 7.x が必要です(VBoxManagePATH に含まれていること)。次に、マシンが準備できているか確認します:

$ terrarium doctor

Linuxイメージは自動的にダウンロードされます。Windowsイメージは、あなたが提供するインストールISOからビルドされます。置き場所と理由については イメージ を参照してください。

クイックスタート

$ terrarium get debian-12          # build a golden: download, boot, snapshot (~40s)
$ terrarium fork debian-12 t1      # a throwaway machine, SSH-ready in ~20s
$ terrarium exec t1 -- uname -a
$ terrarium ssh t1
$ terrarium revert t1              # back to clean in seconds
$ terrarium rm t1

downstart は、envを失うことなく待機させたり復帰させたりします。fork --ttl 2h はenvに有効期限を設定し、terrarium gc は期限切れのenv(手動でVMを削除したものも含む)を削除します。

速度

操作

測定値

ゴールデンのフォーク(リンククローン)

0.1秒

LinuxフォークからSSH応答まで(コールド)

約20秒

Windowsフォークから利用可能なデスクトップまで(コールド)

約40秒

クリーンな状態へのリバート(RAMレジューム)

8〜11秒

実行中マシンのスナップショット(RAM)

4秒

フォークあたりのディスク使用量

28〜48MB

Linuxゴールデンのスクラッチからのビルド

約40秒

デスクトップ(i9-14900K、NVMe、VirtualBox 7.2)で測定しました。数値は環境によって異なりますが、傾向は変わりません。フォークはリンククローンであり、ゴールデンのディスクを共有するため、クローンにかかるコストは数分と数GBではなく、0.1秒と数MBで済みます。

イメージ

ゴールデンとは、ベンダーが公開している公式イメージに数行のYAMLを加えたものです。そのため、バイト列は常にそれをメンテナンスしているディストリビューションから得られます。イメージの追加は、1ファイルのプルリクエストで完了します。

Linux: 自動ダウンロード

terrarium get <name> は、公式クラウドイメージをダウンロードし、生成されたSSHキーをシードし、一度起動してスナップショットを作成します。それぞれ約1分です。

レシピ

ダウンロード元

ubuntu-24.04

cloud-images.ubuntu.com

ubuntu-22.04

cloud-images.ubuntu.com

debian-12

cloud.debian.org

debian-13

cloud.debian.org

alma-9

repo.almalinux.org

rocky-9

dl.rockylinux.org

fedora-44

fedoraproject.org

opensuse-16.0

download.opensuse.org

Windows: 自分でISOを用意

Windowsにはクラウドイメージがなく、Microsoftのメディアは再配布できないため、ISOを一度ダウンロードすれば、terrariumが実際のインストーラを無人で実行します:

  1. MicrosoftからインストールISOをダウンロードします。

  2. レシピに応じた名前で %LOCALAPPDATA%\terrarium\isos\ に保存します: win10.isowinxp.iso

  3. terrarium get win10 を実行します。完全に無人で、win10は約10分、XPは約7分です。

win10winxp は現在提供されています。XPはOpenSSHより前のOSなので、そのフォークは exec ではなく、screenshot、click、type、keys によって操作されます。また、そのレシピには、ローカルのオーバーライドで指定するプロダクトキーが必要です。レシピの詳細、プライベートミラー、無人インストールの内部構造については、docs/DESIGN.md を参照してください。

自分でレイヤーを重ねる

レシピはメディアではなく、別のイメージの上に構築することもできます。from はベースを指定し、setup はそのフォーク内でコマンドを実行し、結果は新しいゴールデンにフラット化されます。YAMLファイルが共有可能な成果物です。同じファイルを持つチームメイトは、自分のベースから同等のマシンを構築できるため、ディスクイメージ(そしてWindowsライセンス)がやり取りされることはありません。

# %LOCALAPPDATA%\terrarium\recipes\team-dev.yaml
name: team-dev
from: debian-12
setup:
  - sudo apt-get update
  - sudo apt-get install -y git build-essential

terrarium get team-dev は、既存のベースの上に数秒でビルドします。スクリプトではなく手作業で作成した状態については、terrarium promote <env> <name> が設定済みのenvを直接ゴールデンにフラット化します。terrarium rm --golden <name> は、もう使わないイメージを削除します。

できないこと

  • まだクロスプラットフォームではありません。 ホストはWindowsでVirtualBoxが必要です。すべてのハイパーバイザー呼び出しは設計上1つのパッケージの背後に置かれているため、QEMUやHyper-Vドライバは計画された入り口であり、約束ではありません。

  • 本番向けではありません。 フォークは開発とテストのための家畜です。

  • シークレットマネージャーではありません。 Windowsゴールデンのパスワードはローカルに平文で保存され、インストール中に VBoxManage のコマンドライン上に一瞬表示されます。使い捨てのパスワードを使用してください。

ライセンス

Apache-2.0。レシピ、issue、フィールドレポートを歓迎します。最も役立つ貢献は、人々が実際に使うイメージのレシピです。

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    A
    quality
    A
    maintenance
    A virtual Linux desktop as an MCP server, shipped in Docker. Agents drive screen, mouse, keyboard across any GUI — browsers, IDEs, office suites, Wine/Windows apps, legacy software — many in parallel.
    12
    147
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides bounded, observable access to graphical apps, browsers, terminals, Android devices, virtual machines, and SSH hosts through MCP tools, enabling safe automation and app QA.
    109
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provider-neutral MCP server for managing VirtualBox, VMware Fusion, and VMware Workstation, offering tools for VM lifecycle, configuration, snapshots, guest operations, networking, and artifact resolution.
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

  • Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chryaner/terrarium'

If you have feedback or need assistance with the MCP directory API, please join our Discord server