OBS Studio MCP服务器
项目简介
OBS MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在通过 MCP 协议为 LLM 客户端提供控制 OBS Studio 的能力。它将 OBS Studio 的多种操作封装成易于调用的工具 (Tools),使得 LLM 应用可以通过标准化的 MCP 接口,安全、可扩展地控制 OBS Studio,实现例如自动化直播导播、虚拟内容制作等高级应用。
主要功能点
- 连接 OBS Studio: 通过 WebSocket 协议连接到正在运行的 OBS Studio 实例。
- 工具化控制: 提供一系列预定义的工具 (Tools),用于控制 OBS Studio 的各项功能,包括:
- 通用操作: 获取版本信息、统计数据、触发热键等。
- 场景管理: 列出、切换、创建、删除场景。
- 来源控制: 管理来源,包括获取截图、管理滤镜等。
- 场景项操作: 控制场景中元素的位置、可见性等。
- 推流和录制: 启动、停止推流和录制,控制回放缓冲区。
- 转场特效: 设置和触发转场效果。
安装步骤
- 安装 Python 包: 确保你的系统已安装 Python 3.10 或更高版本。打开终端,运行以下命令安装 'obs-mcp' 包:
pip install obs-mcp - 配置 OBS WebSocket 服务:
- 启动 OBS Studio。
- 点击菜单栏的 "工具(Tools)" -> "WebSocket 服务设置(WebSocket Server Settings)"。
- 确保 "启用 WebSocket 服务(Enable WebSocket server)" 选项被勾选。
- 设置一个 WebSocket 服务密码,并记下此密码。
- 设置环境变量: 在运行 OBS MCP 服务器之前,需要设置 'OBS_WS_PASSWORD' 环境变量,将其值设置为你在 OBS WebSocket 服务设置中配置的密码。例如,在终端中执行:
将 '"your_websocket_password"' 替换为你实际设置的密码。export OBS_WS_PASSWORD="your_websocket_password"
服务器配置
MCP 客户端需要配置以下信息才能连接到 OBS MCP 服务器。这是一个 JSON 格式的配置示例,你需要将其提供给你的 MCP 客户端:
{ "serverName": "obs-mcp-server", // 服务器名称,可以自定义 "command": "python", // 启动服务器的命令 "args": ["-m", "obs_mcp"] // 启动服务器命令的参数,这里表示运行 obs_mcp 模块 }
配置参数注释:
- 'serverName': MCP 服务器的名称,客户端用以标识连接,可以自定义设置,例如 "obs-mcp-server"。
- 'command': 运行服务器程序的可执行命令,这里使用 'python',假设 python 命令在系统环境变量 PATH 中。
- 'args': 传递给 'command' 的参数列表。 '["-m", "obs_mcp"]' 表示以模块方式运行 'obs_mcp',这是启动服务器的主要方式。
注意: MCP 客户端需要能够执行 'python -m obs_mcp' 命令来启动服务器进程。请确保 Python 环境配置正确,并且 'obs-mcp' 包已成功安装。
基本使用方法
- 启动 OBS Studio 并确保 WebSocket 服务已启用且密码已配置。
- 设置 'OBS_WS_PASSWORD' 环境变量 并设置为你在 OBS 中设置的 WebSocket 密码。
- 启动 OBS MCP 服务器: 在终端中运行以下命令启动服务器:
或直接运行 'main.py' 文件(如果你直接下载了仓库代码):python -m obs_mcppython main.py - 配置并连接 MCP 客户端: 在你的 MCP 客户端中,根据 "服务器配置" 章节的示例,配置服务器连接信息。客户端启动后,应能自动连接到 OBS MCP 服务器。
- 使用 MCP 客户端调用工具: 通过 MCP 客户端,你可以调用服务器提供的各种工具 (Tools) 来控制 OBS Studio。例如,调用 'get_scene_list' 工具可以获取当前 OBS Studio 中的场景列表。具体的工具列表和使用方法,请参考仓库中 'obs_mcp' 目录下各个模块(如 'general.py', 'scenes.py' 等)的代码和文档注释。