Skip to content

Tools

Every tool is registered once in apps/server/registry.py and exposed the same way over REST, MCP and the SDK. GET /v1/tools?kind=desktop returns the same data live.

Sandbox kinds: desktop, browser, code, macos, windows. A desktop, macos or windows sandbox offers every category; browser and code restrict them (columns below).

ToolArgumentsPermissionKinds
close_apptarget: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, macos, windows
installed_apps—screen.read — Take screenshots and list appsdesktop, macos, windows
open_appcommand: str, display: str = ':1', timeout: float = 4.0input.control — Control mouse, keyboard, windows and appsdesktop, macos, windows
ToolArgumentsPermissionKinds
open_urlurl: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
ToolArgumentsPermissionKinds
copy_filesource: str, destination: strfiles.write — Write, move and delete filesdesktop, code, macos, windows
create_directorypath: strfiles.write — Write, move and delete filesdesktop, code, macos, windows
delete_filepath: strfiles.write — Write, move and delete filesdesktop, code, macos, windows
get_file_infopath: strfiles.read — Read filesdesktop, code, macos, windows
list_filespath: str = '.'files.read — Read filesdesktop, code, macos, windows
move_filesource: str, destination: strfiles.write — Write, move and delete filesdesktop, code, macos, windows
read_filepath: strfiles.read — Read filesdesktop, code, macos, windows
write_filepath: str, content: strfiles.write — Write, move and delete filesdesktop, code, macos, windows
ToolArgumentsPermissionKinds
hotkeykeys: listinput.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
press_keykey: strinput.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
type_texttext: strinput.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
ToolArgumentsPermissionKinds
clickx: int, y: int, button: str = 'left'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
double_clickx: int, y: int, button: str = 'left'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
dragstart_x: int, start_y: int, end_x: int, end_y: int, button: str = 'left', duration: float = 0.5input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
move_mousex: int, y: intinput.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
scrolldirection: str, amount: int = 3, x: int | None = None, y: int | None = Noneinput.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
ToolArgumentsPermissionKinds
accessibility_treeapp: str = '', title: str = '', max_nodes: int = 300screen.read — Take screenshots and list appsdesktop, browser, macos, windows
screen_diffsession: str = 'default', format: str = 'png', scale: float = 1.0, quality: int = 80screen.read — Take screenshots and list appsdesktop, browser, macos, windows
screenshotformat: str = 'png', scale: float = 1.0, quality: int = 80screen.read — Take screenshots and list appsdesktop, browser, macos, windows
wait_until_stabletimeout: float = 5.0, quiet_ms: int = 500, threshold: float = 0.0screen.read — Take screenshots and list appsdesktop, browser, macos, windows
ToolArgumentsPermissionKinds
execute_commandcommand: str, timeout: int = 30shell.exec — Run shell commandsdesktop, code, macos, windows
ToolArgumentsPermissionKinds
fetch_urlurl: str, timeout: int = 20shell.exec — Run shell commandsdesktop, code, macos, windows
ToolArgumentsPermissionKinds
window_closewindow_id: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
window_focuswindow_id: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
window_maximizewindow_id: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
window_minimizewindow_id: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
window_restorewindow_id: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
window_unmaximizewindow_id: str, display: str = ':1'input.control — Control mouse, keyboard, windows and appsdesktop, browser, macos, windows
windows_listdisplay: str = ':1'screen.read — Take screenshots and list appsdesktop, browser, macos, windows

Checked by the API before every tool call; a denied call returns 403.

PermissionCovers
shell.execRun shell commands
screen.readTake screenshots and list apps
input.controlControl mouse, keyboard, windows and apps
files.readRead files
files.writeWrite, move and delete files