配套MCP服务器
MCP(模型上下文协议)服务器 Bitfocus伴侣,使AI助手能够控制按钮、触发器、变量和连接。
特性
- 连接:列出连接及其动作/反馈定义
- 变量:列出、搜索、获取值、创建和设置自定义变量
- 页面和按钮:创建、配置和按下带有操作和反馈的按钮
- 触发器:创建、克隆、更新和批量更新触发器,完全支持事件、条件、操作和集合
安装
无需安装-直接使用npx运行:
npx companion-mcp-server [companion-url]或全局安装:
npm install -g companion-mcp-server配置
克劳德桌面
添加到您的Claude Desktop配置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"companion": {
"command": "npx",
"args": ["-y", "companion-mcp-server", "http://localhost:8889"]
}
}
}克劳德代码
添加到您的Claude Code MCP设置中(~/.claude/settings.json):
{
"mcpServers": {
"companion": {
"command": "npx",
"args": ["-y", "companion-mcp-server", "http://localhost:8889"]
}
}
}或添加到特定项目 .claude/settings.json 在您的项目根目录中。
光标
添加到Cursor的MCP配置(~/.cursor/mcp.json):
{
"mcpServers": {
"companion": {
"command": "npx",
"args": ["-y", "companion-mcp-server", "http://localhost:8889"]
}
}
}帆板运动
添加到Windsurf的MCP配置(~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"companion": {
"command": "npx",
"args": ["-y", "companion-mcp-server", "http://localhost:8889"]
}
}
}自定义伴侣URL
替换 http://localhost:8889 如果Companion实例在其他主机或端口上运行,请使用您的Companion实例URL:
"args": ["-y", "companion-mcp-server", "http://192.168.1.100:8889"]环境变量
您还可以通过环境变量设置URL:
{
"mcpServers": {
"companion": {
"command": "npx",
"args": ["-y", "companion-mcp-server"],
"env": {
"COMPANION_URL": "http://localhost:8889"
}
}
}
}可用工具
变量
| 工具 | 说明 |
|---|---|
list_variables | 列出按连接分组的所有变量定义 |
search_variables | 按名称/标签模式搜索变量 |
get_variable_value | 获取变量的当前值 |
create_custom_variable | 创建新的自定义变量 |
set_custom_variable | 设置自定义变量的值 |
连接
| 工具 | 说明 |
|---|---|
list_connections | 列出所有已配置的连接及其ID和状态 |
list_connection_definitions | 获取连接的操作/反馈定义 |
页面和按钮
| 工具 | 说明 |
|---|---|
list_pages | 列出所有带有按钮网格的页面 |
create_page | 在某个位置创建新页面 |
remove_page | 删除页面及其所有控件 |
set_page_name | 重命名页面 |
move_page | 将页面移动到其他位置 |
clear_page | 将页面重置为默认值 |
get_button | 获取按钮的完整配置 |
create_button | 在某个位置创建一个新按钮 |
delete_button | 删除按钮 |
update_button | 更新按钮样式、操作和反馈 |
press_button | 模拟按钮按下/释放 |
触发器
| 工具 | 说明 |
|---|---|
list_triggers | 列出所有包含集合信息的触发器 |
list_trigger_collections | 列出所有触发器集合 |
get_trigger | 获取触发器的完整配置 |
create_trigger | 使用可选的内联配置创建触发器 |
clone_trigger | 克隆具有选项覆盖的现有触发器 |
update_trigger | 使用多个操作更新触发器 |
batch_update_triggers | 批量更新多个触发器 |
create_trigger_collection | 创建触发器集合 |
delete_trigger | 删除触发器 |
资源
服务器为快速上下文公开MCP资源:
| 资源 | 描述 |
|---|---|
companion://guide | MCP工具使用指南 |
companion://connections | 配置的连接摘要 |
companion://presets | 按连接可用的按钮预设 |
例子
创建一个切换到相机1的按钮
1. Use list_connections to find your ATEM connection ID
2. Use list_connection_definitions with that ID to find the "program" action
3. Use create_button to create a button at page 1, row 0, column 0
4. Use update_button with set_style (text: "CAM 1") and add_action (the program action with input: 1)克隆多个摄像头的触发器
1. Use get_trigger to inspect an existing camera trigger
2. Use clone_trigger with the source trigger ID, new name, and optionOverrides to change the camera number
3. Repeat for each camera, or use batch_update_triggers for bulk operations搜索计数变量
Use search_variables with query "tally" to find all tally-related variables across connections发展
# Clone the repo
git clone https://github.com/yannisgu/companion-mcp-server.git
cd companion-mcp-server
# Install dependencies
yarn install
# Run in development mode
yarn dev
# Build for production
yarn build:ts需求
- Node.js 18+
- 跑步 Bitfocus伴侣 例子
许可证
麻省理工学院
