Token导航 LogoToken导航

MCP Server · 音视频

Companion MCP

一个为Bitfocus Companion设计的MCP服务器,提供53种工具,用于控制按钮、样式管理、页面发现、运行时摘要、库存差异、检查点回滚/恢复工作流、预设管理、变量管理和批量节目编程,使AI助手能够通过Companion的当前API操作Stream Deck表面和其他Companion连接的设备。

stdio官方级别未说明来源级核验工具 53
PythonAI驱动语音音频

快速开始

作者 / 组织
drohi-r
提供方
drohi-r
运行时
Python

工具数量

53

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

1 个

MCP World

选型结论

Companion MCP 属于音视频类 MCP Server,公开资料标注 53 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

音视频

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uv run python -m companion_mcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 53 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

配套MCP

MCP服务器 Bitfocus伴侣.公开了53个工具,涵盖了经过验证的按钮控制、样式、页面发现、运行时摘要、库存差异、检查点回滚/恢复工作流、预设管理、变量管理和批处理显示编程,因此AI助手可以通过Companion的当前API操作Stream Deck表面和其他Companion连接的设备。

该仓库还包括一个轻量级的本地浏览器UI,供那些希望在不手动发出MCP工具调用的情况下获得相同验证流的人使用。

为什么存在

Companion是将实时生产堆栈连接在一起的物理按钮层。操作员按下Stream Deck按钮,它会发出grandMA2提示,触发Resolume片段,或启动激光序列。但是对这些按钮进行编程是手动的——你一次点击一个按钮,配置操作、标签和颜色。

这个MCP服务器允许AI完成这项工作。它可以读取您当前的按钮布局,在应用更改之前预览更改,并在几秒钟内对整个页面进行批处理。结合MA2 Agent和Resolume MCP,AI助手可以从一次对话中对整个节目控制界面进行编程。

快速开始

git clone https://github.com/drohi-r/companion-mcp && cd companion-mcp
uv sync
uv run python -m companion_mcp

浏览器用户界面

运行本地操作员UI:

uv run companion-mcp-ui

然后打开:

http://127.0.0.1:8088

UI首先是本地的。它与MCP工具位于相同的后端逻辑之上,因此经过验证的写入、快照、预设和回滚在浏览器中的行为与通过MCP的行为相同。

确保Companion正在目标主机和端口上运行。当前Companion版本使用:

  • 用于按钮操作和样式写入的HTTP端点
  • websocket-tRPC位于 /trpc 用于更丰富的读取、发现、预览和变量检查

配置

变量默认值描述
COMPANION_HOST127.0.0.1配套实例IP
COMPANION_PORT8000配套HTTP和websocket端口
COMPANION_TIMEOUT_S10.0HTTP请求超时(秒)
COMPANION_ALLOWED_HOSTS127.0.0.1,localhost,::1目标主机的逗号分隔的列表。集 * 允许任何。
COMPANION_WRITE_ENABLED1设置为 0 用于只读模式
COMPANION_TRANSPORTstdioMCP传输(stdio, sse, streamable-http)
COMPANION_UI_HOST127.0.0.1浏览器UI绑定地址
COMPANION_UI_PORT8088浏览器UI端口

建筑

graph TD
    A["Companion MCP Server
companion_mcp
53 tools · safety gate"] --> B
    B["HTTP Client
Button actions · style writes"] --> D
    A --> C
    C["WebSocket tRPC Client
Discovery · preview · variables"] --> D
    D["Bitfocus Companion
HTTP + WebSocket at /trpc"]

    E["Browser UI
companion-mcp-ui
Local operator console"] -.-> A
    F["Snapshot Engine
Inventory · presets · rollback"] -.-> A
    G["Verification Layer
Render polling · diff · transactions"] -.-> A

    style A fill:#1a1a2e,stroke:#14B8A6,color:#fff
    style B fill:#1a1a2e,stroke:#14B8A6,color:#fff
    style C fill:#1a1a2e,stroke:#14B8A6,color:#fff
    style D fill:#1a1a2e,stroke:#0f3460,color:#fff
    style E fill:#0f3460,stroke:#0f3460,color:#fff
    style F fill:#0f3460,stroke:#0f3460,color:#fff
    style G fill:#0f3460,stroke:#0f3460,color:#fff

工具

发现和阅读

用于了解Companion当前状态的安全只读工具。

工具它做什么
get_server_config返回当前MCP服务器配置和安全设置
health_checkProbe Companion API可达性和返回状态
list_surfaces列出连接的控制面(流甲板等)
get_button_info读取特定按钮的当前控件和预览状态
get_button_runtime_summary返回按钮的紧凑的面向操作员的运行时摘要
get_page_grid从页面读取矩形按钮网格
snapshot_page_inventory导出具有简洁按钮摘要、样式、反馈和预览哈希的页面区域
save_page_inventory_snapshot将命名页面清单检查点保存到磁盘
load_page_inventory_snapshot从磁盘加载已保存的页面清单检查点
list_page_inventory_snapshots列出已保存的页面库存检查点文件
delete_page_inventory_snapshot删除已保存的页面清单检查点文件
diff_page_inventory比较两页库存快照并总结更改的按钮
preview_restore_page_style_from_inventory将保存的库存快照转换为还原计划,而无需写入Companion
preview_restore_page_style_from_snapshot从已命名的已保存快照预览还原计划
save_page_style_preset将当前页面样式条目另存为可重复使用的预设
load_page_style_preset加载已保存的页面样式预设
list_page_style_presets列出已保存的页面样式预设
delete_page_style_preset删除已保存的页面样式预设
preview_apply_page_style_preset预览应用带有可选偏移量的已保存页面样式预设
find_buttons按可见文本、控件id、控件类型、连接id或定义id搜索页面区域
export_page_layout将页面区域导出为可重用的布局有效负载
get_custom_variable读取Companion自定义变量
get_module_variable从Companion模块连接读取变量
snapshot_custom_variables在一次调用中读取自定义变量的命名列表
verify_button_render_change将当前按钮预览哈希与上一个进行比较

预览(写作前计划)

无需触摸Companion即可验证和预览操作。使用这些来检查批处理操作在提交之前会做什么。

工具它做什么
preview_page_style验证并预览页面样式批处理
preview_label_button_grid将标签网格解析为坐标
preview_button_template将可重复使用的模板放置在原点并预览结果

按钮操作

要求 COMPANION_WRITE_ENABLED=1 (默认)。

工具它做什么
press_button按下并松开按钮
press_button_verified按下按钮并轮询可见/运行时状态更改
hold_button按住(仅向下操作)
release_button松开按住的按钮(向上动作)
rotate_left向左旋转编码器
rotate_right将编码器向右旋转
set_step设置当前操作步骤

按钮样式

工具它做什么
set_button_text更改按钮显示文本
set_button_color更改文本和/或背景颜色(6位十六进制)
set_button_style一次设置多个样式属性
set_button_style_verified应用样式更改并轮询,直到渲染完成或超时到期

批量操作

工具它做什么
press_button_sequence按顺序按下多个按钮,延迟可配置
set_page_style在页面上的多个按钮上批量设置样式
set_page_style_verified在页面上批量设置样式,按按钮返回验证以及库存差异
restore_page_style_from_inventory从以前捕获的页面清单中恢复按钮样式
restore_selected_page_style_from_inventory仅从库存快照中还原选定的坐标
restore_page_style_from_snapshot从已命名的已保存快照还原样式
apply_page_style_transaction保存回滚检查点,应用已验证的样式,并返回回滚元数据
rollback_page_style_transaction回滚命名事务快照
apply_page_style_preset应用带有可选偏移量的已保存页面样式预设
label_button_grid从简单的名称列表中标记按钮网格
apply_button_template在页面原点应用可重用的按钮模板

变量和系统

工具它做什么
set_custom_variable编写Companion自定义变量
rescan_surfaces重新扫描连接的USB表面
press_bank_button传统银行API(已弃用,仍然有效)

克劳德桌面版

{
  "mcpServers": {
    "companion": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/companion-mcp", "python", "-m", "companion_mcp"],
      "env": {
        "COMPANION_HOST": "127.0.0.1",
        "COMPANION_PORT": "8000"
      }
    }
  }
}

VS代码/光标

{
  "servers": {
    "companion": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/companion-mcp", "python", "-m", "companion_mcp"],
      "env": {
        "COMPANION_HOST": "127.0.0.1",
        "COMPANION_PORT": "8000"
      }
    }
  }
}

法典

创建一个 codex.json MCP配置文件:

{
  "mcpServers": {
    "companion": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/companion-mcp", "python", "-m", "companion_mcp"],
      "env": {
        "COMPANION_HOST": "127.0.0.1",
        "COMPANION_PORT": "8000"
      }
    }
  }
}

然后使用以下命令运行Codex:

codex --mcp-config codex.json

安全生产

此服务器专为现场表演环境而设计,意外写入可能会中断正在运行的生产。

  • 主机分配 --只有 127.0.0.1, localhost,以及 ::1 默认情况下是允许的。通过以下方式显式添加LAN主机 COMPANION_ALLOWED_HOSTS.
  • 写控制 --set COMPANION_WRITE_ENABLED=0 以阻止所有写入操作。读取和预览工具仍然可用。
  • 应用前预览 --每个批处理操作都有一个相应的预览工具,可以验证输入并准确显示将要更改的内容,而无需触摸Companion。
  • 已验证写入 --更喜欢 press_button_verified 和 set_button_style_verified 当你关心实际的可见或运行时状态变化时,而不仅仅是HTTP接受度。
  • 快照和差异工作流 --使用 snapshot_page_inventory 批量更改前后,或让 set_page_style_verified 自动生成库存差异。
  • 回滚路径 --使用以下命令捕获页面 snapshot_page_inventory 或 save_page_inventory_snapshot,检查恢复计划 preview_restore_page_style_from_inventory 或 preview_restore_page_style_from_snapshot,然后使用匹配还原工具将样式干净地回滚。
  • 交易流程 — apply_page_style_transaction 在写入之前创建一个命名的回滚检查点。 rollback_page_style_transaction 从该命名快照恢复。
  • 预设工作流程 --使用保存可重用的页面样式 save_page_style_preset,检查 preview_apply_page_style_preset,并使用进行部署 apply_page_style_preset.
  • 输入验证 -页面、行、列、颜色十六进制、延迟边界和模板结构都在进行任何API调用之前进行验证。无效输入返回结构化JSON错误,从不返回原始异常。
  • 错误隔离 --所有工具都包裹在 _handle_errors。返回网络故障、JSON解析错误和验证失败 {"ok": false, "error": "...", "blocked": true} 而不是使MCP会话崩溃。

现场行为记录

  • 成功的HTTP写入并不总是意味着按钮会立即发生明显的变化。
  • 当前的Companion版本可以先更新存储的样式状态,然后在短时间内重新绘制预览。
  • set_button_style_verified 和 press_button_verified 包括有界轮询,以便MCP可以区分:

- 已接受写入,但未观察到任何变化 - 写入已接受,预览在短暂延迟后更改 - 写入已接受,样式状态已更改,但可见渲染仍未更改

为什么UI有帮助

MCP后端已经是真正的产品了。UI不会取代它;它使人类更快、更安全:

  • 点击页面网格中的按钮,而不是记住 page,row,column
  • 在一个地方检查预览、样式、运行时摘要和上次验证的响应
  • 保存和浏览快照和预设,而无需打开JSON文件
  • 在节目准备期间从浏览器运行经过验证的样式更改和事务回滚
  • 将系统交给不会手动键入MCP呼叫的操作员

发展

uv sync
uv run python -m pytest -v

许可证

Apache 2.0

工具与能力

工具数量

53

资源数量

0

提示词数量

0

能力标签

MCP服务器Python本地部署按钮控制样式管理AI驱动直播制作

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

语音转文字

把会议录音转成文字,再整理要点。

文字转语音

把文案转成配音,调整语速和音色。

视频素材处理

提取字幕、剪出片段、生成封面。

选择建议

值得选的地方

  • 工具数量 53 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在音视频场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Companion MCP

MCP World · 本页

53stdio有1 个2026-05-17
Youtube E0eb3510

MCP World

0stdio有1 个2026-05-17
Ableton MCP B7b69a6a

MCP World

16stdio有2 个2026-05-17
Voicemode MCP

MCP World

0stdio有3 个2026-05-17
Short Video Maker MCP

MCP World

0stdio有3 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Companion MCP 怎么安装?

公开资料给出的安装命令是 uv run python -m companion_mcp,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Companion MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Companion MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Companion MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Companion MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP