Allows for the remote control of OBS Studio via the obs-websocket plugin, providing capabilities to manage scenes, recording and streaming status, audio inputs, and source visibility.
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
Open OBS Studio
Go to Tools → WebSocket Server Settings
Check Enable WebSocket server
Set a password (recommended)
Note the port (default:
4455)
Installation
npm installCreate a .env file in the project root:
OBS_WS_URL=ws://localhost:4455
OBS_WS_PASSWORD=your_password_hereClaude 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
Tool | Description |
| Current scene, streaming state, recording state + timecodes |
| List all scenes in the active collection |
| Switch to a named scene |
Recording & Streaming
Tool | Description |
| Start recording |
| Stop recording (returns output file path) |
| Toggle recording on/off |
| Start streaming |
| Stop streaming |
Sources
Tool | Description |
| List all sources in a scene |
| Show or hide a source |
Audio
Tool | Description |
| List all audio inputs with mute/volume state |
| Mute or unmute an audio input |
| Toggle mute on an audio input |
| Set volume (0.0–1.0) on an audio input |
Canvas
Tool | Description |
| Set base/output resolution and FPS (global per collection) |
Scene Management
Tool | Description |
| Create a new empty scene |
| Delete a scene |
| Rename a scene |
Scene Collections
Tool | Description |
| List all collections, show active |
| Switch to a different collection |
| Create a new scene collection |
Profiles
Tool | Description |
| List all profiles, show active |
| Switch to a different profile |
| Create a new profile |
| Delete a profile |
Misc
Tool | Description |
| Save 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 thelist_audio_inputshandler to usecoreaudio_input_capture/coreaudio_output_capture.
License
MIT