Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
MCP server for Elgato Stream Deck control — set buttons, manage pages, wire actions
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"streamdeck": {
"command": "uvx",
"args": [
"streamdeck-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add streamdeck -- uvx streamdeck-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"streamdeck": {
"command": "uvx",
"args": [
"streamdeck-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"streamdeck": {
"type": "stdio",
"command": "uvx",
"args": [
"streamdeck-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 verygoodplugins 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.2)于11个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SSTracker free youth training
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Free youth sports drills, practice plans and age-group answers for parents and coaches.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Stream Deck MCP
Stream Deck MCP lets agents build and reconfigure real Elgato Stream Deck profiles.
Quick Start · Demo · Features · Tools · Development
Tell your AI what Stream Deck you want. Get back a polished profile with buttons, icons, colors, dials, touch-strip art, and the shell scripts behind it. Stream Deck MCP writes the same profile format the Elgato desktop app already uses, so agents can author real local decks without making you build a Stream Deck plugin first.
It works with Claude Desktop, Claude Code, Cursor, Codex, and any MCP client that can launch a stdio server.
Claude Code:
claude mcp add streamdeck -- uvx streamdeck-mcp
Claude Desktop, Cursor, Codex, and other MCP clients can use the same command:
{
"mcpServers": { "streamdeck": { "command": "uvx", "args": ["streamdeck-mcp"] } } }
Then ask your agent for a deck:
Make me a Slack control board for my Stream Deck + XL.
For Claude Code, install the bundled designer skill for better layout, palette, hardware, and plugin-action guidance:
uvx --from streamdeck-mcp streamdeck-mcp-install-skill
Product trailer generated with Remotion, showing hardware inventory, plugin discovery, configured action reuse, and a final Stream Deck + XL reveal.
ProfilesV3 files directly, with ProfilesV2 fallback for older installs.streamdeck_find_actions scans existing profiles/pages for paste-ready plugin buttons and dials (including protected first-party Elgato plugins configured in the app).streamdeck_read_plugins so agents can find plugin and action UUIDs when synthesizing new actions.find_actions or streamdeck_read_page's button.raw so private Property Inspector settings stay intact.~/StreamDeckScripts/ and wires them to Stream Deck Open actions when no plugin action fits.The point is not generic buttons. Prefer reusing actions the user already configured in the Stream Deck app (Hue, OBS, Home Assistant, Spotify plugins, etc.), then compose them onto a themed page. When your agent also has Slack, Home Assistant, OBS, GitHub, Hue, Spotify, or other MCP servers loaded, it can query those systems to pick the right entities — and still wire the deck through native plugin actions when available, falling back to scripts only when needed.
Try prompts like:
streamdeck_find_actions, then lay them out with a matching visual style — or discover living-room entities via MCP and synthesize/scripts when nothing is configured yet.Iteration is cheap: change the prompt, rerun the authoring flow, and get a new profile.
The packaged entrypoint is streamdeck-mcp, run through uvx.
Or paste into ~/.cursor/mcp.json:
{
"mcpServers": { "streamdeck": { "command": "uvx", "args": ["streamdeck-mcp"] } } }
Paste into ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows, then restart Claude Desktop:
{
"mcpServers": { "streamdeck": { "command": "uvx", "args": ["streamdeck-mcp"] } } }
claude mcp add streamdeck -- uvx streamdeck-mcp
Add to ~/.codex/config.toml:
[mcp_servers.streamdeck]
command = "uvx" args = ["streamdeck-mcp"]
Anything that speaks MCP over stdio works the same way: point it at uvx streamdeck-mcp.
The default profile writer targets the Elgato Stream Deck desktop app, which is available on macOS and Windows. On Linux, headless machines, or setups where you want the MCP server to own the hardware directly, use the legacy USB server:
uvx --from streamdeck-mcp streamdeck-mcp-usb
Client config shape:
{
"mcpServers": { "streamdeck": { "command": "uvx", "args": ["--from", "streamdeck-mcp", "streamdeck-mcp-usb"] } } }
| Tool | What it does |
|---|---|
streamdeck_find_actions | Searches configured buttons/dials across profiles and returns paste-ready native action objects for streamdeck_write_page. |
streamdeck_read_plugins | Lists installed Stream Deck plugins and declared actions from readable plugin manifests. Protected or binary manifests are reported with diagnostics instead of failing the whole catalog. |
streamdeck_read_profiles | Lists desktop profiles, device metadata, page directories, and active profile roots from ProfilesV3 or ProfilesV2. |
streamdeck_read_page | Reads a page manifest and returns simplified button details plus raw native action objects. |
streamdeck_write_page | Creates or rewrites a page manifest. Prefer action from find_actions / button.raw when reusing configured third-party plugin actions. |
streamdeck_create_icon | Generates button or touch-strip PNGs from Material Design Icons or text. Icons are bundled offline; unknown names return close-match suggestions. |
streamdeck_create_action | Creates an executable shell script in ~/StreamDeckScripts/ and returns an Open action block. |
streamdeck_restart_app | Restarts the macOS Stream Deck desktop app after profile changes. |
streamdeck_install_mcp_plugin | Installs the bundled streamdeck-mcp Stream Deck plugin used for durable encoder imagery. Usually auto-installed by streamdeck_write_page. |
Prompt support:
| Prompt | What it does |
|---|---|
design_streamdeck_deck | Gives non-skill-aware MCP clients a condensed deck-design briefing before the user describes the deck they want. |
Stream Deck MCP ships with an Agent Skill for Claude Code that teaches the agent how to plan, theme, and author full decks end to end.
Install it with:
uvx --from streamdeck-mcp streamdeck-mcp-install-skill
The skill is copied to ~/.claude/skills/streamdeck-designer/. Restart Claude Code or start a new session after installing it. Re-run with --force to upgrade after a package update.
The skill covers:
streamdeck_find_actions and streamdeck_read_page / button.raw.Clients that do not load Claude Code skills can invoke the design_streamdeck_deck MCP prompt instead.
git clone https://github.com/verygoodplugins/streamdeck-mcp.git
cd streamdeck-mcp uv venv && uv pip install -e ".[dev]" uv run pytest tests/ -v uv run ruff check .
To audit this repo against the shared Very Good Plugins MCP standards:
../mcp-ecosystem/scripts/audit-server.sh .
ProfilesV3 is preferred when present. ProfilesV2 is still supported, but existing pages should be targeted by directory_id or page_index because Elgato uses opaque directory names there.streamdeck_write_page raises StreamDeckAppRunningError when the app is running and auto_quit_app is not set.auto_quit_app: true to quit the app before writing, then call streamdeck_restart_app when done. On Windows, quit and relaunch the Elgato app manually.STREAMDECK_APP_PATH if your Elgato app is not installed at /Applications/Elgato Stream Deck.app.~/.streamdeck-mcp/generated-icons/. Generated shell scripts live in ~/StreamDeckScripts/.The original USB-direct server is preserved for backwards compatibility. It exposes direct hardware tools:
streamdeck_list_devices, streamdeck_connect, streamdeck_info, streamdeck_set_button, streamdeck_set_buttons, streamdeck_clear_button, streamdeck_get_button, streamdeck_clear_all, streamdeck_set_brightness, streamdeck_create_page, streamdeck_switch_page, streamdeck_list_pages, streamdeck_delete_page, streamdeck_disconnect.
When multiple decks are attached, call streamdeck_list_devices first, then pass the desired serial to streamdeck_connect. Omitting serial preserves the legacy behavior of opening the first enumerated deck.
Run it with:
uvx --from streamdeck-mcp streamdeck-mcp-usb
Built by Very Good Plugins.