Skip to content
Conduit

mcp server

agentic-obs

agentic-obs: A Model Context Protocol (MCP) server that provides AI assistants with programmatic control over OBS Studio via the OBS WebSocket API. This server enables AI agents to manage scenes, sour

ironystock/agentic-obscommunitylistedunreviewednot running here yet

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 15, 2026

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 (--tui flag)
  • 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

  1. Open OBS Studio
  2. Go to Tools → WebSocket Server Settings
  3. Enable the WebSocket server (default port: 4455)
  4. Set a password (optional but recommended)
  5. 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:

  1. Auto-detect OBS on localhost:4455
  2. Prompt for connection details if auto-detection fails
  3. 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)

ToolDescription
list_scenesList all available scenes and identify current scene
set_current_sceneSwitch to a specific scene
create_sceneCreate a new scene
remove_sceneRemove a scene

Recording Control (5 tools)

ToolDescription
start_recordingStart recording
stop_recordingStop recording
pause_recordingPause current recording
resume_recordingResume paused recording
get_recording_statusCheck recording status and details

Streaming Control (3 tools)

ToolDescription
start_streamingStart streaming
stop_streamingStop streaming
get_streaming_statusCheck streaming status

Source Management (3 tools)

ToolDescription
list_sourcesList all input sources
toggle_source_visibilityShow/hide a source in a scene
get_source_settingsGet source configuration

Audio Control (4 tools)

ToolDescription
get_input_muteCheck if audio input is muted
toggle_input_muteToggle audio input mute state
set_input_volumeSet audio input volume (dB or multiplier)
get_input_volumeGet current volume level (dB and multiplier)

Scene Presets (6 tools)

ToolDescription
save_scene_presetSave current scene source states as a named preset
list_scene_presetsList all saved presets, optionally filter by scene
get_preset_detailsGet detailed information about a specific preset
apply_scene_presetApply a saved preset to restore source visibility
rename_scene_presetRename an existing preset
delete_scene_presetDelete a saved preset

Screenshot Sources (4 tools)

ToolDescription
create_screenshot_sourceCreate a periodic screenshot capture source for AI visual monitoring
remove_screenshot_sourceStop and remove a screenshot capture source
list_screenshot_sourcesList all configured sources with status and HTTP URLs
configure_screenshot_cadenceUpdate the capture interval for a screenshot source

Status & Monitoring (1 tool)

ToolDescription
get_obs_statusGet overall OBS status and connection info

Help & Discovery (1 tool)

ToolDescription
helpGet detailed help on tools, resources, prompts, workflows, or troubleshooting

Scene Design (14 tools)

Enable AI to create and manipulate OBS sources programmatically.

Source Creation

ToolDescription
create_text_sourceCreate a text/label source with customizable font and color
create_image_sourceCreate an image source from a file path
create_color_sourceCreate a solid color source
create_browser_sourceCreate a browser source for web content
create_media_sourceCreate a media/video source from a file

Layout Control

ToolDescription
set_source_transformSet position, scale, and rotation of a source
get_source_transformGet current transform properties
set_source_cropSet crop values for a source
set_source_boundsSet bounds type and size for a source
set_source_orderSet z-order index (front-to-back ordering)

Advanced

ToolDescription
set_source_lockedLock/unlock a source to prevent changes
duplicate_sourceDuplicate a source within or across scenes
remove_sourceRemove a source from a scene
list_input_kindsList all available input source types

Filters (7 tools)

ToolDescription
list_source_filtersList all filters applied to a source
get_source_filterGet filter details and settings
create_source_filterAdd a new filter to a source (color correction, noise suppression, etc.)
remove_source_filterRemove a filter from a source
toggle_source_filterEnable/disable a filter
set_source_filter_settingsModify filter configuration
list_filter_kindsList all available filter types

Transitions (5 tools)

ToolDescription
list_transitionsList all available transitions and current one
get_current_transitionGet current transition details
set_current_transitionChange the active transition (Cut, Fade, Swipe, etc.)
set_transition_durationSet transition duration in milliseconds
trigger_transitionTrigger studio mode transition (preview to program)

Virtual Cam & Replay Buffer (6 tools)

ToolDescription
get_virtual_cam_statusCheck if virtual camera output is active
toggle_virtual_camToggle virtual camera on/off
get_replay_buffer_statusCheck if replay buffer is active
toggle_replay_bufferToggle replay buffer on/off
save_replay_bufferSave current replay buffer to file
get_last_replayGet the file path of the last saved replay

Studio Mode & Hotkeys (6 tools)

ToolDescription
get_studio_mode_enabledCheck if studio mode is enabled
toggle_studio_modeEnable or disable studio mode
get_preview_sceneGet the current preview scene (studio mode)
set_preview_sceneSet the preview scene (studio mode)
list_hotkeysList all available OBS hotkeys
trigger_hotkey_by_nameTrigger a hotkey by name

Meta Tools (4 tools, always enabled)

ToolDescription
helpGet detailed help on tools, resources, prompts, workflows, or troubleshooting
get_tool_configQuery current tool group configuration (enabled/disabled state)
set_tool_configEnable/disable tool groups at runtime (session-only or persistent)
list_tool_groupsList all tool groups with descriptions and status

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:

Resource TypeURI PatternContent TypeDescription
Scenesobs://scene/{name}obs-scene (JSON)Scene configuration with sources and settings
Screenshotsobs://screenshot/{name}image/png or image/jpegBinary screenshot images from capture sources
Screenshot URLsobs://screenshot-url/{name}text/plainHTTP URL for screenshot image access
Presetsobs://preset/{name}obs-preset (JSON)Scene preset configurations with source visibility

Usage:

  • resources/list - List all available resources
  • resources/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:

PromptArgumentsPurpose
stream-launchnonePre-stream checklist and setup
stream-teardownnoneEnd-stream cleanup workflow
audio-checknoneAudio verification and diagnostics
visual-checkscreenshot_sourceVisual layout analysis
health-checknoneComprehensive OBS diagnostics
problem-detectionscreenshot_sourceAutomated issue detection
preset-switcherpreset_name (optional)Scene preset management
recording-workflownoneRecording session guidance
scene-organizernoneScene organization and cleanup
quick-statusnoneBrief status summary
scene-designerscene_name, action (optional)Visual layout creation with Design tools
source-managementscene_nameManage source visibility and properties
visual-setupmonitor_scene (optional)Configure screenshot monitoring
automation-setuprule_type (optional), trigger_event (optional)Create and manage automation rules (FB-20)

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

  1. Define tool schema in internal/mcp/tools.go
  2. Implement handler function
  3. Register tool in server initialization
  4. Add OBS command wrapper in internal/obs/commands.go if 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:

SkillPurpose
streaming-assistantComplete streaming workflows (pre-stream, live, teardown)
scene-designerVisual layout creation with 14 Design tools
audio-engineerAudio optimization and troubleshooting
preset-managerPreset lifecycle and organization

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)
↑↓ navigate openesc close