OBS MCP Server

by royshil
Verified
{ "requests": [ { "description": "Gets the active and show state of a source.\n\n**Compatible with inputs and scenes.**", "requestType": "GetSourceActive", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "sources", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source to get the active state of", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Unknown" }, { "valueName": "sourceUuid", "valueType": "String", "valueDescription": "UUID of the source to get the active state of", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Unknown" } ], "responseFields": [ { "valueName": "videoActive", "valueType": "Boolean", "valueDescription": "Whether the source is showing in Program" }, { "valueName": "videoShowing", "valueType": "Boolean", "valueDescription": "Whether the source is showing in the UI (Preview, Projector, Properties)" } ] }, { "description": "Gets a Base64-encoded screenshot of a source.\n\nThe `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.\nIf `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.\n\n**Compatible with inputs and scenes.**", "requestType": "GetSourceScreenshot", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "sources", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source to take a screenshot of", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Unknown" }, { "valueName": "sourceUuid", "valueType": "String", "valueDescription": "UUID of the source to take a screenshot of", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Unknown" }, { "valueName": "imageFormat", "valueType": "String", "valueDescription": "Image compression format to use. Use `GetVersion` to get compatible image formats", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "imageWidth", "valueType": "Number", "valueDescription": "Width to scale the screenshot to", "valueRestrictions": ">= 8, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Source value is used" }, { "valueName": "imageHeight", "valueType": "Number", "valueDescription": "Height to scale the screenshot to", "valueRestrictions": ">= 8, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Source value is used" }, { "valueName": "imageCompressionQuality", "valueType": "Number", "valueDescription": "Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use \"default\" (whatever that means, idk)", "valueRestrictions": ">= -1, <= 100", "valueOptional": true, "valueOptionalBehavior": "-1" } ], "responseFields": [ { "valueName": "imageData", "valueType": "String", "valueDescription": "Base64-encoded screenshot" } ] }, { "description": "Saves a screenshot of a source to the filesystem.\n\nThe `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.\nIf `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.\n\n**Compatible with inputs and scenes.**", "requestType": "SaveSourceScreenshot", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "sources", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source to take a screenshot of", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Unknown" }, { "valueName": "sourceUuid", "valueType": "String", "valueDescription": "UUID of the source to take a screenshot of", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Unknown" }, { "valueName": "imageFormat", "valueType": "String", "valueDescription": "Image compression format to use. Use `GetVersion` to get compatible image formats", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "imageFilePath", "valueType": "String", "valueDescription": "Path to save the screenshot file to. Eg. `C:\\Users\\user\\Desktop\\screenshot.png`", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "imageWidth", "valueType": "Number", "valueDescription": "Width to scale the screenshot to", "valueRestrictions": ">= 8, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Source value is used" }, { "valueName": "imageHeight", "valueType": "Number", "valueDescription": "Height to scale the screenshot to", "valueRestrictions": ">= 8, <= 4096", "valueOptional": true, "valueOptionalBehavior": "Source value is used" }, { "valueName": "imageCompressionQuality", "valueType": "Number", "valueDescription": "Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use \"default\" (whatever that means, idk)", "valueRestrictions": ">= -1, <= 100", "valueOptional": true, "valueOptionalBehavior": "-1" } ], "responseFields": [] } ] }