Streamdeck MCP
MCP server for Elgato Stream Deck control — set buttons, manage pages, wire actions
Connector by verygoodplugins · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/verygoodplugins-streamdeck-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 8 read · 9 write · 3 delete · 3 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 23
Read from the source code; the running server may list different tools.
Read 8 · Look things up without changing anything.
streamdeck_find_actionsstreamdeck_get_buttonstreamdeck_infostreamdeck_list_devicesstreamdeck_list_pagesstreamdeck_read_pagestreamdeck_read_pluginsstreamdeck_read_profiles
Write 9 · Create, change, send or run things.
streamdeck_create_actionstreamdeck_create_iconstreamdeck_create_pagestreamdeck_install_mcp_pluginstreamdeck_restart_appstreamdeck_set_brightnessstreamdeck_set_buttonstreamdeck_set_buttonsstreamdeck_write_page
Delete 3 · Delete, drop, revoke or wipe things.
streamdeck_clear_allstreamdeck_clear_buttonstreamdeck_delete_page
Not yet classified 3 · We could not tell from the name and description.
streamdeck_connectstreamdeck_disconnectstreamdeck_switch_page
Files it touches
- Any path the agent passes to its tools
Tools (23)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
streamdeck_clear_allClear all buttons on the current page
streamdeck_clear_buttonClear a button (remove image and text)
streamdeck_connectConnect to a Stream Deck device. Call this first before other operations. Use serial to choose a specific deck when multiple are attached.
streamdeck_create_actionCreate an executable shell script in ~/StreamDeckScripts and return a native Open action block for it.
streamdeck_create_iconGenerate 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 sing…
streamdeck_create_pageCreate a new button page/profile
streamdeck_delete_pageDelete a page (cannot delete 'main')
streamdeck_disconnectDisconnect from Stream Deck and reset it
streamdeck_find_actionsSearch configured buttons and dials across Stream Deck profiles/pages and return paste-ready native action objects for streamdeck_write_page. Prefer this FIRST when building layouts that reuse installed plugins (Home Assistant, Hue, OBS, Spotify, Wave Link, etc.): each hit includes a 'button' object ready for write_page (controller + key + action) so encoder/dial hits stay on the Encoder grid. You can also pass hit.action with controller=hit.controller yourself. Filters: query (substring), plugin_uuid, action_uuid, plugin_name, controller (keypad|encoder), optional profile scope. Returns a fre…
streamdeck_get_buttonGet the current configuration of a button
streamdeck_infoGet info about the connected Stream Deck, including model, key count, and current page.
streamdeck_install_mcp_pluginInstall 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.
streamdeck_list_devicesList attached Stream Deck devices without requiring an active connection
streamdeck_list_pagesList all available pages
streamdeck_read_pageRead a profile page by profile name or ID and page index or directory ID. Each button/dial includes a 'raw' native action object — copy it into streamdeck_write_page's button 'action' field to reuse configured plugin settings without guessing. For searching across many pages, prefer streamdeck_find_actions.
Show 8 more tools
streamdeck_read_pluginsList installed Stream Deck plugins and their declared actions from the user's Elgato Plugins directory, including each action's UUID, Name, States, and — best-effort — the Settings fields its Property Inspector expects (parsed from the action's PI HTML/JS). Use this to synthesize a NEW third-party action when streamdeck_find_actions finds no configured instance. Prefer find_actions (or read_page.raw) when the user already configured the button/dial in the Stream Deck app — especially for first-party Elgato plugins (OBS, Hue, Spotify, Zoom, …) that ship ELGATO-protected/binary manifests and are…
streamdeck_read_profilesList Stream Deck desktop profiles from the active ProfilesV3 or ProfilesV2 directory.
streamdeck_restart_appRestart the macOS Stream Deck desktop app after profile changes.
streamdeck_set_brightnessSet the Stream Deck screen brightness
streamdeck_set_buttonSet a button's appearance and optional action. Use text for labels or image_path for icons.
streamdeck_set_buttonsSet multiple buttons at once. This is faster than individual button calls.
streamdeck_switch_pageSwitch to a different button page
streamdeck_write_pageCreate a new page or replace/update an existing Stream Deck desktop page manifest. Authoring preference order: (1) paste a native 'action' from streamdeck_find_actions or streamdeck_read_page's button.raw — best for installed plugins with private Settings; (2) synthesize via plugin_uuid + action_uuid + settings from streamdeck_read_plugins when no configured instance exists; (3) script-backed Open actions via path / streamdeck_create_action for custom automation; also supports page-nav (action_type) and the bundled MCP dial. Validation: unknown plugin_uuid/action_uuid raises a clear error list…
Signals
- Stars
- 53
- Forks
- 13
- Open issues
- 4
- Contributors
- 4
- Weekly downloads
- 189
- Last commit
- Jul 19, 2026 (3 months ago)
- Last release
- Apr 28, 2026 (6 months ago)
- Last package publish
- Apr 28, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.verygoodplugins/streamdeck-mcp- Version
- 0.1.2
- Auth
- No auth
- Packages
- pypi streamdeck-mcp
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from verygoodplugins
- 0.675score
MCP AutoMem
verygoodplugins
Graph-vector memory for AI assistants using FalkorDB and Qdrant
ConnectorAFreshness: ARemoteLocal★ 66Claude Code +5 - 0.665score
MCP Local WP
verygoodplugins
WordPress database access via Local by Flywheel.
ConnectorAFreshness: ALocal★ 34Claude Code +5 - 0.662score
MCP Evernote
verygoodplugins
Evernote note management with OAuth and ENML conversion
ConnectorAFreshness: ALocal★ 33Claude Code +5 - 0.623score
MCP FreeScout
verygoodplugins
FreeScout ticket management with AI-powered analysis, search filters, and structured outputs.
ConnectorBFreshness: BLocal★ 30Claude Code +5 - 0.567score
MCP Pirsch
verygoodplugins
Pirsch Analytics with natural language queries and trend analysis
ConnectorBFreshness: BLocalRead-only★ 1Claude Code +5 - 0.556score
Robinhood Portfolio Research
verygoodplugins
Read-only research tools for Robinhood portfolio data
ConnectorCFreshness: CLocalRead-only★ 40↓ 63/wkClaude Code +5
Cite this page
Streamdeck MCP. Agent Mart. https://agentmart.dev/connectors/verygoodplugins-streamdeck-mcp (last updated 2026-10-24)