Tools
El servidor MCP de C21 Live Control expone dos capas de tools:
- Business-workflow tools — un pequeño conjunto curado en
snake_case. Cada una envuelve un flujo completo cara al operador (no un verbo REST individual) y el servidor las anuncia siempre, independientemente del perfil. - Wrappers CRUD — autogenerados, uno por operación pública de la REST. Sus nombres son el
operationIdliteral de OpenAPI (camelCase). El subconjunto anunciado al conectar depende del perfil activo (voice/readonly/operator/full— ver Servidor MCP).
Una business-workflow tool puede invocar internamente una o varias operaciones REST; el cliente solo ve el nombre curado. Las dos capas conviven en la misma conexión — un cliente voice ve ambas.
Business-workflow tools (snake_case)
Cuatro tools, siempre expuestas, nombradas en lenguaje de operador en lugar de en verbos de API:
| Tool | Workflow |
|---|---|
start_livestream | Arranca un Live stream de extremo a extremo. |
stop_livestream | Detiene un Live stream de extremo a extremo. |
toggle_destination | Alterna el camino primary / backup de un Destination enlazado en un Live stream en emisión. |
update_destination_stream_key | Rota la stream key de un Destination enlazado. |
Son la superficie cara al operador sobre la que está montado el perfil voice. Se anuncian en cada perfil, incluido readonly (el perfil readonly bloquea las operaciones REST mutantes, pero los workflows curados siguen visibles — se espera que los clientes en contexto de observación no invoquen los que mutan).
Wrappers CRUD (operationId camelCase)
El resto del catálogo se genera desde el spec OpenAPI — una tool por operación, con el operationId como nombre literal. Ejemplos:
| Tool | Operación subyacente |
|---|---|
getAllLivestreams | GET /c21apiv2/livestreams |
getLivestreamById | GET /c21apiv2/livestreams/{livestreamId} |
startLivestream | POST /c21apiv2/livestreams/{livestreamId}/start |
stopLivestream | POST /c21apiv2/livestreams/{livestreamId}/stop |
runtimeApplyLogo | POST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/logo |
runtimeApplyBlackout | POST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/blackout |
runtimeTogglePublishings | POST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/publishings |
getAllChannels | GET /c21apiv2/channels |
getAllPublishings | GET /c21apiv2/publishings |
getAllSchedules | GET /c21apiv2/schedules |
getRecordings | GET /c21apiv2/recordings |
getDevicesLiveStatus | GET /c21apiv2/devices/livestatus |
listAssets | GET /c21apiv2/assets |
Los wrappers CRUD conservan el identificador de API Publishing (en lugar de la etiqueta Destination cara al operador) por la misma razón que la superficie REST: son cadenas literales del operationId — reflejan el schema OpenAPI. La business-workflow toggle es toggle_destination; el wrapper CRUD autogenerado sobre la misma llamada de backend es runtimeTogglePublishings. Ambas llegan a la misma operación.
La fuente de verdad efectiva es el catálogo de tools que el servidor anuncia al conectar — refleja el perfil activo. Para una referencia exhaustiva por operación, consulta el spec OpenAPI.
Tools por recurso
Cada tabla lista las operaciones disponibles contra un recurso. El conjunto de tools que un cliente MCP puede llamar realmente es la intersección de estas operaciones con el perfil activo (y el rol del usuario).
Live streams
| Tool | Propósito |
|---|---|
getAllLivestreams | Lista Live streams. |
getLivestreamById | Obtiene un Live stream por id. |
getLivestreamStatus | Obtiene el estado en runtime de un Live stream. |
getLivestreamsStatus | Obtiene el estado en runtime de cada Live stream en una sola llamada. |
getLivestreamStartConfig | Obtiene las precondiciones de arranque (idEncoderGroup, último startConfig[], startAllowed). |
getLivestreamEnriched | Obtiene un Live stream con referencias enriquecidas resueltas. |
addLivestream | Crea un Live stream. |
updateLivestream | Actualiza un Live stream. |
deleteLivestream | Borra un Live stream. |
startLivestream | Arranca un Live stream. |
stopLivestream | Detiene un Live stream. |
runtimeApplyLogo | Aplica o limpia el logo en un Live stream en marcha. |
runtimeApplyBlackout | Aplica o limpia el blackout / reemplazo por fichero en un Live stream en marcha. |
runtimeApplySourceSwitch | Cambia la fuente de un Live stream en marcha. |
runtimeTogglePublishings | Alterna el estado primary / backup de los Destinations enlazados en un Live stream en marcha. |
runtimePushMetadata | Envía metadatos a un Live stream en marcha. |
runtimeSetAdValues | Establece marcadores ad-value en un Live stream en marcha. |
setLivestreamText | Establece el texto de overlay en un Live stream. |
updateLivestreamOptions | Actualiza opciones de runtime del Live stream. |
Channels (Sources)
| Tool | Propósito |
|---|---|
getAllChannels | Lista Channels. |
getChannelById | Obtiene un Channel. |
addChannel | Crea un Channel. |
updateChannel | Actualiza un Channel. |
deleteChannel | Borra un Channel. |
Destinations
| Tool | Propósito |
|---|---|
getAllPublishings | Lista Destinations. |
getPublishingById | Obtiene un Destination. |
addPublishing | Crea un Destination. |
updatePublishing | Actualiza un Destination. |
deletePublishing | Borra un Destination. |
getAllPublishingGroups | Lista Destination groups. |
addPublishingGroup | Crea un Destination group. |
updatePublishingGroup | Actualiza un Destination group. |
deletePublishingGroup | Borra un Destination group. |
Encodings
| Tool | Propósito |
|---|---|
getAllEncodings | Lista Encodings. |
getEncodingById | Obtiene un Encoding. |
addEncoding | Crea un Encoding. |
updateEncoding | Actualiza un Encoding. |
deleteEncoding | Borra un Encoding. |
getAllEncodingGroups | Lista Encoding groups. |
addEncodingGroup | Crea un Encoding group. |
updateEncodingGroup | Actualiza un Encoding group. |
deleteEncodingGroup | Borra un Encoding group. |
Schedules
| Tool | Propósito |
|---|---|
getAllSchedules | Lista Schedules. |
getScheduleById | Obtiene un Schedule. |
addSchedule | Crea un Schedule. |
updateSchedule | Actualiza un Schedule. |
deleteSchedule | Borra un Schedule. |
enableSchedule | Activa un Schedule. |
disableSchedule | Desactiva un Schedule. |
getScheduleOccurrences | Expande un Schedule en ocurrencias sobre una ventana de fechas. |
Recordings
| Tool | Propósito |
|---|---|
getRecordings | Lista grabaciones. |
getRecording | Obtiene una grabación. |
getRecordingTracks | Lista las pistas capturadas de una grabación. |
deleteRecording | Borra una grabación. |
Devices
| Tool | Propósito |
|---|---|
getAllDevices | Lista Devices. |
getDeviceById | Obtiene un Device. |
addDevice | Registra un Device (registro one-time con register_username / register_password). |
updateDevice | Actualiza un Device. |
deleteDevice | Borra un Device. |
getDevicesStatus | Obtiene el estado resumen entre Devices. |
getDevicesLiveStatus | Obtiene el estado en vivo de los Live streams corriendo en los Devices. |
getAllDeviceGroups | Lista Device groups. |
createDeviceGroup | Crea un Device group. |
updateDeviceGroup | Actualiza un Device group. |
deleteDeviceGroup | Borra un Device group. |
Assets
| Tool | Propósito |
|---|---|
listAssets | Lista Assets, filtrable por fileType (logos, files, clips). |
uploadAsset | Sube un Asset al bucket indicado. |
readAsset | Obtiene un Asset por filename. |
deleteAsset | Borra un Asset por filename. |
DRM
| Tool | Propósito |
|---|---|
getAllDrmProviders | Lista DRM providers. |
getDrmProviderById | Obtiene un DRM provider. |
addDrmProvider | Registra un DRM provider. |
updateDrmProvider | Actualiza un DRM provider. |
deleteDrmProvider | Borra un DRM provider. |
validateDrmProvider | Valida las credenciales de un DRM provider. |
C21 Live Cloud
| Tool | Propósito |
|---|---|
getAllC21LiveCloudAccounts | Lista cuentas C21 Live Cloud. |
getC21LiveCloudAccountById | Obtiene una cuenta C21 Live Cloud. |
addC21LiveCloudAccount | Registra una cuenta C21 Live Cloud. |
updateC21LiveCloudAccount | Actualiza una cuenta C21 Live Cloud. |
deleteC21LiveCloudAccount | Borra una cuenta C21 Live Cloud. |
validateC21LiveCloudAccount | Revalida una cuenta C21 Live Cloud contra la plataforma upstream. |
MediaCopilot
| Tool | Propósito |
|---|---|
getMediaCopilotAccount | Lee la cuenta MediaCopilot enlazada actualmente a esta instancia de C21 Live Control. |
getMediaCopilotConfig | Lee la configuración de la integración MediaCopilot (URL del tenant, colección por defecto, template por defecto). |
updateMediaCopilotConfig | Escribe la configuración de la integración MediaCopilot. Solo System Administrator. |
getMediaCopilotCollections | Lista las colecciones que expone el tenant MediaCopilot enlazado. Usado por el selector de colección del formulario. |
getMediaCopilotTemplates | Lista las plantillas de procesado que expone el tenant MediaCopilot enlazado. |
getMediaCopilotAssetStatus | Lee el estado de procesado de un Asset entregado previamente a MediaCopilot, por id de Asset. |
La integración MediaCopilot requiere una cuenta MediaCopilot contratada vía Cires21 más la licencia C21LiveEditor en la instancia de Live Control — consulta MediaCopilot para el modelo de integración.
Security
| Tool | Propósito |
|---|---|
createApiToken | Crea un API token (solo System Administrator). |
listApiTokens | Lista API tokens. |
revokeApiToken | Revoca un API token. |
Convenciones de shape de retorno
Las operaciones de lista devuelven el envelope estándar {rows, pagination}. Las operaciones de un único recurso devuelven el recurso directamente bajo data. Los errores siguen el envelope estándar documentado en Paginación y errores.
Lo que MCP no expone
- Suscripciones a eventos. No hay una tool de streaming tipo
subscribe_eventshoy. Para observar cambios de estado, sondea el endpointgetLivestreamStatusogetDevicesLiveStatuscorrespondiente. - Gestión de webhooks. El producto no expone una superficie de suscripción a webhooks.