项目简介

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 的各项功能,包括:
    • 通用操作: 获取版本信息、统计数据、触发热键等。
    • 场景管理: 列出、切换、创建、删除场景。
    • 来源控制: 管理来源,包括获取截图、管理滤镜等。
    • 场景项操作: 控制场景中元素的位置、可见性等。
    • 推流和录制: 启动、停止推流和录制,控制回放缓冲区。
    • 转场特效: 设置和触发转场效果。

安装步骤

  1. 安装 Python 包: 确保你的系统已安装 Python 3.10 或更高版本。打开终端,运行以下命令安装 'obs-mcp' 包:
    pip install obs-mcp
  2. 配置 OBS WebSocket 服务:
    • 启动 OBS Studio。
    • 点击菜单栏的 "工具(Tools)" -> "WebSocket 服务设置(WebSocket Server Settings)"。
    • 确保 "启用 WebSocket 服务(Enable WebSocket server)" 选项被勾选。
    • 设置一个 WebSocket 服务密码,并记下此密码。
  3. 设置环境变量: 在运行 OBS MCP 服务器之前,需要设置 'OBS_WS_PASSWORD' 环境变量,将其值设置为你在 OBS WebSocket 服务设置中配置的密码。例如,在终端中执行:
    export OBS_WS_PASSWORD="your_websocket_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' 包已成功安装。

基本使用方法

  1. 启动 OBS Studio 并确保 WebSocket 服务已启用且密码已配置。
  2. 设置 'OBS_WS_PASSWORD' 环境变量 并设置为你在 OBS 中设置的 WebSocket 密码。
  3. 启动 OBS MCP 服务器: 在终端中运行以下命令启动服务器:
    python -m obs_mcp
    或直接运行 'main.py' 文件(如果你直接下载了仓库代码):
    python main.py
  4. 配置并连接 MCP 客户端: 在你的 MCP 客户端中,根据 "服务器配置" 章节的示例,配置服务器连接信息。客户端启动后,应能自动连接到 OBS MCP 服务器。
  5. 使用 MCP 客户端调用工具: 通过 MCP 客户端,你可以调用服务器提供的各种工具 (Tools) 来控制 OBS Studio。例如,调用 'get_scene_list' 工具可以获取当前 OBS Studio 中的场景列表。具体的工具列表和使用方法,请参考仓库中 'obs_mcp' 目录下各个模块(如 'general.py', 'scenes.py' 等)的代码和文档注释。

信息

分类

桌面与硬件