Token导航 LogoToken导航TokenDH.com
ATEM MCP Server logo
音视频未说明官方级别未说明来源级核验

ATEM MCP Server

MCP Server

通过自然语言控制Blackmagic ATEM视频切换器的AI服务,支持本地和远程操作,适用于直播和视频制作场景。

工具数

58

提示词数

0

GitHub Stars

4

资源数

0
TypeScriptClaude远程控制Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

guycochran

提供方

guycochran

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

ATEM MCP服务器

使用模型上下文协议通过AI助手控制Blackmagic ATEM视频切换器。使用 克劳德桌面, claude.ai, 克劳德·莫比尔, 光标,以及任何兼容MCP的客户端。

用简单的英语与您的切换器交谈: *“将相机2置于程序中并溶解”* 或 *“开始流式传输和录制”* 或 *“运行宏3。”*

支持两者 本地 (stdio)和 远程 (OAuth 2.0的流式HTTP)传输。

运作原理

You (natural language)
  │
  ▼
Claude (Anthropic Cloud)
  │ translates to MCP tool calls
  ▼
ATEM MCP Server (your Mac/PC)
  │ uses atem-connection library
  ▼
ATEM Switcher (network)
  │ executes commands
  ▼
ATEM Software Control / hardware
  │ reflects changes in real time

支持的ATEM型号

底层 atem-connection 库(由NRK/Sofie提供)支持每一代ATEM:

  • ATEM迷你、迷你专业、迷你专业ISO、迷你极端、迷你极端ISO
  • ATEM电视演播室HD、HD8、HD8 ISO
  • ATEM 1 M/E、2 M/E、4 M/E制作工作室/星座
  • ATEM SDI、SDI Pro ISO、SDI Extreme ISO
  • 以及所有其他Blackmagic ATEM型号

快速开始

1.安装

cd atem-mcp-server
npm install
npm run build

2.配置克劳德桌面

编辑您的Claude Desktop配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "atem": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/path/to/atem-mcp-server/dist/index.js"],
      "env": {
        "ATEM_HOST": "192.168.1.100"
      }
    }
  }
}
注: 替换 /opt/homebrew/bin/node 使用完整的Node.js路径(运行 which node 找到它)。用ATEM的地址替换IP。

3.重新启动克劳德桌面

退出并重新启动Claude Desktop。你应该看看锤子(🔨) 指示MCP工具可用的图标。

4.开始与你的切换器交谈

  • *“通过192.168.1.100连接到我的ATEM”*
  • *“显示当前切换器状态”*
  • *“将相机3置于预览状态并将其溶解”*
  • *“褪色成黑色”*

环境变量

变量描述默认值
ATEM_HOSTATEM IP地址(启用自动连接)--
ATEM_PORTATEM端口9910
TRANSPORT运输方式: stdiohttpstdio
PORTHTTP服务器端口(当 TRANSPORT=http)3000
BASE_URLOAuth端点的公共URL(在隧道/代理后面时)http://localhost:PORT

如果 ATEM_HOST 设置后,服务器将在启动时自动连接。否则,请使用 atem_connect 手动连接。

远程访问(claude.ai、claude Mobile、HTTP)

HTTP传输将MCP服务器暴露为内置OAuth 2.0的web端点。这允许从以下位置进行远程访问 claude.ai, 克劳德·莫比尔,以及任何支持HTTP的MCP客户端。

快速启动(HTTP模式)

TRANSPORT=http BASE_URL=https://atem.yourdomain.com ATEM_HOST=192.168.1.100 node dist/index.js

服务器在端口3000上启动时具有:

  • MCP端点: POST /mcp (需要不记名代币)
  • OAuth 2.0: 全自动配置流程(发现、注册、授权、令牌交换)
  • 健康检查: GET /health

从claude.ai连接

  1. 首选 claude.ai/设置/连接器
  2. 点击 添加自定义连接器
  3. 输入您的MCP URL(例如。, https://atem.yourdomain.com/mcp)
  4. 点击 连接 --OAuth流自动完成
  5. 开始对话并远程控制您的ATEM

从克劳德桌面(远程)连接

{
  "mcpServers": {
    "atem": {
      "url": "https://atem.yourdomain.com/mcp"
    }
  }
}

commandargs 需要--服务器远程运行。

OAuth 2.0实现

HTTP服务器为MCP身份验证实现了完整的OAuth 2.0流程:

终点目的
GET /.well-known/oauth-protected-resourceRFC 9728资源元数据
GET /.well-known/oauth-authorization-server授权服务器元数据
POST /register动态客户端注册(DCR)
GET /authorize授权端点(自动批准)
POST /token代币交换(发行不记名代币)

OAuth服务器自动提供令牌,无需用户交互,专为个人/可信使用而设计。对于生产环境,考虑添加适当的身份验证。

通过Cloudflare隧道进行公开

使用命名的Cloudflare隧道作为永久URL——没有端口转发,没有动态DNS,没有更改URL。

先决条件

  • 自由的 云耀 账户
  • 由Cloudflare DNS管理的域
  • cloudflared 已安装CLI(brew install cloudflared 在macOS上)

设置

1.验证并创建隧道

cloudflared login
cloudflared tunnel create atem-mcp

注意隧道ID(UUID)。

2.路由DNS

cloudflared tunnel route dns atem-mcp atem.yourdomain.com

3.创建配置文件 (~/.cloudflared/config.yml)

tunnel: 
credentials-file: ~/.cloudflared/.json

ingress:
  - hostname: atem.yourdomain.com
    service: http://localhost:3000
  - service: http_status:404

4.启动服务器和隧道

# Terminal 1: MCP server
TRANSPORT=http BASE_URL=https://atem.yourdomain.com ATEM_HOST=192.168.1.100 node dist/index.js

# Terminal 2: Cloudflare tunnel
cloudflared tunnel run atem-mcp

您的MCP端点现在位于 https://atem.yourdomain.com/mcp.

关键:禁用Cloudflare AI Bot阻止

如果您使用Cloudflare并从claude.ai连接,则必须禁用ai bot阻止,否则claude.ai的请求将被403静默阻止。

Claude.ai的后端使用 Claude-User 来自Google Cloud Platform IP的用户代理。Cloudflare的“阻止AI训练机器人”管理规则在这些请求到达您的服务器之前阻止它们。

要修复:

  1. 首选 Cloudflare仪表板 >选择您的域名
  2. 概述 页面,查找 “阻止人工智能训练机器人” 在右侧边栏上
  3. 使从…变成 “阻止所有页面”“不要阻塞(允许爬虫)”

您可以在中验证 安全>分析>事件 --被阻止的请求显示为 Service: Managed rules, Rule: Manage AI bots, User agent: Claude-User.

作为后台服务运行(macOS)

sudo cloudflared service install

这将创建一个启动守护进程,在启动时启动隧道。

有用的命令

cloudflared tunnel list              # List all tunnels
cloudflared tunnel info atem-mcp     # Show tunnel details
cloudflared tunnel cleanup atem-mcp  # Remove stale connections
cloudflared tunnel delete atem-mcp   # Delete the tunnel entirely

可用工具(58个工具)

连接

工具说明
atem_connect通过IP连接到ATEM切换器
atem_disconnect断开ATEM
atem_get_status获取模型、输入、程序/预览状态

切换

工具说明
atem_set_program设置程序(实时)输入
atem_set_preview设置预览(下一个)输入
atem_cut硬切过渡
atem_auto_transition自动转换(溶解/擦除等)
atem_fade_to_black将淡入淡出切换为黑色
atem_preview_and_auto在一次通话中设置预览+自动过渡

过渡

工具说明
atem_set_transition_style设置混合、浸渍、擦拭、DVE或刺
atem_set_transition_rate以帧为单位设置过渡持续时间
atem_set_transition_position手动T形杆位置(0.0–1.0)
atem_get_transition_state获取当前过渡设置

路线和钥匙

工具说明
atem_set_aux_source将输入路由到辅助输出
atem_get_aux_source获取当前辅助路由
atem_set_dsk_on_air下游开/关空气调节器
atem_auto_dskDSK的自动转换
atem_set_dsk_sources设置DSK填充和关键源
atem_set_usk_on_air上游键盘开/关空气
atem_set_usk_sources设置USK填充和切割源

工具说明
atem_macro_run按索引运行宏
atem_macro_stop停止运行宏
atem_macro_continue继续暂停的宏
atem_list_macros列出所有已定义的宏

录制和流媒体

工具说明
atem_start_recording开始录制
atem_stop_recording停止录制
atem_start_streaming开始流媒体播放
atem_stop_streaming停止流媒体播放
atem_get_recording_status获取录制/流媒体状态

超级来源

工具说明
atem_get_supersource_state获取所有框的位置、来源、艺术和边框设置
atem_set_supersource_box配置单个框(来源、位置、大小、裁剪)
atem_set_supersource_layout使用预设设置布局(并排、2x2网格、PiP等)
atem_set_supersource_art配置艺术填充/剪切源、前景/背景
atem_set_supersource_border配置边框宽度、颜色、斜面、光源
atem_go_gallery2x2画廊网格:主人+3位客人,通过音频级别优先考虑活动扬声器
atem_cut_to_active_speaker将全屏切换到当前正在讲话的人(通过音频级别检测)
atem_auto_switch_on开始自动切换:程序模式(全屏)、ssrc_box模式(超级源框)或host_ssrc模式(主机全屏+访客并排)
atem_auto_switch_off停止自动切换模式
atem_get_auto_switch_status检查自动开关是否正在运行,请参阅统计数据
atem_save_look将当前超级源布局另存为命名的“外观”(框、艺术、边框)
atem_load_look加载保存的外观并应用它——可以选择覆盖不同访客的来源
atem_list_looks列出所有保存的外观及其描述和框数
atem_delete_look删除已保存的外观

混音器(Fairlight+经典)

音频工具自动检测混音器类型。 费尔莱特 用于ATEM Mini Extreme、Constellation和较新型号。 经典 用于ATEM Mini、Mini Pro和旧型号。

工具说明
atem_set_audio_mixer_input设置输入增益、推子、平衡、混合模式(Fairlight或Classic)
atem_set_audio_master_output设置主输出增益/衰减器
atem_get_audio_state获取完整的音频混音器状态(报告混音器类型)

Fairlight EQ&Dynamics

适用于配备Fairlight音频的ATEM型号(Mini Extreme、Constellation及更新型号)的全参数均衡器、压缩器、限制器和门/扩展器控制。包括常见用例的EQ预设。

工具说明
atem_set_fairlight_eq在输入端设置单个EQ频带(形状、频率、增益、Q)
atem_set_fairlight_eq_preset应用EQ预设:人声、播客、音乐、de_mud或平面
atem_set_fairlight_compressor设置压缩机(阈值、比率、启动、保持、释放)
atem_set_fairlight_limiter设置限制器(阈值、攻击、保持、释放)
atem_set_fairlight_gate设置噪声门/扩展器(阈值、范围、比率、攻击、释放)
atem_get_fairlight_eq_state获取输入的完整EQ+动态状态
atem_set_fairlight_master_eq在主输出上设置EQ波段
atem_set_fairlight_master_compressor将压缩机设置为主输出
atem_set_fairlight_master_limiter在主输出上设置限制器
atem_set_fairlight_makeup_gain在输入端设置化妆增益
atem_reset_fairlight_dynamics将压缩机/限制器/闸门重置为出厂默认值
atem_reset_fairlight_eq将EQ重置为出厂默认值

通用输入ID

ID来源
1–20物理SDI/HDMI输入
1000颜色条
2001颜色生成器1
2002颜色生成器2
3010媒体播放器1
3011媒体播放器1键
3020媒体播放器2
3021媒体播放器2键
6000超级来源
10010黑色
10011清洁饲料1(程序)
10012清洁饲料2

对话示例

基本切换:

“将摄像头1设置为程序”\ “将预览设置为相机3,并进行2秒的溶解”\ “剪切成彩色条”

显示设置:

“设置过渡样式以与45帧率混合”\ “将摄像头1连接到辅助1,用于置信度监视器”\ “播放DSK1的下三分之一图形”

流媒体/录制:

“开始流式传输和录制”\ “录制状态如何?”\ “停止流媒体播放,但继续录制”

音频(Fairlight&Classic):

“将摄像头2音频降低5 dB” “将摄像头1音频设置为音频跟随视频模式” “将输入端3的音频静音” “将主输出设置为-3dB” “显示混音器状态”

Fairlight EQ&Dynamics:

“将人声均衡器预设应用于麦克风1” “以3kHz的频率增强摄像头2音频的存在感” “添加一个压缩器到麦克风1--4:1的比率,阈值为-20dB” “屏蔽麦克风2,使其在-40dB以下关闭” “在-3dB的主机上安装一个限制器” “显示输入1的EQ和动态状态” “将摄像头1上的所有均衡器重置为平坦”

图库和活动扬声器:

“前往画廊” “与2、3和5号摄像机上的客人一起去画廊” “切换到活动扬声器” “自动开关” *(开始连续跟随当前扬声器)* “自动切换主机+有源扬声器” *(主持人讲话时全屏,客人讲话时并排)* “自动关闭” “与摄像头1和2并排设置” “用3切到主机”

保存和召回外观:

“将此外观另存为播客4” “加载播客4” “加载带有摄像头2、3、6、7的播客4” *(重用不同来源的布局几何图形)* “我保存了什么外观?” “删除旧的_test外观”

建筑

此服务器使用 atem连接 该库(由NRK/Sofie TV Automation提供)通过UDP实现Blackmagic专有的ATEM协议。它与ATEM软件控制使用的协议相同,因此所有更改都会在所有连接的客户端上实时反映出来。

MCP服务器包装 atem-connection 方法作为Claude(或任何兼容MCP的AI)可以调用的MCP工具。每个工具映射到一个或多个ATEM命令。

运输方式:

  • 标准 (默认)--适用于Claude Desktop、Cursor和本地MCP客户端
  • 超文本传输协议 (TRANSPORT=http)--使用OAuth 2.0的流式HTTP,用于claude.ai、claude Mobile和远程访问。使用快捷+原始 http.createServer 以便使用MCP SDK进行正确的标头处理。

直播节目使用情况

在现场生产期间使用此服务器控制ATEM时,您需要立即执行每个命令——没有确认对话框,没有批准提示,没有延迟。体验因客户而异:

客户行为

客户工具批准最适合
claude.ai无需批准——工具立即运行直播节目,远程控制
克劳德·莫比尔无需批准——工具立即运行移动控制
克劳德桌面无需批准——工具立即运行本地生产控制
克劳德代码(CLI)每次工具调用都需要批准仅限开发和测试
光标根据设置,可能需要批准开发和测试

对于现场制作,请使用claude.ai、claude Mobile或claude Desktop。 这些客户端执行MCP工具调用时不会中断——你说 *“切换到相机2”* 并且它立即发生。

Claude Code(终端CLI)专为软件开发而设计,并具有在运行工具之前提示批准的安全系统。这非常适合编码,但不适合每秒都很重要的实时切换。

展前检查表

在上线之前,先浏览一下这份清单,以便及早发现问题:

  1. 验证连接 — *“显示切换器状态”*
  2. 测试切换 — *将相机1置于预览模式,然后切换到该模式*
  3. 测试转换 — *“将过渡设置为在30帧时混合,并溶解到相机2”*
  4. 测试音频 — *“显示混音器状态”*
  5. 测试记录/流媒体 — *“开始录制”* → 验证→ *“停止录制”*
  6. 测试超级源 (如果使用)-- *“与摄像头1和2并排设置”*
  7. 设置您的节目默认设置 --过渡风格、速率、音频级别、EQ预设

现场制作技巧

  • ATEM_HOST 在您的环境中,服务器在启动时会自动连接,无需每次手动连接
  • 使用特定语言 — *“切换到相机3”* 比 *“你能换到第三台相机吗?”*
  • 组合命令 — *“将相机2置于预览状态并将其溶解”* 作为单个执行 preview_and_auto 呼叫
  • 保留后备方案 --在网络出现问题时,始终提供ATEM软件控制或硬件面板

故障排除

锤子图标未显示在Claude Desktop中:

  • 确保您使用的是完整路径 node (奔跑 which node)
  • 检查日志: ~/Library/Logs/Claude/mcp*.log
  • 完全重新启动Claude Desktop(退出,而不仅仅是关闭窗口)

无法连接到ATEM:

  • 验证ATEM是否在同一网络上
  • 尝试从终端ping ATEM IP
  • 默认ATEM端口为9910(UDP)
  • 确保ATEM软件控制没有阻塞连接

claude.ai连接器显示身份验证错误:

  • 检查Cloudflare“阻止AI训练机器人”是否设置为“不阻止”(请参阅 Cloudflare部分)
  • 检查 安全>分析>事件 在Cloudflare仪表板中显示被阻止的请求
  • 验证 BASE_URL 与您的公共隧道URL完全匹配
  • 测试用 curl -X POST https://your-url/mcp --应该返回401 JSON(而不是403 HTML)

HTTP服务器返回406 Not Acceptable:

  • MCP SDK需要 Accept: application/json, text/event-stream 但有些客户发送 Accept: */*
  • 服务器包含一个内置的解决方法,可以在原始HTTP级别修补Accept标头

命令不起作用:

  • 某些功能需要特定的ATEM型号(例如,在Mini Pro+上进行流式传输/录制)
  • 检查 atem_get_status 验证连接

学分

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude远程控制视频切换器控制本地部署AI语音控制直播制作视频制作工具

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

58

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauthlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP