An MCP server for OBS Studio that provides tools to control OBS via the OBS WebSocket protocol.
- Connect to OBS WebSocket server
- Control OBS via MCP tools
- Provides tools for:
- General operations
- Scene management
- Source control
- Scene item manipulation
- Streaming and recording
- Transitions
- Make sure OBS Studio is running with WebSocket server enabled (Tools > WebSocket Server Settings). Note the password for the WS.
- Set the WebSocket password in environment variable (if needed):
export OBS_WEBSOCKET_PASSWORD="your_password_here"
- Add the MCP server to Claude desktop with the MCP server settings:
{
"mcpServers": {
"obs": {
"command": "npx",
"args": ["-y", "obs-mcp@latest"],
"env": {
"OBS_WEBSOCKET_PASSWORD": "<password_from_obs>"
}
}
}
}
- Use Claude to control your OBS!
If you want to run the server locally using the code in this git repo, you can do the following:
npm run build
npm run start
Then configure Claude desktop:
{
"mcpServers": {
"obs": {
"command": "node",
"args": [
"<obs-mcp_root>/build/index.js"
],
"env": {
"OBS_WEBSOCKET_PASSWORD": "<password_from_obs>"
}
}
}
}
The server provides tools organized by category:
- General tools: Version info, stats, hotkeys, studio mode
- Scene tools: List scenes, switch scenes, create/remove scenes
- Source tools: Manage sources, settings, audio levels, mute/unmute
- Scene item tools: Manage items in scenes (position, visibility, etc.)
- Streaming tools: Start/stop streaming, recording, virtual camera
- Transition tools: Set transitions, durations, trigger transitions
-
OBS_WEBSOCKET_URL
: WebSocket URL (default: ws://localhost:4455) -
OBS_WEBSOCKET_PASSWORD
: Password for authenticating with OBS WebSocket (if required)
- Node.js 16+
- OBS Studio 31+ with WebSocket server enabled
- Claude desktop
See the LICENSE file for details.