OBS MCP Server
by royshil
Verified
{
"requests": [
{
"description": "Gets an array of all scenes in OBS.",
"requestType": "GetSceneList",
"complexity": 2,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [],
"responseFields": [
{
"valueName": "currentProgramSceneName",
"valueType": "String",
"valueDescription": "Current program scene name. Can be `null` if internal state desync"
},
{
"valueName": "currentProgramSceneUuid",
"valueType": "String",
"valueDescription": "Current program scene UUID. Can be `null` if internal state desync"
},
{
"valueName": "currentPreviewSceneName",
"valueType": "String",
"valueDescription": "Current preview scene name. `null` if not in studio mode"
},
{
"valueName": "currentPreviewSceneUuid",
"valueType": "String",
"valueDescription": "Current preview scene UUID. `null` if not in studio mode"
},
{
"valueName": "scenes",
"valueType": "Array<Object>",
"valueDescription": "Array of scenes"
}
]
},
{
"description": "Gets an array of all groups in OBS.\n\nGroups in OBS are actually scenes, but renamed and modified. In obs-websocket, we treat them as scenes where we can.",
"requestType": "GetGroupList",
"complexity": 2,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [],
"responseFields": [
{
"valueName": "groups",
"valueType": "Array<String>",
"valueDescription": "Array of group names"
}
]
},
{
"description": "Gets the current program scene.\n\nNote: This request is slated to have the `currentProgram`-prefixed fields removed from in an upcoming RPC version.",
"requestType": "GetCurrentProgramScene",
"complexity": 1,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [],
"responseFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Current program scene name"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "Current program scene UUID"
},
{
"valueName": "currentProgramSceneName",
"valueType": "String",
"valueDescription": "Current program scene name (Deprecated)"
},
{
"valueName": "currentProgramSceneUuid",
"valueType": "String",
"valueDescription": "Current program scene UUID (Deprecated)"
}
]
},
{
"description": "Sets the current program scene.",
"requestType": "SetCurrentProgramScene",
"complexity": 1,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Scene name to set as the current program scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "Scene UUID to set as the current program scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
}
],
"responseFields": []
},
{
"description": "Gets the current preview scene.\n\nOnly available when studio mode is enabled.\n\nNote: This request is slated to have the `currentPreview`-prefixed fields removed from in an upcoming RPC version.",
"requestType": "GetCurrentPreviewScene",
"complexity": 1,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [],
"responseFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Current preview scene name"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "Current preview scene UUID"
},
{
"valueName": "currentPreviewSceneName",
"valueType": "String",
"valueDescription": "Current preview scene name"
},
{
"valueName": "currentPreviewSceneUuid",
"valueType": "String",
"valueDescription": "Current preview scene UUID"
}
]
},
{
"description": "Sets the current preview scene.\n\nOnly available when studio mode is enabled.",
"requestType": "SetCurrentPreviewScene",
"complexity": 1,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Scene name to set as the current preview scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "Scene UUID to set as the current preview scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
}
],
"responseFields": []
},
{
"description": "Creates a new scene in OBS.",
"requestType": "CreateScene",
"complexity": 2,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Name for the new scene",
"valueRestrictions": null,
"valueOptional": false,
"valueOptionalBehavior": null
}
],
"responseFields": [
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "UUID of the created scene"
}
]
},
{
"description": "Removes a scene from OBS.",
"requestType": "RemoveScene",
"complexity": 2,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Name of the scene to remove",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "UUID of the scene to remove",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
}
],
"responseFields": []
},
{
"description": "Sets the name of a scene (rename).",
"requestType": "SetSceneName",
"complexity": 2,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Name of the scene to be renamed",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "UUID of the scene to be renamed",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "newSceneName",
"valueType": "String",
"valueDescription": "New name for the scene",
"valueRestrictions": null,
"valueOptional": false,
"valueOptionalBehavior": null
}
],
"responseFields": []
},
{
"description": "Gets the scene transition overridden for a scene.\n\nNote: A transition UUID response field is not currently able to be implemented as of 2024-1-18.",
"requestType": "GetSceneSceneTransitionOverride",
"complexity": 2,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Name of the scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "UUID of the scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
}
],
"responseFields": [
{
"valueName": "transitionName",
"valueType": "String",
"valueDescription": "Name of the overridden scene transition, else `null`"
},
{
"valueName": "transitionDuration",
"valueType": "Number",
"valueDescription": "Duration of the overridden scene transition, else `null`"
}
]
},
{
"description": "Sets the scene transition overridden for a scene.",
"requestType": "SetSceneSceneTransitionOverride",
"complexity": 2,
"rpcVersion": "1",
"deprecated": false,
"initialVersion": "5.0.0",
"category": "scenes",
"requestFields": [
{
"valueName": "sceneName",
"valueType": "String",
"valueDescription": "Name of the scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "sceneUuid",
"valueType": "String",
"valueDescription": "UUID of the scene",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unknown"
},
{
"valueName": "transitionName",
"valueType": "String",
"valueDescription": "Name of the scene transition to use as override. Specify `null` to remove",
"valueRestrictions": null,
"valueOptional": true,
"valueOptionalBehavior": "Unchanged"
},
{
"valueName": "transitionDuration",
"valueType": "Number",
"valueDescription": "Duration to use for any overridden transition. Specify `null` to remove",
"valueRestrictions": ">= 50, <= 20000",
"valueOptional": true,
"valueOptionalBehavior": "Unchanged"
}
],
"responseFields": []
}
]
}