OBS MCP Server

by royshil
Verified
{ "requests": [ { "description": "Gets the value of a \"slot\" from the selected persistent data realm.", "requestType": "GetPersistentData", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "realm", "valueType": "String", "valueDescription": "The data realm to select. `OBS_WEBSOCKET_DATA_REALM_GLOBAL` or `OBS_WEBSOCKET_DATA_REALM_PROFILE`", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "slotName", "valueType": "String", "valueDescription": "The name of the slot to retrieve data from", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "slotValue", "valueType": "Any", "valueDescription": "Value associated with the slot. `null` if not set" } ] }, { "description": "Sets the value of a \"slot\" from the selected persistent data realm.", "requestType": "SetPersistentData", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "realm", "valueType": "String", "valueDescription": "The data realm to select. `OBS_WEBSOCKET_DATA_REALM_GLOBAL` or `OBS_WEBSOCKET_DATA_REALM_PROFILE`", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "slotName", "valueType": "String", "valueDescription": "The name of the slot to retrieve data from", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "slotValue", "valueType": "Any", "valueDescription": "The value to apply to the slot", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets an array of all scene collections", "requestType": "GetSceneCollectionList", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "currentSceneCollectionName", "valueType": "String", "valueDescription": "The name of the current scene collection" }, { "valueName": "sceneCollections", "valueType": "Array<String>", "valueDescription": "Array of all available scene collections" } ] }, { "description": "Switches to a scene collection.\n\nNote: This will block until the collection has finished changing.", "requestType": "SetCurrentSceneCollection", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "sceneCollectionName", "valueType": "String", "valueDescription": "Name of the scene collection to switch to", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Creates a new scene collection, switching to it in the process.\n\nNote: This will block until the collection has finished changing.", "requestType": "CreateSceneCollection", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "sceneCollectionName", "valueType": "String", "valueDescription": "Name for the new scene collection", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets an array of all profiles", "requestType": "GetProfileList", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "currentProfileName", "valueType": "String", "valueDescription": "The name of the current profile" }, { "valueName": "profiles", "valueType": "Array<String>", "valueDescription": "Array of all available profiles" } ] }, { "description": "Switches to a profile.", "requestType": "SetCurrentProfile", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "profileName", "valueType": "String", "valueDescription": "Name of the profile to switch to", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Creates a new profile, switching to it in the process", "requestType": "CreateProfile", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "profileName", "valueType": "String", "valueDescription": "Name for the new profile", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Removes a profile. If the current profile is chosen, it will change to a different profile first.", "requestType": "RemoveProfile", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "profileName", "valueType": "String", "valueDescription": "Name of the profile to remove", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets a parameter from the current profile's configuration.", "requestType": "GetProfileParameter", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "parameterCategory", "valueType": "String", "valueDescription": "Category of the parameter to get", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "parameterName", "valueType": "String", "valueDescription": "Name of the parameter to get", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "parameterValue", "valueType": "String", "valueDescription": "Value associated with the parameter. `null` if not set and no default" }, { "valueName": "defaultParameterValue", "valueType": "String", "valueDescription": "Default value associated with the parameter. `null` if no default" } ] }, { "description": "Sets the value of a parameter in the current profile's configuration.", "requestType": "SetProfileParameter", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "parameterCategory", "valueType": "String", "valueDescription": "Category of the parameter to set", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "parameterName", "valueType": "String", "valueDescription": "Name of the parameter to set", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "parameterValue", "valueType": "String", "valueDescription": "Value of the parameter to set. Use `null` to delete", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the current video settings.\n\nNote: To get the true FPS value, divide the FPS numerator by the FPS denominator. Example: `60000/1001`", "requestType": "GetVideoSettings", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "fpsNumerator", "valueType": "Number", "valueDescription": "Numerator of the fractional FPS value" }, { "valueName": "fpsDenominator", "valueType": "Number", "valueDescription": "Denominator of the fractional FPS value" }, { "valueName": "baseWidth", "valueType": "Number", "valueDescription": "Width of the base (canvas) resolution in pixels" }, { "valueName": "baseHeight", "valueType": "Number", "valueDescription": "Height of the base (canvas) resolution in pixels" }, { "valueName": "outputWidth", "valueType": "Number", "valueDescription": "Width of the output resolution in pixels" }, { "valueName": "outputHeight", "valueType": "Number", "valueDescription": "Height of the output resolution in pixels" } ] }, { "description": "Sets the current video settings.\n\nNote: Fields must be specified in pairs. For example, you cannot set only `baseWidth` without needing to specify `baseHeight`.", "requestType": "SetVideoSettings", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "fpsNumerator", "valueType": "Number", "valueDescription": "Numerator of the fractional FPS value", "valueRestrictions": ">= 1", "valueOptional": true, "valueOptionalBehavior": "Not changed" }, { "valueName": "fpsDenominator", "valueType": "Number", "valueDescription": "Denominator of the fractional FPS value", "valueRestrictions": ">= 1", "valueOptional": true, "valueOptionalBehavior": "Not changed" }, { "valueName": "baseWidth", "valueType": "Number", "valueDescription": "Width of the base (canvas) resolution in pixels", "valueRestrictions": ">= 1, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Not changed" }, { "valueName": "baseHeight", "valueType": "Number", "valueDescription": "Height of the base (canvas) resolution in pixels", "valueRestrictions": ">= 1, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Not changed" }, { "valueName": "outputWidth", "valueType": "Number", "valueDescription": "Width of the output resolution in pixels", "valueRestrictions": ">= 1, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Not changed" }, { "valueName": "outputHeight", "valueType": "Number", "valueDescription": "Height of the output resolution in pixels", "valueRestrictions": ">= 1, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Not changed" } ], "responseFields": [] }, { "description": "Gets the current stream service settings (stream destination).", "requestType": "GetStreamServiceSettings", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "streamServiceType", "valueType": "String", "valueDescription": "Stream service type, like `rtmp_custom` or `rtmp_common`" }, { "valueName": "streamServiceSettings", "valueType": "Object", "valueDescription": "Stream service settings" } ] }, { "description": "Sets the current stream service settings (stream destination).\n\nNote: Simple RTMP settings can be set with type `rtmp_custom` and the settings fields `server` and `key`.", "requestType": "SetStreamServiceSettings", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "streamServiceType", "valueType": "String", "valueDescription": "Type of stream service to apply. Example: `rtmp_common` or `rtmp_custom`", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "streamServiceSettings", "valueType": "Object", "valueDescription": "Settings to apply to the service", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the current directory that the record output is set to.", "requestType": "GetRecordDirectory", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "recordDirectory", "valueType": "String", "valueDescription": "Output directory" } ] }, { "description": "Sets the current directory that the record output writes files to.", "requestType": "SetRecordDirectory", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.3.0", "category": "config", "requestFields": [ { "valueName": "recordDirectory", "valueType": "String", "valueDescription": "Output directory", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] } ] }