streamdeck_write_page
Create or update a Stream Deck page manifest with buttons, icons, and dial layouts. Avoids manifest overwrite by the Elgato app by requiring explicit auto-quit consent.
Instructions
Create a new page or replace/update an existing Stream Deck desktop page manifest. IMPORTANT: the Elgato desktop app overwrites profile manifests from its in-memory state on quit, so writes made while the app is running are lost. This tool refuses to write when the app is running unless auto_quit_app=True is passed. Call streamdeck_restart_app once your edits are complete to make the changes visible on the device.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profile_name | No | ||
| profile_id | No | ||
| page_index | No | Zero-based page index. Accepts int or string form. | |
| directory_id | No | ||
| page_name | No | Optional page name stored in the page manifest. | |
| buttons | No | Buttons to write. Use streamdeck_create_action to build Open or script-backed actions. Accepts a JSON array or a JSON-encoded string — some MCP clients stringify nested arrays in transit. | |
| clear_existing | No | If true, replace the page contents with the provided buttons. Defaults to true. Accepts bool or string form. | |
| create_new | No | Create a new page instead of updating an existing one. | |
| make_current | No | When true, make the page the active current page after writing. | |
| auto_quit_app | No | If true and the Elgato Stream Deck desktop app is running, quit it (graceful AppleScript first, then killall) before writing. Required when the app is running or the write will raise an error. Defaults to false so callers must explicitly consent to quitting it. |