MCP Hub
Back to servers

obs-mcp-server

An MCP (Model Context Protocol) server for controlling OBS Studio via the built-in obs-websocket plugin. Lets Claude control your scenes, recording, streaming, audio, and more.

glama
Updated
Mar 25, 2026

obs-mcp-server

An MCP (Model Context Protocol) server for controlling OBS Studio via the built-in obs-websocket plugin. Lets Claude control your scenes, recording, streaming, audio, and more.

Requirements

  • OBS Studio 28 or later (obs-websocket is built in)
  • Node.js 18 or later

OBS Setup

  1. Open OBS Studio
  2. Go to Tools → WebSocket Server Settings
  3. Check Enable WebSocket server
  4. Set a password (recommended)
  5. Note the port (default: 4455)

Installation

npm install

Create a .env file in the project root:

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

Claude Desktop Config

Add the following to your claude_desktop_config.json:

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

Or use npx (no cloning required):

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

Available Tools

Status & Scenes

ToolDescription
get_statusCurrent scene, streaming state, recording state + timecodes
list_scenesList all scenes in the active collection
set_sceneSwitch to a named scene

Recording & Streaming

ToolDescription
start_recordingStart recording
stop_recordingStop recording (returns output file path)
toggle_recordingToggle recording on/off
start_streamingStart streaming
stop_streamingStop streaming

Sources

ToolDescription
list_sourcesList all sources in a scene
set_source_visibilityShow or hide a source

Audio

ToolDescription
list_audio_inputsList all audio inputs with mute/volume state
set_muteMute or unmute an audio input
toggle_muteToggle mute on an audio input
set_volumeSet volume (0.0–1.0) on an audio input

Canvas

ToolDescription
set_canvas_resolutionSet base/output resolution and FPS (global per collection)

Scene Management

ToolDescription
create_sceneCreate a new empty scene
remove_sceneDelete a scene
rename_sceneRename a scene

Scene Collections

ToolDescription
list_scene_collectionsList all collections, show active
set_scene_collectionSwitch to a different collection
create_scene_collectionCreate a new scene collection

Profiles

ToolDescription
list_profilesList all profiles, show active
set_profileSwitch to a different profile
create_profileCreate a new profile
remove_profileDelete a profile

Misc

ToolDescription
save_screenshotSave a screenshot of the current output to disk

Notes

  • Canvas resolution is a global OBS setting — it applies to all scenes in the current collection. Use separate scene collections for different aspect ratios (e.g. 16:9 vs 9:16 for YouTube Shorts).
  • Audio input kinds default to Windows (wasapi_*). On macOS, update the list_audio_inputs handler to use coreaudio_input_capture / coreaudio_output_capture.

License

MIT

Reviews

No reviews yet

Sign in to write a review