OBS控制协议服务器

一个通过obs-websocket插件控制OBS Studio的MCP服务器,支持场景切换、录制、直播、音频管理等操作。

  • by LarsCanGit
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 LarsCanGit/OBS-MCP

使用说明

obs-mcp服务器

用于控制的MCP(模型上下文协议)服务器 OBS工作室 通过内置的obs websocket插件。让Claude控制您的场景、录制、流媒体、音频等。

需求

  • OBS工作室 28或更高版本(内置obs websocket)
  • Node.js 18或更高版本

OBS设置

  1. 开放式OBS工作室
  2. 首选 工具→ WebSocket服务器设置
  3. 检查 启用WebSocket服务器
  4. 设置密码(推荐)
  5. 注意端口(默认值: 4455)

安装

npm install

创建一个 .env 项目根目录中的文件:

OBS_WS_URL=ws://localhost:4455
OBS_WS_PASSWORD=your_password_here

Claude桌面配置

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "obs": {
      "command": "node",
      "args": ["C:\\path\\to\\obs-mcp-server\\obs-mcp-server.js"]
    }
  }
}

或使用 npx (无需克隆):

{
  "mcpServers": {
    "obs": {
      "command": "npx",
      "args": ["-y", "obs-mcp-server"],
      "env": {
        "OBS_WS_PASSWORD": "your_password_here"
      }
    }
  }
}

可用工具

状态和场景

工具 说明
get_status 当前场景、流媒体状态、录制状态+时间码
list_scenes 列出活动收藏中的所有场景
set_scene 切换到命名场景

录制和流媒体

工具 说明
start_recording 开始录制
stop_recording 停止录制(返回输出文件路径)
toggle_recording 打开/关闭录制
start_streaming 开始流媒体播放
stop_streaming 停止流媒体播放

来源

工具 说明
list_sources 列出场景中的所有源
set_source_visibility 显示或隐藏源

音频

工具 说明
list_audio_inputs 列出所有处于静音/音量状态的音频输入
set_mute 将音频输入静音或取消静音
toggle_mute 在音频输入上切换静音
set_volume 设置音频输入的音量(0.0–1.0)

画布

工具 说明
set_canvas_resolution 设置基础/输出分辨率和FPS(每次采集的全局)

场景管理

工具 说明
create_scene 创建新的空场景
remove_scene 删除场景
rename_scene 重命名场景

场景集合

工具 说明
list_scene_collections 列出所有收藏,显示活动
set_scene_collection 切换到其他收藏
create_scene_collection 创建新的场景集合

档案

工具 说明
list_profiles 列出所有配置文件,显示活动状态
set_profile 切换到其他配置文件
create_profile 创建新配置文件
remove_profile 删除个人资料

杂项

工具 说明
save_screenshot 将当前输出的屏幕截图保存到磁盘

备注

  • 画布分辨率 是一个全局OBS设置——它适用于当前集合中的所有场景。为不同的宽高比使用单独的场景集合(例如YouTube短片的16:9和9:16)。
  • 音频输入类型 默认为Windows(wasapi_*).在macOS上,更新 list_audio_inputs 要使用的处理程序 coreaudio_input_capture / coreaudio_output_capture.

许可证

麻省理工学院