Stream Deck MCP服务器

一款专为开发者工作流设计的Stream Deck MCP服务器,提供高质量的图标、完整的配置文件管理以及从Slack、Notion和GitHub等平台聚合任务上下文的功能。

  • by jxxh204
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jxxh204/streamdeck-mcp

使用说明

streamdeck mcp

Stream Deck MCP服务器最终认真对待您的开发人员工作流程。

使用高质量的图标、完整的配置文件管理以及来自Slack、Notion和GitHub的任务上下文聚合,从Claude Code控制您的Elgato Stream Deck。

为什么这比其他Stream Deck MCP更重要?

  • 看起来不像程序员艺术的图标 --SVG在144×144视网膜上渲染,带有Lucide图标、macOS应用程序图标提取、渐变和徽章。不再使用纯色枕头文字。
  • 任务上下文聚合 --一个命令将当前任务的Slack线程、Notion doc、GitHub PR和Figma文件拉到Stream Deck上的一个文件夹中。不再在五个工具上狩猎。
  • 基于文件夹的导航 --您实际上可以通过编程创建子页面,并使用工作 /task 处理整个流程的技能。
  • Claude代码原生 --作为一流的MCP服务器构建,而不是某人USB控制库的端口。

安装

npm install -g streamdeck-mcp

或者克隆并构建:

git clone https://github.com/jxxh204/streamdeck-mcp.git
cd streamdeck-mcp
npm install
npm run build

配置

添加到您的项目 .mcp.json (或克劳德代码设置):

{
  "mcpServers": {
    "streamdeck": {
      "command": "streamdeck-mcp"
    }
  }
}

如果从源代码安装,请指向构建文件:

{
  "mcpServers": {
    "streamdeck": {
      "command": "node",
      "args": ["/path/to/streamdeck-mcp/dist/index.js"]
    }
  }
}

快速开始

重启Claude Code后,在对话中尝试以下操作:

List my Stream Deck profiles
Create a 144x144 icon with the git-branch Lucide icon on a purple gradient,
text "main", and save it as branch-icon
Extract the Cursor app icon and make it a Stream Deck button

MCP工具

工具 说明
streamdeck_read_profiles 列出所有包含页面和元数据的配置文件
streamdeck_read_page 使用按钮布局阅读页面详细信息
streamdeck_write_page 使用按钮创建或更新页面
streamdeck_create_icon 生成144×144个PNG图标(Lucide、应用程序图标、渐变、徽章、表情符号)
streamdeck_create_action 为按钮创建shell脚本操作
streamdeck_restart_app 重新启动Stream Deck以应用更改
streamdeck_list_icons 列出内置Lucide图标名称
streamdeck_manage_profile 创建、重命名、删除或复制配置文件
streamdeck_delete_page 从个人资料中删除页面
streamdeck_live_dashboard 启动/停止实时仪表板守护进程

图标示例

// Lucide icon with gradient background
{ lucide: "terminal", text: "Claude",
  bg_color: "linear-gradient(#D97706, #B45309)" }

// macOS app icon extraction (uses sips under the hood)
{ app_icon: "Docker", subtitle: "Docker",
  bg_color: "linear-gradient(#2496ED, #1D7AC4)" }

// Notification badge
{ lucide: "eye", text: "Reviews",
  badge: "5", badge_color: "#9333EA" }

// Text with custom font size
{ text: "Push", bg_color: "#F05032", font_size: 24 }

// Emoji
{ emoji: "🚀", text: "Deploy",
  bg_color: "linear-gradient(#16A34A, #15803D)" }

/task 技能——杀手锏

Claude Code斜线命令,用于聚合当前任务的上下文并设置Stream Deck文件夹。

安装

mkdir -p ~/.claude/commands
cp node_modules/streamdeck-mcp/commands/task.md ~/.claude/commands/

或者,如果从源代码安装:

cp commands/task.md ~/.claude/commands/

用法

# Search Notion → extract PR/Slack/Figma links automatically
/task PROJ-123

# Read Slack thread → extract all URLs (Notion, GitHub, Figma, Sheets)
/task https://slack.com/archives/...

# Create a plain task folder
/task PR review cleanup

# Auto-detect from current Git branch
/task

# Clear slot 3
/task clear 3

该技能最多支持7个任务文件夹(第1行+第2行)和基于行的问题布局,用于包含多个相关问题的文件夹。

需求

  • Node.js 18或更新
  • macOS --ProfilesV3路径,应用图标提取(sips),以及 Elgato Stream Deck.app 控件都是特定于macOS的
  • 埃尔加托溪甲板 安装了桌面应用程序

计划支持Windows和Linux,但尚未实施。

建筑

src/
├── index.ts                  # MCP server entry
├── core/
│   ├── profile-manager.ts    # ProfilesV3 manifest read/write
│   └── icon-renderer.ts      # SVG → PNG pipeline (@resvg/resvg-js)
└── live/                     # Optional background daemon
    ├── standalone.ts
    └── sources/              # Claude Monitor, Git, processes, GitHub PRs

已知限制

  • 文件夹创建 --流甲板文件夹(子配置文件)不能仅从清单文件创建。Elgato应用程序根据其内部状态验证文件夹引用。解决方法:在应用程序UI中创建一次空文件夹,然后使用 /task 来填补它们。
  • 实时仪表板重启闪烁 --应用实时更新需要重新启动Stream Deck应用程序,这会导致短暂的断电。原生Elgato SDK插件(第5阶段)将消除这一点。

许可证

麻省 理工© jxxh204 的