Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"streamdeck": {
"args": [
"--directory",
"/path/to/streamdeck-mcp",
"run",
"profile_server.py"
],
"command": "uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server for Elgato Stream Deck control — set buttons, manage pages, wire actions
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'streamdeck-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked streamdeck-mcp against OSV.dev.
Click any tool to inspect its schema.
design_streamdeck_deckCondensed MCP prompt that teaches the AI how to plan, theme, and author full Stream Deck decks end-to-end for clients that don't load Claude Code skills
This server is missing a description.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Persistent memory using a knowledge graph
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
a self-hosted project management & Kanban solution + Instant shareable boards
All-in-one local AI hub for Obsidian — LLM chat with vault tools, MCP servers, RAG, workflow automation, encryption, and edit history. Fully private, no cloud required.
MCP Security Weekly
Get CVE alerts and security updates for Streamdeck MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Tell your AI what kind of Stream Deck you want. Get back a fully authored profile — buttons, icons, colors, dials, and the shell scripts behind them.
streamdeck-mcp is the bridge: an MCP server that reads and writes Elgato Stream Deck profiles directly, in the format the desktop app already uses. Themed decks, per-project layouts, app-specific control boards — built in a single prompt instead of an hour in the GUI. Works with Claude Desktop, Claude Code, Cursor, Codex, and any MCP-compatible client.

Asked Claude Desktop for "a Slack control board" — got back this profile. Buttons, icons, colors, and dials all authored in one shot via the MCP server.
The decks aren't generic. When other MCP servers are loaded — Slack, Home Assistant, OBS, GitHub, Hue, the ones you already use — your AI queries them first to discover your channels, your devices, your scenes, then authors a deck around what's actually there. Icons render to match (~7,400 Material Design Icons bundled offline, or freeform text), so every button looks like it belongs. No Stream Deck SDK, no plugin authoring — just shell scripts and a prompt.
A few worth trying:
"Make me a control board for Slack." → Queries your Slack MCP for channels, status, and unread state. Generates one channel-jump button per channel you actually use, status toggles (Active / Away / DND), a Read-All, and dials for unread counts. The screenshot above is one such result.
"A hello-kitty-themed Home Assistant dashboard for the living room." → Pulls Home Assistant entities scoped to the living room area, then lays them out in pastel kawaii — scenes on row one, lights on row two, media on row three. Palette and icon style follow the theme.
"OBS control panel based on my actual scenes and audio inputs." → Queries OBS for scenes, sources, and audio devices. Generates scene-switch buttons with the right transitions, source toggles, and dials for per-input gain on the touch strip.
"A dev deck for this repo in Nordic colors." → Reads your project's scripts (npm, Make, just — whatever's there), recent PRs via the GitHub MCP, and the local docs structure. Drops shell-script buttons for the most-used commands, PR/CI jumps, and a Nordic-palette icon set.
"A 'Friday demo' deck: open Zoom, mute Slack, set Hue to 'focus', start a screen recording."
→ Composes across whatever MCPs you have loaded. Writes one shell script per action to ~/StreamDeckScripts/ and wires them to a single page with custom icons.
Same pattern every time: ask, your AI inventories your hardware and your other MCPs, plans the layout, generates icons, writes the profile files, restarts the Elgato app. Iteration is free — tweak the prompt, get a different deck.
design_streamdeck_deck MCP prompt in any other client.streamdeck_read_profiles to inventory the hardware, plans the layout, generates icons (~7,400 Material Design Icons bundled offline, or freeform text), writes the profile files, and restarts the Elgato app so the device picks up the changes.The packaged entrypoint is streamdeck-mcp, run via uvx. It edits the desktop app's ProfilesV3 files when present and falls back to ProfilesV2.
[](cursor://anysphere.cursor-deeplink/mcp/install?name=streamdeck&config=eyJjb21tYW5kIjoidXZ4IiwiYXJnc