name: bricks-cli
description: Manage BRICKS workspace via CLI. Use for device status, screenshots, control, monitoring, group operations, application management, module management, and project initialization and deployment. Triggers on: device management, digital signage control, BRICKS workspace tasks, app/module updates, project setup.
BRICKS CLI
CLI for BRICKS Workspace API — manage devices, apps, modules, and media.
Installation (if not yet)
which bricks
npm i -g @fugood/bricks-cli
bun add -g @fugood/bricks-cli
Authentication
bricks auth login <passcode>
bricks auth status
bricks auth list
bricks auth use <profile>
Device Management
List & Info
bricks device list
bricks device list -j
bricks device list -k "lobby"
bricks device get <device-id>
bricks device get <device-id> -j
Control
bricks device refresh <device-id>
bricks device clear-cache <device-id>
bricks device control <device-id> <type>
bricks device control <device-id> <type> -p '{"key":"value"}'
Screenshot
bricks device screenshot <device-id>
bricks device screenshot <device-id> -o /tmp/screen.png
bricks device screenshot <device-id> --no-take
Monitor (Interactive-tty needed)
bricks device monitor
bricks device monitor -g <group-id>
bricks device monitor -i 30
Device Groups
bricks group list
bricks group get <group-id>
bricks group devices <group-id>
bricks group dispatch <group-id> <action>
bricks group refresh <group-id>
bricks group monitor <group-id>
Applications
bricks app list
bricks app get <app-id>
bricks app update <app-id>
bricks app bind <app-id>
bricks app short-edit <app-id>
bricks app project-pull <app-id>
bricks app project-init <app-id>
bricks app project-init <app-id> -o ./my-app
bricks app project-init <app-id> -y
bricks app project-init <app-id> --no-git
Modules
bricks module list
bricks module get <module-id>
bricks module update <module-id>
bricks module short-edit <module-id>
bricks module release <module-id>
bricks module project-init <module-id>
bricks module project-init <module-id> -o ./my-module -y
Project Init Options
Both app and module support these flags:
-o, --output <dir> — output directory
-y, --yes — skip prompts, use defaults
--no-git — skip git initialization
--no-install — skip bun install
--no-github-actions — skip GitHub Actions workflow
--no-agents — skip AGENTS.md
--no-claude — skip CLAUDE.md
--gemini — include GEMINI.md (off by default)
Media Flow
bricks media boxes
bricks media box <box-id>
bricks media files <box-id>
bricks media file <file-id>
Config
bricks config show
bricks config endpoint
bricks config endpoint beta
Interactive Mode (Interactive-tty needed)
bricks interactive
DevTools (LAN Discovery)
bricks devtools scan
bricks devtools scan -t 5000
bricks devtools scan -j
bricks devtools scan --verify
bricks devtools open <address>
bricks devtools open <address> -p 19853
bricks devtools open <address> --verify
Devices must have "Enable LAN Discovery" turned on in Advanced Settings (on by default).
MCP Server
bricks mcp start
Bridging Device MCP to Local CLI
Use mcporter to bridge a device's MCP endpoint as a local MCP server (STDIO), so tools like Claude Code can connect to it:
npx mcporter --url http://<device-ip>:19851/mcp --header "Authorization: Bearer <passcode>"
Tips
- Use
-j or --json on most commands for JSON output
- Device IDs are UUIDs — use
device list to find them
- Get workspace token from: https://control.bricks.tools → Workspace Settings → API Token