mcp-server-obs
OBS Studio automation for AI assistants - control recordings, streaming, scenes, and window capture via Model Context Protocol
Links
README
From the repo.
OBS Studio MCP Server
A .NET 10 MCP (Model Context Protocol) server for controlling OBS Studio. Use it standalone with any MCP client or via the included VS Code extension.
⚠️ This project is in active development. APIs and features may change.
Platform: Windows only (OBS WebSocket limitation)
Features
Control OBS Studio through AI assistants (GitHub Copilot, Claude, etc.):
- Recording: Start, stop, pause, resume, configure format/quality (audio muted by default)
- Streaming: Start, stop, monitor status
- Scenes: List and switch scenes
- Sources: Add window captures, manage visibility
- Audio: Mute/unmute inputs, control volume (desktop audio, mic)
- Window Capture: Programmatically select windows to record
- Media: Screenshots, virtual camera
Installation
VS Code / VS Code Insiders (Recommended)
Install directly from the VS Code Marketplace:
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X) - Search for "OBS Studio MCP Server"
- Click Install
Or run: code --install-extension sbroenne.obs-mcp
Other MCP Clients (Claude Desktop, Cursor, Windsurf, etc.)
Download from GitHub Releases:
| Download | Description |
|---|---|
obs-mcp-server-*.zip | Requires .NET 10 Runtime |
Extract and add to your MCP client config:
{
"servers": {
"obs": {
"command": "dotnet",
"args": ["C:/Tools/obs-mcp-server/Sbroenne.ObsMcp.McpServer.dll"],
"env": {
"OBS_HOST": "${input:obs_host}",
"OBS_PORT": "${input:obs_port}",
"OBS_PASSWORD": "${input:obs_password}"
}
}
},
"inputs": [
{
"id": "obs_host",
"type": "promptString",
"description": "OBS WebSocket host",
"default": "localhost"
},
{
"id": "obs_port",
"type": "promptString",
"description": "OBS WebSocket port",
"default": "4455"
},
{
"id": "obs_password",
"type": "promptString",
"description": "OBS WebSocket password",
"password": true
}
]
}
Config file locations:
| Client | Path |
|---|---|
| Claude Desktop | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
Prerequisites
- OBS Studio - Download from obsproject.com
- OBS WebSocket - Built into OBS Studio 28.0+
Enable OBS WebSocket
- Open OBS Studio
- Go to Tools → WebSocket Server Settings
- Enable WebSocket server
- Note the port (default:
4455) and password - Click Apply
Available Tools
| Tool | Actions |
|---|---|
obs_connection | Connect, Disconnect, GetStatus, GetStats |
obs_recording | Start, Stop, Pause, Resume, GetStatus, GetSettings, SetFormat, SetQuality, SetPath, GetPath |
obs_streaming | Start, Stop, GetStatus |
obs_scene | List, GetCurrent, Set, ListSources |
obs_source | AddWindowCapture, ListWindows, SetWindowCapture, Remove, SetEnabled |
obs_audio | GetInputs, Mute, Unmute, GetMuteState, SetVolume, GetVolume, MuteAll, UnmuteAll |
obs_media | SaveScreenshot, StartVirtualCamera, StopVirtualCamera |
Note: Recording starts with audio muted by default. Use
muteAudio=falseto include audio.
Quick Start: Record a Window
Important: Without a capture source, recordings will be BLACK!
- Connect:
obs_connection(action: Connect) - Add source:
obs_source(action: AddWindowCapture, sourceName: "My Capture") - List windows:
obs_source(action: ListWindows, sourceName: "My Capture") - Select window:
obs_source(action: SetWindowCapture, sourceName: "My Capture", windowValue: "...") - Record:
obs_recording(action: Start)orobs_recording(action: Start, path: "C:/Videos")
Or just ask your AI assistant: "Record VS Code in OBS"
Development
Build & Test
# Build
dotnet build
# Run unit tests (no OBS required)
dotnet test --filter "Category!=Integration"
# Run integration tests (requires OBS with .env configured)
dotnet test --filter "Category=Integration"
Project Structure
mcp-server-obs/
├── src/ObsMcp.McpServer/ # .NET 10 MCP Server
│ └── Tools/ # 7 resource-based tools
├── tests/ # Unit & integration tests
├── vscode-extension/ # VS Code extension wrapper
└── .github/workflows/ # Release automation
Release
- MCP Server: Push tag
mcp-v1.0.0→ Builds standalone zips - VS Code Extension: Push tag
vscode-v1.0.0→ Builds .vsix + publishes to Marketplace
License
MIT
Collected info
- ★ 11 stars
- ⎇ 2 forks
- Language: C#
- Source updated: 9/20/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.