streamdeck-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STREAMDECK_APP_PATH | No | Path to the Elgato Stream Deck app bundle (macOS only, default is /Applications/Elgato Stream Deck.app) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| streamdeck_read_profilesA | List Stream Deck desktop profiles from the active ProfilesV3 or ProfilesV2 directory. |
| streamdeck_read_pageB | Read a profile page by profile name or ID and page index or directory ID. |
| streamdeck_write_pageA | 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. |
| streamdeck_create_iconA | Generate one or many PNG icons. Button icons are 72x72 px; touchstrip segment icons are 200x100 px (use shape='touchstrip'). For a single icon: pass 'icon' (a Material Design Icons name like 'mdi:cpu-64-bit') OR 'text' (mutually exclusive with 'icon' — titles go on streamdeck_write_page's 'title' field since Elgato overlays them on images). For a full deck (often 30+ icons): pass 'icons' as a list of spec dicts to generate them all in one call and avoid the round-trip timeouts serial calls hit. ~7400 MDI icons bundled offline; unknown names return close-match suggestions. Returns either a single {path, size, ...} dict or {"icons": [...]} when 'icons' is used (each list element is a per-icon result or an {"error"} entry for that spec). |
| streamdeck_create_actionB | Create an executable shell script in ~/StreamDeckScripts and return a native Open action block for it. |
| streamdeck_restart_appA | Restart the macOS Stream Deck desktop app after profile changes. |
| streamdeck_install_mcp_pluginA | Install the bundled streamdeck-mcp Stream Deck plugin into the user's Elgato Plugins directory. The plugin is a minimal shell that declares encoder support so that per-instance touchstrip icons and backgrounds written by streamdeck_write_page survive an Elgato app restart. Idempotent — returns installed=false when already present unless force=true. streamdeck_write_page also auto-installs this plugin when an encoder button targets it, so most callers do not need to invoke this directly. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| design_streamdeck_deck | Prime Claude with the streamdeck-designer authoring vocabulary: hardware inventory, palette/typography planning, integration discovery, icon generation, dial layouts, and guardrails. Invoke before authoring a themed or integrated Stream Deck layout — especially on clients that don't auto-load the bundled Claude Code skill. Optional 'intent' arg appends the user's specific ask. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/verygoodplugins/streamdeck-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server