Computers for
AI agents.

Persistent cloud desktops your agents can see, control, and operate. Real machines with a real screen — not headless browsers.

A full Linux desktop, ready when your agent is.

Agent session
YouAlex sent Larkspur's Q3 invoices. Total them by category, chart it, and reply with a PDF. Flag anything that looks off.
Agent

I totalled Larkspur's Q3 invoices by category in Calc ($8,122.60 in all), charted them, and replied to Alex in the same thread with ~/Downloads/Larkspur-Q3-2026.pdf attached and a flag that INV-2214 (Cleaning, $424.00) was billed twice, which would make the total $7,698.60 without it. I then closed LibreOffice without saving and Chromium, and returned to workspace 1.

A real run of Claude Code driving a Mandala computer over MCP, recorded October 1, 2026 and sped up 11.5×.

Why a real computer

Your agent works the way people do —
give it the machine people use.

Give your workflow a browser, desktop applications, shell access, and persistent files in one environment. A Mandala computer is a genuine virtual machine with a graphical desktop, isolated down to the hypervisor.

▣
Real desktops

Full Linux machines with a graphical session — browse, install, edit files, run anything.

◉
Built to be watched

A live view of the screen, embeddable in your own product with a single tag — view-only or interactive.

⧉
Start from a template

A plain Linux desktop, Omarchy's Hyprland tiling desktop, or one with Claude Code, Hermes or OpenClaw already installed. Connect your own model provider (sign in or add an API key) to start an agent.

⌁
Driven by API

Create, start, resize, and snapshot programmatically. Connect your agent through the API, SDKs, or MCP.

↺
Snapshots & restore

Take point-in-time copies on demand, or enable a daily snapshot schedule for each computer. Restore a saved snapshot when you need to recover.

▦
Isolated by design

Hardware virtualization per computer, its own network policy, its own credentials. Not a shared container.

◫
Workspaces

Every paid plan includes workspaces. Partition computers by project or customer, with API keys scoped to exactly one workspace.

⛁
It stays yours

Files, logins, and installed software are still there tomorrow. Stop a computer, start it next week, pick up where the agent left off.

The API

A desktop your code can drive.

  • Python and TypeScript SDKs — create a persistent computer, or use an ephemeral one that cleans itself up when your code finishes.
  • An MCP server — point Claude Code or Claude Desktop at a real desktop and skip the code entirely.
  • Screenshot, click, type, key — the verbs computer-use models expect.
  • Exec on the desktop — run commands inside the graphical session, not just a shell.

Read the API reference →

You'll need a paid plan and an API key from Settings → API keys. Replace YOUR_API_KEY below with your key.

Python

Install · Python 3.10+

python3 -m pip install mandala-computer
export MANDALA_API_KEY="YOUR_API_KEY"

Save as example.py

from pathlib import Path
from mandala_computer import Client

client = Client()
c = client.computers.create(template="base")
print(c.id)  # find it in your dashboard
c.wait_for_guest()
c.open("https://example.com")
Path("screen.png").write_bytes(c.screenshot())

Run python3 example.py in the same terminal. The screenshot is saved locally; the computer stays in your account. Python guide →

TypeScript

Install · Node.js 22+

npm install mandala-computer
export MANDALA_API_KEY="YOUR_API_KEY"

Save as example.mjs · runs directly in Node.js

import { writeFile } from 'node:fs/promises';
import { Client } from 'mandala-computer';

const client = new Client();
const c = await client.computers.create({
  template: 'base',
});
console.log(c.id); // find it in your dashboard
await c.waitForGuest();
await c.open('https://example.com');
await writeFile('screen.png', await c.screenshot());

Run node example.mjs in the same terminal. The SDK includes TypeScript types; this example also runs as JavaScript. The computer stays in your account. TypeScript guide →

The same package is the mandala command-line client. To install only the command, with Node.js 22+ and npm: curl -fsSL https://mandala.computer/install.sh | sh. Or with Homebrew, which brings its own Node.js: brew install mandalacomputer/tap/mandala.

Check the installer before it runs

Download the script with its SHA-256 into an empty directory and compare them:

cd "$(mktemp -d)"
curl -fsSLO https://mandala.computer/install.sh
curl -fsSLO https://mandala.computer/install.sh.sha256
shasum -a 256 -c install.sh.sha256 && sh install.sh

Without shasum, as on Alpine and slim container images, sha256sum -c install.sh.sha256 reads the same file. Both files come from this site, so a match proves the download is the published script, not that this site is uncompromised. The dashboard's Connect an agent panel shows the same hash from its own server.

MCP

Claude Code · Node.js 20.3+

claude mcp add mandala \
  -e MANDALA_API_KEY="YOUR_API_KEY" \
  -- npx -y mandala-computer-mcp

Run this in your terminal, then start a new Claude Code session in the same project and ask:

Create a computer from the base template, open example.com, and show me a screenshot.

MCP connects your existing agent to Mandala's desktop tools. The computer stays in your account. Claude Desktop and other MCP clients →

yourproduct.com/session/281
Firefox — CRM data entry
Updating record 42 of 60 … saved
LibreOffice Calc — leads.ods
60 rows · last edit by agent, just now

An illustration of an embedded session, not a live computer.

The live view

Show your users what their agent is doing.

Trust is watching the work happen. Drop the live screen into your own product with one tag — view-only for an audience, interactive when a human needs to take over.

<script
  src="https://app.mandala.computer/embed/desktop.js">
</script>
<com-desktop
  src="YOUR_EMBED_URL"
  style="height: 400px">
</com-desktop>

YOUR_EMBED_URL is the watch-only vnc.embed_url your server gets back when it creates or reads a computer. To let a person take over, pass computer (its ID) and token (its vnc.token) instead. Your API key never goes in the page.

Pricing

A pool of resources. Split it your way.

Every plan is a pool of vCPU, memory, and storage. Divide it across computers within your plan’s per-computer limits.

Solo

Best for solo builders, personal agents

$29 / month
  • Up to 4 computers
  • 4 vCPU · 8 GB RAM · 80 GB storage pool
  • Scheduled snapshots: 7 days of history
  • Full API, SDKs, and MCP server
Start with Solo

Studio · Popular

Best for small teams and agencies

$99 / month
  • Up to 16 computers · 5 seats
  • 16 vCPU · 32 GB RAM · 320 GB storage pool
  • Scheduled snapshots: 7 days + 4 weeks
  • Workspaces & scoped keys
Start with Studio

Swarm

Best for production teams at scale

$399 / month
  • Up to 32 computers · 25 seats
  • 64 vCPU · 128 GB RAM · 640 GB storage pool
  • Scheduled snapshots: 7 days + 4 weeks + 12 months
  • Up to 16 vCPU per computer · 20 template builds a day
Start with Swarm

A paid plan is required to launch computers.

Full plan details →

Give your agent a computer.

Create one from the API, the SDKs, or MCP.