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": []
}
]
}