streamdeck-mcp — Claude Code MCP server for Stream Deck
Build or rework Elgato Stream Deck profiles through an AI agent, with buttons, pages, actions, and artwork. Useful when you want to describe a control panel instead of assembling it by hand.
claude mcp add streamdeck-mcp -- uvx streamdeck-mcpWhat streamdeck-mcp does
Describe the control panel you need and the server creates a local Stream Deck profile with buttons, icons, colors, dial controls, and touch-strip artwork. It reads and writes Elgato profile files, with a fallback format for older installations. Before changing a profile, it checks the device model and key layout.
The server searches existing profiles for configured plugin actions and prefers reusing them, which keeps their settings intact. When no suitable action is available, it can create an executable shell script and attach it to a button. Icons are rendered locally from a bundled collection or short text labels. Dial and touch-strip support can require installation of a bundled plugin. On macOS and Windows, profile writing targets the Elgato desktop app; Linux and headless setups use a separate USB server.
In Claude Code, add the server with the command in the FAQ. A bundled designer skill can also guide layout choices. One constraint matters: the Elgato app can overwrite manifest edits, so the server closes it before writing and relaunches it afterward.
What it helps with
- create a Stream Deck profile from a panel description
- reuse configured plugin actions on a new page
- add project command buttons to a local deck
- render icons and touch-strip artwork
- set up dial controls for Stream Deck
Example prompts for the agent
- Build a Stream Deck panel for Slack with channel shortcuts and status controls.
- Make an OBS control panel based on my scenes and audio inputs.
- Create a deck for this repository with local command buttons and PR links.
How to install streamdeck-mcp
Platform CLI
claude mcp add streamdeck-mcp -- uvx streamdeck-mcpuvx runs the command named after the package; if the README names another one, use uvx --from streamdeck-mcp <command>
Platform CLI
codex mcp add streamdeck-mcp -- uvx streamdeck-mcpuvx runs the command named after the package; if the README names another one, use uvx --from streamdeck-mcp <command>
Config file
{
"mcpServers": {
"streamdeck-mcp": {
"command": "uvx",
"args": [
"streamdeck-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from streamdeck-mcp <command>
Config file
{
"servers": {
"streamdeck-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"streamdeck-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from streamdeck-mcp <command>
Platform CLI
gemini mcp add streamdeck-mcp uvx streamdeck-mcpuvx runs the command named after the package; if the README names another one, use uvx --from streamdeck-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about streamdeck-mcp
How do I install streamdeck-mcp in Claude Code?
Run claude mcp add streamdeck-mcp -- uvx streamdeck-mcp. For layout guidance, you can also install the bundled designer skill with uvx --from streamdeck-mcp streamdeck-mcp-install-skill.
What does streamdeck-mcp do?
It creates and edits Elgato Stream Deck profiles with buttons and actions. It looks for actions already configured in profiles first, then can connect buttons to local scripts when needed.
Can streamdeck-mcp run on Linux?
Linux and headless setups can use the separate USB server: uvx --from streamdeck-mcp streamdeck-mcp-usb. The standard profile writer targets the Elgato desktop app on macOS and Windows.