Airi

MCP

Conecta tu asistente de IA a tu cuenta: sube un vídeo, codifícalo, cífralo y publica un reproductor sin salir de la conversación. Un comando para instalarlo, y nada que mantener.

Qué es #

MCP es el protocolo con el que un asistente de IA usa herramientas externas. @airi.live/mcp es nuestro servidor: expone tu cuenta como 32 herramientas que Claude, Cursor o cualquier cliente compatible puede llamar — subir un fichero, presupuestar una codificación, lanzarla, esperar a que termine, crear un reproductor y devolverte el embed.

Corre en tu máquina, no en la nuestra. Tu credencial no sale de ahí, y los bytes de una subida van del disco al bucket directamente, sin pasar por nuestro servidor ni por el asistente.

No es un producto aparte

Son las mismas rutas que usa este panel y las mismas que usarías con curl. Lo que añade es la forma: descripciones que un modelo entiende, y tres herramientas que hacen varias llamadas seguidas porque encadenarlas a mano es donde se rompen las cosas.

Instalarlo #

Primero saca una credencial en Desarrolladores, marcando los permisos que quieras darle al asistente. Después, un comando:

Claude Code
claude mcp add airi --env AIRI_KMS_TOKEN=kms_live_... -- npx -y @airi.live/mcp

Para Claude Desktop, Cursor, Windsurf y cualquier cliente que se configure con JSON:

ejemplo
{
  "mcpServers": {
    "airi": {
      "command": "npx",
      "args": ["-y", "@airi.live/mcp"],
      "env": { "AIRI_KMS_TOKEN": "kms_live_..." }
    }
  }
}

Necesitas Node 20 o superior. No hay nada que instalar: npx lo descarga la primera vez y lo actualiza solo.

OpciónVariablePor defecto
--tokenAIRI_KMS_TOKEN— (obligatorio)
--namespaceAIRI_KMS_NAMESPACEel de tu credencial
--urlAIRI_KMS_URLhttps://kms.airi.live
--allow-adminAIRI_MCP_ALLOW_ADMIN=truedesactivado
--timeoutAIRI_KMS_TIMEOUT_MS60000

Las dos formas funcionan y la opción gana sobre la variable, pero el token va mejor en el bloque env: un argumento aparece en la lista de procesos de tu máquina y una variable de entorno no. npx @airi.live/mcp --help lo lista todo.

Usarlo #

A partir de ahí le hablas en tu idioma. Por ejemplo: *«sube ~/Vídeos/keynote.mp4, codifícalo a 1080p y 720p con DRM, y dame un embed para pegar en la web»*.

Lo que ejecuta por debajo
airi_storage_upload   path=~/Vídeos/keynote.mp4id del fichero
airi_encoding_quote   heights=[1080,720] duration=600 → $0.16
airi_encoding_start   package=hls+dash drm=trueid del trabajo
airi_encoding_job     wait=truecompletado
airi_player_create    name="Web"id del player
airi_player_embed     file=<id>                       → URL firmada + <iframe>
GrupoHerramientas
Almacenamientosubir, listar, ver, firmar URL, borrar, uso
Codificaciónpresupuestar, calidades, lanzar, consultar, listar, cancelar, empaquetar
Reproductorescrear, listar, actualizar, borrar, embed
Claves DRMcrear, obtener, listar, rotar, periodos
Políticasdefinir, listar, resolver, borrar
Consumosaldo, licencias, estadísticas
Lo demásdescubrir endpoints, llamar a la API

Tres hacen más de una llamada, porque la API está pensada para navegadores y un asistente no lo es. airi_storage_upload recibe una ruta y devuelve el fichero ya sellado — declaración, subida multiparte, recogida de ETags y cierre, todo dentro. airi_encoding_job con wait espera a que el trabajo termine, así que codificar es un paso y no un bucle de consultas. Y airi_player_embed devuelve el <iframe> listo junto al reproductor resuelto.

Las dos últimas son una salida de emergencia: leen la referencia de la API en vivo y ejecutan lo que encuentren. Un endpoint nuevo está disponible el día que se publica, sin esperar a que actualicemos el paquete.

Qué no puede hacer #

Le estás dando acceso a tu cuenta a un modelo de lenguaje. Hay dos cosas que el servidor se niega a hacer aunque se lo pidas, y conviene que las sepas antes de instalarlo.

Todo lo demás sí es alcanzable, porque es el trabajo. Borrar y codificar llevan la marca destructiveHint del protocolo, así que tu cliente puede pedirte confirmación antes de ejecutarlas, y las descripciones dicen sin rodeos qué no tiene vuelta atrás: un contentId es permanente en el proveedor de DRM, un fichero borrado no se recupera, y cancelar una codificación detiene el cobro pero no al codificador.

Dale sólo lo que necesita #

El límite real es la credencial: el servidor no puede conceder lo que tu token no tiene. Crea una para el asistente, en vez de reutilizar la tuya, marcando sólo los permisos del trabajo que le vas a pedir.

PermisoQué habilita
Almacenamientosubir, listar, firmar y borrar ficheros
Codificaciónpresupuestar, lanzar y cancelar trabajos
Reproductorescrear y editar reproductores y sus embeds
Claves y políticasDRM, políticas de licencia, saldo y consumo

Un asistente de sólo lectura es una credencial marcada sin escritura: podrá mirarlo todo y no cambiar nada. Y revocarla desde Desarrolladores la corta en la siguiente llamada, no dentro de un minuto.

El gasto sigue siendo tuyo

Codificar y crear claves cuestan dinero, y el asistente los ejecuta con tu saldo. Codificar reserva el importe antes de arrancar, así que una petición desmedida se para contra tu saldo y no contra tu tarjeta. Aun así, dale permiso de codificación sólo si esperas que codifique.

Si algo no va #

Lo que vesQué pasa
UNAUTHORIZEDEl token está mal o fue revocado. Saca otro en Desarrolladores
FORBIDDENA la credencial le falta ese permiso. Créala de nuevo marcando el que corresponda
INSUFFICIENT_FUNDSSin saldo. Leer sigue funcionando; subir, codificar y crear claves no
«needs a concrete namespace»Tu token no está fijado a un espacio: añade --namespace
El servidor no arrancanpx @airi.live/mcp --help desde una terminal te dice qué falta

Los errores llegan al asistente con su código y una pista de qué hacer, así que en general se corrige solo y te lo cuenta. Si no, los registros del cliente MCP llevan lo que el servidor escribió.