OBS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBS_WEBSOCKET_URL | No | WebSocket URL for connecting to OBS Studio | ws://localhost:4455 |
| OBS_WEBSOCKET_PASSWORD | No | Password for authenticating with OBS WebSocket (if required) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obs-get-statusA | Get the current status of the OBS MCP server and OBS connection |
| obs-get-versionB | Get OBS Studio version information |
| obs-test-connectionB | Test the connection to OBS WebSocket |
| obs-get-statsB | Gets statistics about OBS, obs-websocket, and the current session |
| obs-broadcast-custom-eventC | Broadcasts a CustomEvent to all WebSocket clients |
| obs-call-vendor-requestC | Call a request registered to a vendor |
| obs-get-hotkey-listB | Gets an array of all hotkey names in OBS |
| obs-trigger-hotkey-by-nameC | Triggers a hotkey using its name |
| obs-trigger-hotkey-by-key-sequenceC | Triggers a hotkey using a sequence of keys |
| obs-sleepB | Sleeps for a time duration or number of frames |
| obs-get-scene-listB | Get a list of scenes in OBS |
| obs-get-current-sceneB | Get the current active scene in OBS |
| obs-set-current-sceneC | Set the current active scene in OBS |
| obs-get-preview-sceneA | Get the current preview scene in OBS Studio Mode |
| obs-set-preview-sceneB | Set the current preview scene in OBS Studio Mode |
| obs-create-sceneC | Create a new scene in OBS |
| obs-remove-sceneC | Remove a scene from OBS |
| obs-trigger-studio-transitionB | Trigger a transition from preview to program scene in Studio Mode |
| obs-get-source-activeB | Gets the active and show state of a source |
| obs-get-source-screenshotC | Gets a Base64-encoded screenshot of a source |
| obs-save-source-screenshotB | Saves a screenshot of a source to the filesystem |
| obs-get-scene-itemsC | Get a list of all scene items in a scene |
| obs-create-scene-itemC | Create a scene item for a source in a scene |
| obs-remove-scene-itemC | Remove a scene item from a scene |
| obs-set-scene-item-enabledC | Show or hide a scene item |
| obs-get-scene-item-transformC | Get the position, rotation, scale, or crop of a scene item |
| obs-set-scene-item-transformC | Set the position, rotation, scale, or crop of a scene item |
| obs-get-scene-item-idB | Get the ID of a scene item by its source name |
| obs-get-stream-statusB | Get the current streaming status |
| obs-start-streamC | Start streaming in OBS |
| obs-stop-streamB | Stop streaming in OBS |
| obs-toggle-streamB | Toggle the streaming state in OBS |
| obs-send-stream-captionC | Sends CEA-608 caption text over the stream output |
| obs-get-transition-listB | Get a list of available transitions in OBS |
| obs-get-current-transitionB | Get the name of the currently active transition |
| obs-set-current-transitionC | Set the current transition in OBS |
| obs-get-transition-durationA | Get the duration of the current transition in milliseconds |
| obs-set-transition-durationC | Set the duration of the current transition in milliseconds |
| obs-get-transition-kindB | Get the kind/type of the current transition |
| obs-set-transition-settingsC | Set the settings of the current transition |
| obs-get-transition-settingsB | Get the settings of the current transition |
| obs-trigger-transitionB | Trigger a scene transition in OBS (Studio Mode must be enabled) |
| obs-get-persistent-dataC | Gets the value of a slot from the selected persistent data realm |
| obs-set-persistent-dataC | Sets the value of a slot from the selected persistent data realm |
| obs-get-scene-collection-listB | Gets an array of all scene collections |
| obs-set-current-scene-collectionC | Switches to a scene collection |
| obs-create-scene-collectionC | Creates a new scene collection, switching to it in the process |
| obs-get-profile-listB | Gets an array of all profiles |
| obs-set-current-profileC | Switches to a profile |
| obs-create-profileC | Creates a new profile, switching to it in the process |
| obs-remove-profileA | Removes a profile. If the current profile is chosen, it will change to a different profile first |
| obs-get-profile-parameterB | Gets a parameter from the current profile's configuration |
| obs-set-profile-parameterC | Sets the value of a parameter in the current profile's configuration |
| obs-get-video-settingsB | Gets the current video settings |
| obs-set-video-settingsC | Sets the current video settings |
| obs-get-stream-service-settingsB | Gets the current stream service settings |
| obs-set-stream-service-settingsC | Sets the current stream service settings |
| obs-get-record-directoryB | Gets the current directory that the record output is set to |
| obs-set-record-directoryC | Sets the current directory that the record output writes files to |
| obs-get-filter-kind-listB | Gets an array of all available source filter kinds |
| obs-get-source-filter-listB | Gets an array of all of a source's filters |
| obs-get-filter-default-settingsC | Gets the default settings for a filter kind |
| obs-create-source-filterC | Creates a new filter, adding it to the specified source |
| obs-remove-source-filterC | Removes a filter from a source |
| obs-set-source-filter-nameC | Sets the name of a source filter (rename) |
| obs-get-source-filterC | Gets the info for a specific source filter |
| obs-set-source-filter-indexC | Sets the index position of a filter on a source |
| obs-set-source-filter-settingsC | Sets the settings of a source filter |
| obs-set-source-filter-enabledC | Sets the enable state of a source filter |
| obs-get-input-listC | Gets an array of all inputs in OBS |
| obs-get-input-kind-listB | Gets an array of all available input kinds in OBS |
| obs-get-special-inputsB | Gets the names of all special inputs |
| obs-create-inputC | Creates a new input, adding it as a scene item to the specified scene |
| obs-remove-inputC | Removes an existing input |
| obs-set-input-nameC | Sets the name of an input (rename) |
| obs-get-input-default-settingsC | Gets the default settings for an input kind |
| obs-get-input-settingsC | Gets the settings of an input |
| obs-set-input-settingsC | Sets the settings of an input |
| obs-get-input-muteB | Gets the audio mute state of an input |
| obs-set-input-muteC | Sets the audio mute state of an input |
| obs-toggle-input-muteC | Toggles the audio mute state of an input |
| obs-get-input-volumeC | Gets the current volume setting of an input |
| obs-set-input-volumeC | Sets the volume setting of an input |
| obs-get-input-audio-balanceC | Gets the audio balance of an input |
| obs-set-input-audio-balanceC | Sets the audio balance of an input |
| obs-get-input-audio-sync-offsetC | Gets the audio sync offset of an input |
| obs-set-input-audio-sync-offsetC | Sets the audio sync offset of an input |
| obs-get-input-audio-monitor-typeB | Gets the audio monitor type of an input |
| obs-set-input-audio-monitor-typeC | Sets the audio monitor type of an input |
| obs-get-media-input-statusC | Gets the status of a media input |
| obs-set-media-input-cursorC | Sets the cursor position of a media input |
| obs-offset-media-input-cursorC | Offsets the current cursor position of a media input |
| obs-trigger-media-input-actionC | Triggers an action on a media input |
| obs-get-virtual-cam-statusB | Gets the status of the virtualcam output |
| obs-toggle-virtual-camB | Toggles the state of the virtualcam output |
| obs-start-virtual-camC | Starts the virtualcam output |
| obs-stop-virtual-camB | Stops the virtualcam output |
| obs-get-replay-buffer-statusB | Gets the status of the replay buffer output |
| obs-toggle-replay-bufferB | Toggles the state of the replay buffer output |
| obs-start-replay-bufferC | Starts the replay buffer output |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 127 tools
Most tools have distinct purposes, but there is some overlap in get/set operations for similar properties (e.g., multiple audio-related get/set tools for inputs) that could cause minor confusion. However, the descriptions are clear enough to differentiate them in most cases.
All tools follow a consistent 'obs-verb-noun' pattern with clear, descriptive names. The naming is uniform throughout, making it easy to predict tool functions and maintain readability.
With 127 tools, the count is excessively high for a single server, making it overwhelming and difficult to navigate. This suggests poor scoping, as many tools could potentially be consolidated or grouped more efficiently.
The tool set provides comprehensive coverage of OBS operations, including CRUD for inputs, scenes, filters, and outputs, as well as status checks, controls, and utilities. No obvious gaps are present for the domain.