OBS MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
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-versionA | Get OBS Studio version information |
| obs-test-connectionA | Test the connection to OBS WebSocket |
| obs-get-statsB | Gets statistics about OBS, obs-websocket, and the current session |
| obs-broadcast-custom-eventA | Broadcasts a CustomEvent to all WebSocket clients |
| obs-call-vendor-requestC | Call a request registered to a vendor |
| obs-get-hotkey-listA | Gets an array of all hotkey names in OBS |
| obs-trigger-hotkey-by-nameB | Triggers a hotkey using its name |
| obs-trigger-hotkey-by-key-sequenceC | Triggers a hotkey using a sequence of keys |
| obs-sleepA | 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-sceneB | 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-sceneB | Create a new scene in OBS |
| obs-remove-sceneA | Remove a scene from OBS |
| obs-trigger-studio-transitionA | 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-screenshotA | Gets a Base64-encoded screenshot of a source |
| obs-save-source-screenshotC | Saves a screenshot of a source to the filesystem |
| obs-get-scene-itemsA | Get a list of all scene items in a scene |
| obs-create-scene-itemB | Create a scene item for a source in a scene |
| obs-remove-scene-itemA | Remove a scene item from a scene |
| obs-set-scene-item-enabledB | Show or hide a scene item |
| obs-get-scene-item-transformA | Get the position, rotation, scale, or crop of a scene item |
| obs-set-scene-item-transformB | Set the position, rotation, scale, or crop of a scene item |
| obs-get-scene-item-idA | Get the ID of a scene item by its source name |
| obs-get-stream-statusA | Get the current streaming status |
| obs-start-streamB | Start streaming in OBS |
| obs-stop-streamA | Stop streaming in OBS |
| obs-toggle-streamA | Toggle the streaming state in OBS |
| obs-send-stream-captionB | Sends CEA-608 caption text over the stream output |
| obs-get-transition-listA | Get a list of available transitions in OBS |
| obs-get-current-transitionA | Get the name of the currently active transition |
| obs-set-current-transitionA | Set the current transition in OBS |
| obs-get-transition-durationA | Get the duration of the current transition in milliseconds |
| obs-set-transition-durationA | Set the duration of the current transition in milliseconds |
| obs-get-transition-kindA | Get the kind/type of the current transition |
| obs-set-transition-settingsA | 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-dataA | Gets the value of a slot from the selected persistent data realm |
| obs-set-persistent-dataB | Sets the value of a slot from the selected persistent data realm |
| obs-get-scene-collection-listA | Gets an array of all scene collections |
| obs-set-current-scene-collectionC | Switches to a scene collection |
| obs-create-scene-collectionA | Creates a new scene collection, switching to it in the process |
| obs-get-profile-listA | Gets an array of all profiles |
| obs-set-current-profileA | Switches to a profile |
| obs-create-profileA | 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-parameterA | Gets a parameter from the current profile's configuration |
| obs-set-profile-parameterA | Sets the value of a parameter in the current profile's configuration |
| obs-get-video-settingsA | Gets the current video settings |
| obs-set-video-settingsC | Sets the current video settings |
| obs-get-stream-service-settingsA | Gets the current stream service settings |
| obs-set-stream-service-settingsC | Sets the current stream service settings |
| obs-get-record-directoryA | Gets the current directory that the record output is set to |
| obs-set-record-directoryA | Sets the current directory that the record output writes files to |
| obs-get-filter-kind-listA | Gets an array of all available source filter kinds |
| obs-get-source-filter-listA | Gets an array of all of a source's filters |
| obs-get-filter-default-settingsB | Gets the default settings for a filter kind |
| obs-create-source-filterA | Creates a new filter, adding it to the specified source |
| obs-remove-source-filterA | Removes a filter from a source |
| obs-set-source-filter-nameA | Sets the name of a source filter (rename) |
| obs-get-source-filterC | Gets the info for a specific source filter |
| obs-set-source-filter-indexB | 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-enabledA | Sets the enable state of a source filter |
| obs-get-input-listA | Gets an array of all inputs in OBS |
| obs-get-input-kind-listA | Gets an array of all available input kinds in OBS |
| obs-get-special-inputsB | Gets the names of all special inputs |
| obs-create-inputA | Creates a new input, adding it as a scene item to the specified scene |
| obs-remove-inputA | Removes an existing input |
| obs-set-input-nameA | Sets the name of an input (rename) |
| obs-get-input-default-settingsA | 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-muteA | Sets the audio mute state of an input |
| obs-toggle-input-muteA | Toggles the audio mute state of an input |
| obs-get-input-volumeA | Gets the current volume setting of an input |
| obs-set-input-volumeB | Sets the volume setting of an input |
| obs-get-input-audio-balanceC | Gets the audio balance of an input |
| obs-set-input-audio-balanceA | Sets the audio balance of an input |
| obs-get-input-audio-sync-offsetA | 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-typeC | Gets the audio monitor type of an input |
| obs-set-input-audio-monitor-typeA | Sets the audio monitor type of an input |
| obs-get-media-input-statusC | Gets the status of a media input |
| obs-set-media-input-cursorA | Sets the cursor position of a media input |
| obs-offset-media-input-cursorA | 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-statusA | Gets the status of the virtualcam output |
| obs-toggle-virtual-camA | Toggles the state of the virtualcam output |
| obs-start-virtual-camA | Starts the virtualcam output |
| obs-stop-virtual-camA | Stops the virtualcam output |
| obs-get-replay-buffer-statusB | Gets the status of the replay buffer output |
| obs-toggle-replay-bufferA | Toggles the state of the replay buffer output |
| obs-start-replay-bufferB | Starts the replay buffer output |
| obs-stop-replay-bufferB | Stops the replay buffer output |
| obs-save-replay-bufferA | Saves the contents of the replay buffer output |
| obs-get-last-replay-buffer-replayA | Gets the filename of the last replay buffer save file |
| obs-get-output-listA | Gets the list of available outputs |
| obs-get-output-statusC | Gets the status of an output |
| obs-toggle-outputC | Toggles the status of an output |
| obs-start-outputC | Starts an output |
| obs-stop-outputB | Stops an output |
| obs-get-output-settingsB | Gets the settings of an output |
| obs-set-output-settingsC | Sets the settings of an output |
| obs-get-record-statusB | Gets the status of the record output |
| obs-toggle-recordB | Toggles the status of the record output |
| obs-start-recordB | Starts the record output |
| obs-stop-recordA | Stops the record output |
| obs-toggle-record-pauseA | Toggles pause on the record output |
| obs-pause-recordA | Pauses the record output |
| obs-resume-recordB | Resumes the record output |
| obs-split-record-fileB | Splits the current file being recorded into a new file |
| obs-create-record-chapterA | Adds a new chapter marker to the file currently being recorded |
| obs-get-studio-modeA | Gets whether studio mode is enabled |
| obs-set-studio-modeA | Enables or disables studio mode |
| obs-open-input-propertiesB | Opens the properties dialog of an input |
| obs-open-input-filtersA | Opens the filters dialog of an input |
| obs-open-input-interactA | Opens the interact dialog of an input |
| obs-get-monitor-listA | Gets a list of connected monitors and information about them |
| obs-open-video-mix-projectorB | Opens a projector for a specific output video mix |
| obs-open-source-projectorC | Opens a projector for a source |
| obs-get-canvas-listA | Get all canvases available in OBS |
| obs-get-input-audio-tracksA | Get the enabled audio tracks for an input |
| obs-set-input-audio-tracksB | Set the enabled audio tracks for an input |
| obs-get-input-deinterlace-field-orderC | Get the deinterlace field order of an asynchronous input |
| obs-set-input-deinterlace-field-orderA | Set the deinterlace field order of an asynchronous input |
| obs-get-input-deinterlace-modeA | Get the deinterlace mode of an asynchronous input |
| obs-set-input-deinterlace-modeB | Set the deinterlace mode of an asynchronous input |
| obs-get-input-property-list-itemsA | Get the selectable items for a dynamic input list property |
| obs-press-input-property-buttonC | Press a button exposed by an input property |
| obs-duplicate-scene-itemA | Duplicate a scene item while preserving its transform and crop |
| obs-get-group-scene-itemsC | Get the scene items contained in an OBS group |
| obs-get-scene-item-enabledA | Get whether a scene item is enabled |
| obs-get-scene-item-indexC | Get the index position of a scene item |
| obs-set-scene-item-indexC | Set the index position of a scene item |
| obs-get-scene-item-lockedA | Get whether a scene item is locked |
| obs-set-scene-item-lockedB | Set whether a scene item is locked |
| obs-get-scene-item-blend-modeB | Get the blend mode of a scene item |
| obs-set-scene-item-blend-modeC | Set the blend mode of a scene item |
| obs-get-scene-item-sourceA | Get the source associated with a scene item |
| obs-get-group-listA | Get all OBS groups |
| obs-set-scene-nameA | Rename an OBS scene |
| obs-get-scene-transition-overrideA | Get the transition override configured for a scene |
| obs-set-scene-transition-overrideA | Set or clear the transition override for a scene |
| obs-get-transition-kind-listA | Get all available OBS transition kinds |
| obs-get-transition-cursorB | Get the current scene transition cursor position |
| obs-set-tbar-positionA | Set and optionally release the OBS Studio Mode T-Bar position |
| obs-describe-requestA | Inspect the exact fields and constraints of requests in the pinned OBS WebSocket protocol |
| obs-call-requestA | Call any request in the pinned OBS WebSocket protocol; inspect it with obs-describe-request first |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tom-R-Main/OBS-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server