agentic-obs
A Model Context Protocol (MCP) server that enables AI assistants to control OBS Studio through the OBS WebSocket API.
Overview
This MCP server provides AI agents (like Claude) with programmatic control over OBS Studio, enabling automated scene switching, recording control, streaming management, and more through natural language interactions.
Features
- 81 MCP Tools: Comprehensive control over OBS Studio operations in 9 tool groups
- Scene Management: List, switch, create, and remove OBS scenes
- Scene Presets: Save and restore source visibility configurations
- Recording Control: Start, stop, pause, resume, and monitor recording
- Streaming Control: Start, stop, and monitor streaming
- Source Management: List and control source visibility
- Audio Control: Manage input mute and volume levels
- Screenshot Sources: AI visual monitoring with periodic image capture
- Agentic Scene Design: Create and manipulate sources (text, image, color, browser, media)
- Help & Discovery: Built-in help tool with topic-based guidance
- Status Monitoring: Query OBS connection and operational status
- Automation Rules: Event-triggered actions and scheduled tasks for hands-free OBS control
- 4 MCP Resources: Scenes, screenshots, screenshot URLs, and presets exposed as resources
- 14 MCP Prompts: Pre-built workflows for common tasks and diagnostics
- MCP Completions: Autocomplete for prompt arguments and resource URIs
- Claude Skills: Shareable skill packages for advanced AI orchestration
- TUI Dashboard: Terminal interface for status, config, and history (
--tuiflag) - Web Dashboard: Browser-based dashboard at
http://localhost:8765/
Prerequisites
- Go 1.25.5+ - Download
- OBS Studio 28+ - Includes built-in WebSocket server
- Git - For version control
Installation
Option 1: Install with Go (Recommended)
go install github.com/ironystock/agentic-obs@latest
This installs the agentic-obs binary to your $GOPATH/bin directory.
Option 2: Build from Source
# Clone the repository
git clone https://github.com/ironystock/agentic-obs.git
cd agentic-obs
# Build with Make (recommended - includes version info)
make build
# Or build directly with Go
go build -o agentic-obs .
# Verify the build
./agentic-obs --version
For cross-platform builds, release automation, and advanced build options, see docs/BUILD.md.
Configure OBS Studio
- Open OBS Studio
- Go to Tools → WebSocket Server Settings
- Enable the WebSocket server (default port: 4455)
- Set a password (optional but recommended)
- Note your connection details
Usage
Running the Server
# MCP server mode (default) - if installed via go install
agentic-obs
# TUI dashboard mode - terminal interface for monitoring
agentic-obs --tui
agentic-obs -t
# Or run directly from source
go run main.go
go run main.go --tui
# Or use a built binary
./agentic-obs
TUI Dashboard
The TUI dashboard provides a terminal-based interface with four views:
- Status: OBS connection status, server info, statistics
- Config: Current configuration settings
- History: Action history log with scrolling
- Docs: Embedded documentation with terminal rendering
Navigate with 1/2/3/4 keys or Tab, press q to quit.
On first run, the server will:
- Auto-detect OBS on
localhost:4455 - Prompt for connection details if auto-detection fails
- Save successful configuration to SQLite
Connecting to MCP Clients
This server uses stdio transport. Configure your MCP client to execute the agentic-obs command.
Example Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"obs": {
"command": "agentic-obs"
}
}
}
Note: If you built from source or the binary isn't in your PATH, use the full path:
{
"mcpServers": {
"obs": {
"command": "/full/path/to/agentic-obs"
}
}
}
Available MCP Tools
Scene Management (4 tools)
Recording Control (5 tools)
Streaming Control (3 tools)
Source Management (3 tools)
Audio Control (4 tools)
Scene Presets (6 tools)
Screenshot Sources (4 tools)
Status & Monitoring (1 tool)
Help & Discovery (1 tool)
Scene Design (14 tools)
Enable AI to create and manipulate OBS sources programmatically.
Source Creation
Layout Control
Advanced
Filters (7 tools)
Transitions (5 tools)
Virtual Cam & Replay Buffer (6 tools)
Studio Mode & Hotkeys (6 tools)
Meta Tools (4 tools, always enabled)
Example: Disable Visual tools for a lighter setup
{
"tool": "set_tool_config",
"arguments": {
"group": "Visual",
"enabled": false,
"persist": true
}
}
Total: 81 tools in 9 groups (Core, Sources, Audio, Layout, Visual, Design, Filters, Transitions, Automation) + Meta (4 always-enabled tools)
MCP Resources
The server exposes OBS data as MCP resources for efficient access and monitoring:
Usage:
resources/list- List all available resourcesresources/read- Get detailed resource content- Resources support notifications for real-time updates
- Completions: Autocomplete available for resource URI names
MCP Prompts
Pre-built workflow prompts guide AI assistants through common OBS tasks:
Prompts combine multiple tools into cohesive workflows with best practices built-in. Completions: Autocomplete available for prompt arguments (preset names, screenshot sources, scene names).
Development
Project Structure
agentic-obs/
├── main.go # Entry point (MCP server or TUI)
├── config/ # Configuration management
├── internal/
│ ├── mcp/ # MCP server implementation (81 tools)
│ ├── obs/ # OBS WebSocket client
│ ├── storage/ # SQLite persistence
│ ├── http/ # HTTP server for screenshots and dashboard
│ ├── screenshot/ # Background capture manager
│ └── tui/ # Terminal UI dashboard
├── skills/ # Claude Skills packages
└── scripts/ # Development helpers
Adding a New Tool
- Define tool schema in
internal/mcp/tools.go - Implement handler function
- Register tool in server initialization
- Add OBS command wrapper in
internal/obs/commands.goif needed
Running Tests
go test ./...
Configuration
Configuration is stored in SQLite (agentic-obs.db) and includes:
- OBS WebSocket connection details (host, port, password)
- Scene and source presets
- User preferences
Troubleshooting
Connection Issues
Problem: "Failed to connect to OBS"
Solutions:
- Ensure OBS Studio is running
- Verify WebSocket server is enabled in OBS (Tools → WebSocket Server Settings)
- Check that port 4455 is not blocked by firewall
- Confirm password matches if authentication is enabled
Permission Issues
Problem: Database write errors
Solutions:
- Ensure the directory is writable
- Check file permissions on
agentic-obs.db
Claude Skills
The skills/ directory contains shareable Claude Skills packages that teach AI assistants how to orchestrate agentic-obs tools effectively:
Skills use progressive disclosure for token-efficient guidance. See skills/README.md for installation.
Future Enhancements
- Automation rules and macros
- Multi-instance OBS support
- Real-time event notifications
- Additional resource types (filters, transitions)
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
[Add your license here]
Resources
Built with:
- Go 1.25.5
- MCP Go SDK v1.1.0
- goobs v1.5.6
- bubbletea/lipgloss (TUI)