Work inside cua Spaces through the cua MCP server. A Space is a remote or local computer the user can watch; you can run commands in it, move files in and out, show its desktop or a single window on the user's screen, start coding agents inside it, teleport a signed-in app session into it, and share the host's network with it. Use when the user mentions Spaces, asks you to do work "in a Space", or wants a task isolated but visible.
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Spaces are exposed as MCP tools by the cua MCP server (cua mcp). If the
tools below are missing, ask the user to run cua agents setup or
cua auth login.
| Tool | Use |
|---|---|
list_spaces | See the Spaces you can use. Start here. |
create_space | A new Space: on = local (free, the user's machine), aws, gcp or modal (the user's own cloud account, billed there), or host:<name> (one of the user's machines set up with cua host setup); reuse: true returns a reachable one first. |
add_space / remove_space | Register an existing machine by URL and token, or forget one without deleting it. |
delete_space | Delete a Space's sandbox and stop its cost. |
stop_space / start_space | Turn a local Space (or one your machines provide) off and back on: suspended or stopped, as power in list_spaces says. |
Prefer an existing Space. A Space in the user's own cloud account costs money: delete the ones you created when the task ends.
| Tool | Use |
|---|---|
space_bash | Run a shell command (space, command, optional timeout). |
space_write | Write text to a file. |
upload / download | Copy files or folders in and out. |
send_file | Drop a host file into the Space's Downloads (sha256 verified). |
list_tools / call_tool | Reach MCP services running inside the Space. |
| Tool | Use |
|---|---|
open_space_viewer | Open the full desktop viewer. |
show_space_pip / hide_space_pip | Picture-in-picture on the user's screen. |
list_space_windows / stream_space_window | Show one window from the Space. |
stream_endpoint | Get a ticketed media URL for the desktop or a window. |
| Tool | Use |
|---|---|
agent_capabilities | Which agent harnesses the Space supports. |
agent_start | Start an agent run (space, agent, prompt). |
agent_status / agent_message / agent_stop / agent_list | Follow, steer and stop runs. |
teleport_manifest | Preview what moving an app session would copy. |
teleport_app | Move a signed-in app session (tabs, profile) into the Space. |
hotspot_start / hotspot_status / hotspot_stop | Share the host's network with a Space. |
To host Spaces on a machine you reach only over ssh (a spare Mac mini on the user's Tailscale, or the LAN):
curl -fsSL https://cua.ai/install.sh | sh -s -- -y --select spaces,host --no-onboarding.cua auth login --remote prints a device code and a
URL. Show both to the user and have them approve it (on another signed-in
device or at the URL).cua host setup --share spaces --name "<name>" hosts Spaces only (no
desktop sharing), through the cua.ai relay.create_space(on="host:<name>", count=2), or
cua spaces create macos:26 --on "<name>" --count 2.host:<name> only resolves machines set up with cua host setup (they
register with the relay). direct:<addr> attaches one Space that is already
running at that address (add_space) and cannot host new ones.
teleport_manifest and tell the user what will move before
teleport_app; sensitive items need their explicit acknowledgement.Any link to something you ran (preview, dashboard, file): use cua share, never localhost; open it once to check it works before sending.
The share tool (or cua share 3000, cua share space:dev:3000, cua share ./report.html) returns a link that opens on the user's other signed-in devices, phone included. It checks the link loads and reports check.ok; do not send a link whose check failed. Links are private by default; use access: "public" with a ttl only when the user wants anyone to open it. share_list and share_stop manage them.
trycua/cua
514b2a8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.