streamlabs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STREAMLABS_HOST | No | Host:port of the Streamlabs Desktop API. | 127.0.0.1:59650 |
| STREAMLABS_TOKEN | Yes | The token from Streamlabs Desktop Remote Control settings. Treat like a password. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| streamlabs_list_scenesA | List all scenes in the current Streamlabs Desktop scene collection. |
| streamlabs_get_sceneA | Get a specific scene (with its items) by scene id. |
| streamlabs_get_active_sceneA | Get the currently active scene, including its scene items. |
| streamlabs_switch_sceneA | Switch Streamlabs Desktop to a different scene by its scene id (get ids from streamlabs_list_scenes). |
| streamlabs_create_sceneA | Create a new (empty) scene with the given name. |
| streamlabs_remove_sceneA | Permanently delete a scene by id. |
| streamlabs_rename_sceneC | Rename a scene. |
| streamlabs_clear_sceneB | Remove all items (sources) from a scene, leaving it empty. |
| streamlabs_add_source_to_sceneA | Add an existing source (by id, from streamlabs_list_sources) to a scene as a new scene item. |
| streamlabs_create_and_add_sourceA | Create a brand new source and add it to a scene in one step. Common types: 'image_source', 'color_source', 'browser_source', 'text_gdiplus', 'dshow_input' (webcam), 'window_capture', 'monitor_capture', 'ffmpeg_source' (media). |
| streamlabs_set_scene_item_visibilityA | Show or hide a scene item within a scene. Get sceneId and sceneItemId from streamlabs_get_active_scene. |
| streamlabs_remove_scene_itemA | Remove a scene item (source instance) from a scene. This does not delete the underlying source, only its placement in this scene. |
| streamlabs_set_scene_item_transformA | Set position, scale, crop, and/or rotation for a scene item. Only pass the fields you want to change. |
| streamlabs_set_scene_item_scaleC | Set the scale of a scene item, optionally around a given origin point. |
| streamlabs_reset_scene_item_transformB | Reset a scene item's position, scale, and rotation to default. |
| streamlabs_flip_scene_item_xB | Flip a scene item horizontally. |
| streamlabs_flip_scene_item_yB | Flip a scene item vertically. |
| streamlabs_rotate_scene_itemB | Rotate a scene item by a given number of degrees. |
| streamlabs_center_scene_itemC | Center a scene item on the canvas. |
| streamlabs_fit_scene_item_to_screenB | Resize a scene item to fit within the canvas while preserving aspect ratio. |
| streamlabs_stretch_scene_item_to_screenB | Stretch a scene item to fill the entire canvas (ignores aspect ratio). |
| streamlabs_list_sourcesA | List all sources (cameras, capture devices, audio inputs, etc.) configured in Streamlabs Desktop. |
| streamlabs_get_sourceB | Get details for a single source by id. |
| streamlabs_get_sources_by_nameA | Find sources by their display name (name is not guaranteed unique, so this can return multiple results). |
| streamlabs_create_sourceA | Create a new source without adding it to any scene yet (use streamlabs_add_source_to_scene afterward, or use streamlabs_create_and_add_source to do both at once). |
| streamlabs_remove_sourceA | Permanently delete a source (removes it from every scene it appears in). |
| streamlabs_list_available_source_typesA | List the source types Streamlabs Desktop can create on this system (useful before calling streamlabs_create_source). |
| streamlabs_get_source_settingsA | Get the current settings/properties for a source (e.g. the URL of a browser source, or the file path of a media source). |
| streamlabs_update_source_settingsB | Update settings/properties for a source, e.g. { url: 'https://...' } for a browser_source, or { text: '...' } for text_gdiplus. |
| streamlabs_rename_sourceA | Rename a source (this renames the underlying source everywhere it's used, not just one scene item). |
| streamlabs_duplicate_sourceB | Duplicate a source, creating a new independent copy. |
| streamlabs_refresh_sourceA | Refresh a source (e.g. reload a browser_source's page, or a media source's file). Handy for forcing an overlay to reload. |
| streamlabs_list_audio_sourcesA | List audio sources for the current scene, including their muted state. Use this before muting/unmuting. |
| streamlabs_list_all_audio_sourcesA | List every audio source in Streamlabs Desktop, across all scenes (not just the currently active one). |
| streamlabs_list_audio_sources_for_sceneA | List audio sources for a specific scene by id. |
| streamlabs_set_source_mutedA | Mute or unmute an audio source. Get the sourceId from streamlabs_list_audio_sources. |
| streamlabs_set_source_volumeA | Set an audio source's volume fader position (deflection), from 0 (silent) to 1 (max / unity gain). |
| streamlabs_get_streaming_statusA | Get current streaming/recording status (offline, starting, live, ending, etc.). |
| streamlabs_toggle_streamingA | Start streaming if currently offline, or stop it if currently live. Confirm with the user before calling this. |
| streamlabs_toggle_recordingA | Start or stop local recording. |
| streamlabs_start_replay_bufferA | Start the replay buffer (lets you save instant replays of the last N seconds). |
| streamlabs_stop_replay_bufferB | Stop the replay buffer. |
| streamlabs_save_replayA | Save the current instant replay from the replay buffer to disk. Confirm with the user before calling this. |
| streamlabs_get_studio_mode_statusB | Get the current studio mode / transitions state. |
| streamlabs_enable_studio_modeA | Enable studio mode (preview + program view for previewing scenes before they go live). |
| streamlabs_disable_studio_modeB | Disable studio mode. |
| streamlabs_execute_studio_mode_transitionA | While in studio mode, push the currently previewed scene live (execute the transition). |
| streamlabs_list_scene_collectionsA | List all saved scene collections. |
| streamlabs_get_active_scene_collectionA | Get the currently loaded scene collection. |
| streamlabs_load_scene_collectionA | Switch to a different scene collection by id (get ids from streamlabs_list_scene_collections). |
| streamlabs_create_scene_collectionA | Create a new, empty scene collection with the given name and switch to it. |
| streamlabs_delete_scene_collectionA | Delete a scene collection by id. If no id is given, deletes the currently active one. Confirm with the user before calling this - it is destructive. |
| streamlabs_rename_scene_collectionC | Rename a scene collection. |
| streamlabs_list_notificationsA | List Streamlabs Desktop's in-app notifications, optionally filtered by type and read state. |
| streamlabs_mark_notification_readB | Mark a single notification as read by id. |
| streamlabs_mark_all_notifications_readA | Mark all notifications as read. |
| streamlabs_push_notificationB | Push a new in-app notification in Streamlabs Desktop. |
| streamlabs_show_notifications_panelA | Open/focus the notifications panel in the Streamlabs Desktop UI. |
| streamlabs_get_performance_statsA | Get current performance stats: CPU usage, FPS, dropped frames, bandwidth, and disk space. |
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 59 tools
Most tools have distinct resource-action pairs. The three audio listing tools (streamlabs_list_audio_sources, streamlabs_list_all_audio_sources, streamlabs_list_audio_sources_for_scene) have overlapping purposes but are differentiated by scope. Overall, descriptions are clear enough to disambiguate the majority of tools.
All tools follow a consistent streamlabs_verb_noun pattern, making the naming highly predictable. Minor deviations like streamlabs_get_sources_by_name and streamlabs_create_and_add_source are still readable and fit the overall convention.
With 59 tools, this server far exceeds the typical well-scoped range. Many granular tools (flip_x, flip_y, rotate, center, fit, stretch) could be consolidated into one transform tool, and several notification and scene collection operations add bulk. The count feels bloated.
The tool surface covers the core streaming workflow: scenes, sources, audio, streaming controls, studio mode, scene collections, and notifications. Minor gaps exist (e.g., no tool for reordering scene items or setting output settings), but these are not critical for most use cases.