MCP Server

Examples

Flujos de agente probados contra el servidor MCP de C21 Live Control.

Esta página recoge ejemplos probados de flujos de agente contra el servidor MCP de C21 Live Control. Los identificadores son placeholders — sustituye con los nombres e ids de los Live streams, Devices, Encoding groups y Destination groups configurados en tu instancia.

Conectar un cliente MCP

Cualquier cliente compatible con MCP se conecta con la cabecera bearer estándar:

Authorization: Bearer <YOUR_API_TOKEN>

El token autentica como el usuario al que se emitió y hereda su rol. El catálogo de tools anunciado al conectar refleja el perfil activo configurado en el servidor (consulta Servidor MCP).

Ejemplo 1: una consulta típica de operador

Prompt del operador:

Lista mis Live streams que están al aire ahora mismo y dime cuáles están degradados.

El agente descompone el prompt en una llamada de lectura:

  1. getLivestreamsStatus({}) — devuelve el estado en runtime de cada Live stream en una llamada. El agente filtra la respuesta del lado cliente por status (el enum entero: 0 parado, 1 arrancando, 2 running, 3 error / fallo).

Prompt de seguimiento:

¿Por qué este Live stream está roto?

El agente llama, en orden:

  1. getLivestreamById({ livestreamId: "<id>" }) — obtiene el Channel, Encoding y Destination enlazados.
  2. getChannelById({ channelId: "<channel-id>" }) — confirma la configuración del Channel.
  3. getDevicesLiveStatus({}) — confirma que el Device encoder está sano y qué Live streams corren en él.

El agente resume el panorama y recomienda una acción (por ejemplo: "el Channel enlazado no recibe frames desde hace 30 segundos; verifica el sender upstream").

Ejemplo 2: programar un Live stream recurrente

Prompt del operador:

Cada día laborable a las 19:55, arranca mi boletín de noticias y avísame si no llega a Live en 30 segundos.

El agente descompone la parte recurrente en un Schedule y la verificación de runtime en un poll periódico:

  1. addSchedule({ name: "news-19h55", livestreamId: "<id>", start: "...", end: "...", recurrence: { type: "workdays" }, enabled: true }) — crea el Schedule recurrente. El Scheduler despacha el Live stream a la hora correcta.
  2. A las 19:55:30, el agente llama a getLivestreamStatus({ livestreamId: "<id>" }) y comprueba status = 2 (running). Si la llamada devuelve status = 0 o status = 3, el agente emite la alerta por el canal de notificación que el operador haya configurado.

Ejemplo 3: aplicar un overlay en runtime

Prompt del operador:

Pon el logo corporativo en el Live stream de noticias ahora mismo.

El agente llama:

  1. listAssets({ fileType: "logos" }) — descubre los assets de logo disponibles.
  2. runtimeApplyLogo({ livestreamId: "<id>", logo: { filename: "<asset-filename>", position: <position> } }) — aplica el logo al broadcast en marcha. El cambio surte efecto en el siguiente keyframe del encoder; el Live stream no se detiene.

Para limpiar el logo, el agente envía runtimeApplyLogo con filename vacío.

Recordatorio de seguridad

El perfil MCP activo controla qué tools ve el cliente conectado (consulta Servidor MCP). El rol del usuario (System Administrator u Operator) controla qué operaciones la API subyacente permite. Ambos checks aplican a cada llamada.

Cuando evalúes un agente desconocido contra un deploy de producción, arráncalo contra el perfil readonly y promociónalo a operator o full solo después de revisar su comportamiento.

FAQ

Copyright © 2026