Automation overview
Everything Umbra does can be driven from outside the app. There is exactly one definition of what automation can do, and three ways to reach it:
| For | Entry point | |
|---|---|---|
umbractl |
Scripts, terminals, CI | umbractl <command> prints JSON |
| MCP server | AI agents (Claude Code, Claude Desktop, any MCP client) | umbractl mcp over stdio |
| Control protocol | Anything else | a JSON line over a per-user named pipe |
All three talk to the running app through the same control commands, so they can never drift apart. If Umbra isn’t running, umbractl starts it in the background first.
Quick taste
Section titled “Quick taste”umbractl list # widgets, their settings, option schema and window boundsumbractl install weather # install from the community catalogumbractl set sp500 symbol ^IXIC # change an option; it applies instantlyumbractl configure sp500 --scale 1.5 # 150 % size and zoomumbractl layouts save Work # then: umbractl layouts apply Workumbractl capture sp500 shot.png # PNG of just that widgetclaude mcp add umbra -- umbractl mcp # let an agent see and drive your widgetsWhat automation cannot do
Section titled “What automation cannot do”Some things are deliberately human-only:
- Approve widget commands.
umbractl approvalsand the MCPlist_command_approvalsare read-only. A person approves in a host-drawn prompt or in Settings. - Accept new permissions on an update. The MCP server strips
--accept-permissions;update --allskips widgets whose update adds access. - Install an Umbra update. Control commands may check for updates but never install one.
- Reach it from the network. The pipe is current-user only and there is no network listener.
What it can do
Section titled “What it can do”Place, size, lock and hide widgets; change any option or app setting; manage layouts, tab groups, hotkeys and themes; install, update and remove catalog widgets; write new widgets from files; read and set a widget’s saved data; take screenshots of a widget or Settings page; read logs, privacy reports and diagnostics; back up and restore.
- Command reference: every
umbractlcommand. - MCP server: tools, resources and prompts for agents.
- Control protocol: the wire format.
