MCP Server

Tools

Catálogo de tools MCP que anuncia el servidor C21 Live Control.

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 operationId literal de OpenAPI (camelCase). El subconjunto invocable 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.

Descubrimiento de tools — search_tools y call_tool

El catálogo CRUD generado es grande, y anunciar cada schema en cada turno infla el contexto del agente. Por eso el servidor pliega las tools generadas de un perfil tras dos meta-tools:

  • search_tools — busca por palabra clave en el catálogo generado del perfil; devuelve las tools coincidentes con su schema completo.
  • call_tool — invoca una tool generada por su nombre de operationId con argumentos estructurados.

tools/list anuncia las business-workflow tools más estas dos meta-tools; los wrappers generados siguen siendo descubribles mediante search_tools e invocables mediante call_tool. Un cliente que ya conoce el operationId que necesita puede pasarlo a call_tool directamente, sin buscar antes.

Business-workflow tools (snake_case)

Ocho tools, siempre expuestas, nombradas en lenguaje de operador en lugar de en verbos de API:

ToolWorkflow
start_livestreamArranca un Live stream de extremo a extremo.
stop_livestreamDetiene un Live stream de extremo a extremo.
toggle_destinationAlterna el camino primary / backup de un Destination enlazado en un Live stream en emisión.
update_destination_stream_keyRota la stream key de un Destination enlazado — pausa y reanuda el Destination automáticamente si la emisión está en marcha.
channel_slot_usageVista de capacidad — ocupación de slots de entrada por Device encoder.
get_start_targetsRecomienda dónde arrancar un Live stream (grupo de encoders on-prem o C21 Live Cloud) según la capacidad real de cada grupo de encoders y la disponibilidad de sus dispositivos.
schedule_livestreamCrea un Schedule completamente determinado para un Live stream.
get_livestream_statusDevuelve un objeto de estado runtime coherente de un Live stream.

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:

ToolOperación subyacente
getAllLivestreamsGET /c21apiv2/livestreams
getLivestreamByIdGET /c21apiv2/livestreams/{livestreamId}
startLivestreamPOST /c21apiv2/livestreams/{livestreamId}/start
stopLivestreamPOST /c21apiv2/livestreams/{livestreamId}/stop
runtimeApplyLogoPOST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/logo
runtimeApplyBlackoutPOST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/blackout
runtimeTogglePublishingsPOST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/publishings
getAllChannelsGET /c21apiv2/channels
getAllPublishingsGET /c21apiv2/publishings
getAllSchedulesGET /c21apiv2/schedules
getRecordingsGET /c21apiv2/recordings
getDevicesLiveStatusGET /c21apiv2/devices/livestatus
listAssetsGET /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

ToolPropósito
getAllLivestreamsLista Live streams. Los parámetros opcionales includeDestinations / includeChannel incorporan en la misma respuesta los Destinations configurados y el Channel de origen de cada stream.
getLivestreamByIdObtiene un Live stream por id.
getLivestreamStatusObtiene el estado en runtime de un Live stream.
getLivestreamsStatusObtiene el estado en runtime de cada Live stream en una sola llamada.
getLivestreamStartConfigObtiene las precondiciones de arranque (idEncoderGroup, último startConfig[], startAllowed).
getLivestreamEnrichedObtiene un Live stream con referencias enriquecidas resueltas.
addLivestreamCrea un Live stream.
updateLivestreamActualiza un Live stream.
deleteLivestreamBorra un Live stream.
startLivestreamArranca un Live stream.
stopLivestreamDetiene un Live stream.
runtimeApplyLogoAplica o limpia el logo en un Live stream en marcha.
runtimeApplyBlackoutAplica o limpia el blackout / reemplazo por fichero en un Live stream en marcha.
runtimeApplySourceSwitchCambia la fuente de un Live stream en marcha.
runtimeTogglePublishingsAlterna el estado primary / backup de los Destinations enlazados en un Live stream en marcha.
runtimePushMetadataEnvía metadatos a un Live stream en marcha.
runtimeSetAdValuesEstablece marcadores ad-value en un Live stream en marcha.
setLivestreamTextEstablece el texto de overlay en un Live stream.
updateLivestreamOptionsActualiza opciones de runtime del Live stream.

Channels (Sources)

ToolPropósito
getAllChannelsLista Channels.
getChannelByIdObtiene un Channel.
addChannelCrea un Channel.
updateChannelActualiza un Channel.
deleteChannelBorra un Channel.

Destinations

ToolPropósito
getAllPublishingsLista Destinations.
getPublishingByIdObtiene un Destination.
addPublishingCrea un Destination.
updatePublishingActualiza un Destination.
deletePublishingBorra un Destination.
getAllPublishingGroupsLista Destination groups.
addPublishingGroupCrea un Destination group.
updatePublishingGroupActualiza un Destination group.
deletePublishingGroupBorra un Destination group.

Encodings

ToolPropósito
getAllEncodingsLista Encodings.
getEncodingByIdObtiene un Encoding.
addEncodingCrea un Encoding.
updateEncodingActualiza un Encoding.
deleteEncodingBorra un Encoding.
getAllEncodingGroupsLista Encoding groups.
addEncodingGroupCrea un Encoding group.
updateEncodingGroupActualiza un Encoding group.
deleteEncodingGroupBorra un Encoding group.

Schedules

ToolPropósito
getAllSchedulesLista Schedules.
getScheduleByIdObtiene un Schedule.
addScheduleCrea un Schedule.
updateScheduleActualiza un Schedule — incluida la pausa / reanudación mediante el campo enabled.
deleteScheduleBorra un Schedule.
getScheduleOccurrencesExpande un Schedule en ocurrencias sobre una ventana de fechas.
skipOccurrenceCancela una ocurrencia concreta de un Schedule recurrente.
restoreSkipRestaura una ocurrencia omitida que aún no ha llegado.
listScheduleSkipsLista las ocurrencias omitidas de un Schedule.
patchScheduleUntilTermina la serie de un Schedule recurrente a partir de una fecha.

Los endpoints dedicados de enable / disable se retiraron: pausar y reanudar un Schedule es updateSchedule con { "enabled": … }.

Planned actions

ToolPropósito
getLivestreamActionsLista las acciones planificadas de un Live stream.
addLivestreamActionCrea una acción planificada sobre un Live stream.
getAllPlannedActionsLista acciones planificadas de todos los Live streams, filtrable por ventana temporal y estado.
getPlannedActionObtiene una acción planificada.
updatePlannedActionActualiza o replanifica una acción planificada pendiente.
deletePlannedActionBorra una acción planificada.
enablePlannedActionRearma una acción pendiente deshabilitada.
disablePlannedActionPausa una acción pendiente sin borrarla.

Consulta Planned actions para el modelo de operador, el catálogo de comandos y las reglas de ciclo de vida.

Recordings

ToolPropósito
getRecordingsLista grabaciones.
getRecordingObtiene una grabación.
getRecordingTracksLista las pistas capturadas de una grabación.
deleteRecordingBorra una grabación.

Devices

ToolPropósito
getAllDevicesLista Devices.
getDeviceByIdObtiene un Device.
addDeviceRegistra un Device (registro one-time con register_username / register_password).
updateDeviceActualiza un Device.
deleteDeviceBorra un Device.
getDevicesStatusObtiene el estado resumen entre Devices.
getDevicesLiveStatusObtiene el estado en vivo de los Live streams corriendo en los Devices.
getAllDeviceGroupsLista Device groups.
createDeviceGroupCrea un Device group.
updateDeviceGroupActualiza un Device group.
deleteDeviceGroupBorra un Device group.

Assets

ToolPropósito
listAssetsLista Assets, filtrable por fileType (logos, files, clips).
uploadAssetSube un Asset al bucket indicado.
readAssetObtiene un Asset por filename.
deleteAssetBorra un Asset por filename.

DRM

ToolPropósito
getAllDrmProvidersLista DRM providers.
getDrmProviderByIdObtiene un DRM provider.
addDrmProviderRegistra un DRM provider.
updateDrmProviderActualiza un DRM provider.
deleteDrmProviderBorra un DRM provider.
validateDrmProviderValida las credenciales de un DRM provider.

C21 Live Cloud

ToolPropósito
getAllC21LiveCloudAccountsLista cuentas C21 Live Cloud.
getC21LiveCloudAccountByIdObtiene una cuenta C21 Live Cloud.
addC21LiveCloudAccountRegistra una cuenta C21 Live Cloud.
updateC21LiveCloudAccountActualiza una cuenta C21 Live Cloud.
deleteC21LiveCloudAccountBorra una cuenta C21 Live Cloud.
validateC21LiveCloudAccountRevalida una cuenta C21 Live Cloud contra la plataforma upstream.

MediaCopilot

ToolPropósito
getMediaCopilotAccountLee la cuenta MediaCopilot enlazada actualmente a esta instancia de C21 Live Control.
getMediaCopilotConfigLee la configuración de la integración MediaCopilot (URL del tenant, colección por defecto, template por defecto).
updateMediaCopilotConfigEscribe la configuración de la integración MediaCopilot. Solo System Administrator.
getMediaCopilotCollectionsLista las colecciones que expone el tenant MediaCopilot enlazado. Usado por el selector de colección del formulario.
getMediaCopilotTemplatesLista las plantillas de procesado que expone el tenant MediaCopilot enlazado.
getMediaCopilotAssetStatusLee 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

ToolPropósito
createApiTokenCrea un API token (solo System Administrator).
listApiTokensLista API tokens.
revokeApiTokenRevoca 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_events hoy. Para observar cambios de estado, sondea el endpoint getLivestreamStatus o getDevicesLiveStatus correspondiente.
  • Gestión de webhooks. El producto no expone una superficie de suscripción a webhooks.
Copyright © 2026