Conectar tu agente por MCP
Claude Code, Codex, Cursor y apps de chat como claude.ai pueden usar Staglight como herramientas: estimar el precio, generar, consultar y descargar, con el mismo saldo que el estudio.
Apps de chat en menos de un minuto
claude.ai, Claude Desktop y otras apps de chat con conectores personalizados inician sesión con tu cuenta de Staglight (OAuth 2.1), así que nadie tiene que pegar una clave. Apruebas cada app una vez y le das un tope de gasto.
Claude
- Haz clic en el botón de arriba o, en Claude, abre Personalizar > Conectores > Añadir conector personalizado con el nombre Staglight y la URL
https://staglight.ai/mcp. - Haz clic en Continuar, deja Iniciar sesión ahora y haz clic en Añadir; luego entra con tu cuenta de Staglight, elige qué puede hacer y su tope de gasto, y haz clic en Permitir. Con el plan gratuito puedes añadir un conector personalizado; en Team y Enterprise lo añade primero un propietario y tú haces clic en Conectar.
- En un chat, abre + > Conectores y activa Staglight. Adjunta una foto del producto y pide: hazme un anuncio para este producto.
ChatGPT
- En ChatGPT en la web, abre Ajustes > Plugins y haz clic en + > Añadir servidor MCP personalizado. Hace falta un espacio Business, Enterprise o Edu que lo permita; en Pro solo puede leer.
- Llámalo Staglight, pega la URL
https://staglight.ai/mcp, elige OAuth, marca la casilla para continuar y haz clic en Crear como plugin. - Inicia sesión con tu cuenta de Staglight y haz clic en Permitir.
- En un chat nuevo, escribe @, elige Staglight y pide tu anuncio.
Cada conexión aparece en Ajustes > Conexiones con su tope de gasto (en 24 horas); Desconectar le quita el acceso al instante. Las herramientas que gastan, suben o cambian algo necesitan el permiso Crear anuncios y gastar créditos; una conexión de solo lectura puede ver pero no gastar.
Servidor
Crea una clave con límite diario en el estudio y guárdala como STAGLIGHT_API_KEY.
export STAGLIGHT_API_KEY="sl_live_..."
Claude Code
Un solo comando para todos los proyectos de este equipo. La terminal inserta la clave y Claude Code la guarda en ~/.claude.json.
claude mcp add --transport http staglight https://staglight.ai/mcp \
--header "Authorization: Bearer $STAGLIGHT_API_KEY" --scope user
¿Prefieres iniciar sesión en vez de usar una clave? Ejecuta el comando sin la parte --header, escribe /mcp en Claude Code y elige staglight para iniciar sesión con tu cuenta de Staglight.
Comprueba que se conectó:
claude mcp get staglight
Para compartirlo con un equipo en el repositorio, añade .mcp.json. Cada persona guarda la clave en su propia STAGLIGHT_API_KEY.
{
"mcpServers": {
"staglight": {
"type": "http",
"url": "https://staglight.ai/mcp",
"headers": {
"Authorization": "Bearer ${STAGLIGHT_API_KEY}"
},
"timeout": 600000
}
}
}
Llama a la variable STAGLIGHT_API_KEY. Claude Code deja vacías en los encabezados remotos algunas variables de credenciales con nombres reservados, así que usa esta.
Codex
codex mcp add staglight --url https://staglight.ai/mcp --bearer-token-env-var STAGLIGHT_API_KEY
O escríbelo a mano en la configuración de Codex:
[mcp_servers.staglight]
url = "https://staglight.ai/mcp"
bearer_token_env_var = "STAGLIGHT_API_KEY"
startup_timeout_sec = 20
tool_timeout_sec = 120
Codex corta una llamada a una herramienta a los 60 s por defecto. Todas las herramientas responden en menos de 50 s, y get_job espera 50 s como máximo.
Cursor
En ~/.cursor/mcp.json para todos los proyectos, o en .cursor/mcp.json para uno:
{
"mcpServers": {
"staglight": {
"url": "https://staglight.ai/mcp",
"headers": {
"Authorization": "Bearer ${env:STAGLIGHT_API_KEY}"
}
}
}
}
Claude Desktop y claude.ai
claude.ai y Claude Desktop se conectan iniciando sesión con tu cuenta de Staglight: consulta Apps de chat.
Si prefieres usar ahí una clave de API, usa como puente en tu equipo el paquete de la comunidad mcp-remote en claude_desktop_config.json:
{
"mcpServers": {
"staglight": {
"command": "npx",
"args": [
"mcp-remote",
"https://staglight.ai/mcp",
"--header",
"Authorization:${AUTH_HEADER}",
"--transport",
"http-only"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_..."
}
}
}
}
mcp-remote es un paquete de terceros que se ejecuta en tu equipo con tu clave. Revísalo antes de usarlo.
Herramientas
Las herramientas de pago aceptan max_credits e idempotency_key. Cada resultado trae un texto breve, los datos en JSON y, para archivos terminados, enlaces de descarga.
| Herramienta | Qué hace | Precio |
|---|---|---|
| get_balance | Saldo, límite diario de la clave y lo que queda hoy. | Gratis |
| buy_credits_link | Enlace para comprar créditos en el estudio. | Gratis |
| list_models | Modelos y herramientas con sus campos y precio inicial. | Gratis |
| estimate_cost | Precio exacto de una llamada antes de hacerla. | Gratis |
| upload_from_url | Importa un archivo desde un enlace directo y devuelve su id. | Gratis |
| upload_file | Guarda una foto o un clip corto que adjuntas en el chat (base64, hasta 12 MB) y devuelve su id. | Gratis |
| upload_image | Lo mismo que upload_file. | Gratis |
| list_media | Subidas y resultados con enlaces firmados. | Gratis |
| generate_image | Imágenes de producto con Nano Banana, GPT Image, Seedream o Flux. | De pago |
| generate_video | Clips con Kling, Veo, Seedance, Hailuo o Wan, además de avatares y control de movimiento. | De pago |
| generate_voice | Voz en off con ElevenLabs. Si falla, se reintenta una vez con una voz de respaldo parecida sin cobro extra (sin tiempos por palabra); envía allow_fallback: false para recibir el reembolso en su lugar. | De pago |
| generate_music | Música de fondo con Suno. | De pago |
| upscale | Aumenta la resolución de una imagen o un video. | De pago |
| remove_background | Recorta el producto (PNG transparente). | De pago |
| add_captions | Incrusta en el video subtítulos sincronizados palabra por palabra. | De pago |
| reburn_captions | Vuelve a incrustar los subtítulos con líneas editadas o un estilo nuevo, sin transcribir otra vez. Gratis, con un límite diario. | De pago |
| merge_videos | Une clips en un solo video con una única relación de aspecto. | De pago |
| clean_export | Copia sin datos de ubicación, dispositivo, edición ni modelo de IA; mantiene una nota de contenido con IA salvo que la desactives. | De pago |
| analyze_ad | Evalúa un anuncio desde un archivo o un enlace de publicación y escribe nuevos ganchos y un guion para rehacerlo con tu producto. | De pago |
| create_job | Ejecuta cualquier op de list_models. | De pago |
| social_download | Descarga una publicación de TikTok, Instagram, Facebook o Shorts en tu biblioteca. Gratis, con un límite diario. | De pago |
| list_characters | Lista tus personajes guardados con sus fotos y su voz, y el precio de una hoja de personaje. | Gratis |
| get_character | Un personaje guardado con sus fotos y su voz. | Gratis |
| create_character | Guarda una persona una sola vez (nombre, de 1 a 3 fotos, voz opcional) para usarla en las escenas de Script Runner. Requiere confirmar el derecho de imagen. | Gratis |
| update_character | Cambia el nombre, la descripción, las fotos o la voz de un personaje. | Gratis |
| delete_character | Borra un personaje guardado. | Gratis |
| make_character_sheet | Dibuja de frente, de perfil y en primer plano a una persona a partir de una foto. De pago, se cobra una vez. | De pago |
| parse_script | Lee un guion y muestra cada escena con su reparto, modelo, duración y precio. Gratis. | Gratis |
| edit_scenes | Edita, quita, recupera o añade escenas de Script Runner antes de crear los clips. | De pago |
| get_job | Estado y resultados, espera hasta 50 s. | Gratis |
| list_jobs | Trabajos, también filtrados por idempotency_key si se agotó el tiempo de espera o por ejecución del Estudio de anuncios. | Gratis |
| cancel_job | Cancela un trabajo que no ha empezado (reembolsado). | Gratis |
| list_formats | Formatos de anuncio con precio por calidad. | Gratis |
| list_products | Productos guardados para usar en anuncios. | Gratis |
| create_product | Guarda un producto con su nombre y de 1 a 8 fotos, para usarlo en todos tus anuncios. | Gratis |
| get_product | Un producto guardado con los enlaces de sus fotos. | Gratis |
| create_ad | Empieza un anuncio completo a partir de un formato. Con auto llega al final dentro de max_credits. | De pago |
| propose_ad | Propone formato y precio a partir de una descripción escrita. | De pago |
| create_ad_from_brief | Propone y empieza el anuncio en una sola llamada. Con auto lo termina solo dentro de max_credits. | De pago |
| get_ad | Estado de un anuncio en curso, espera hasta 50 s. | Gratis |
| approve_ad_step | Aprueba un paso de revisión y pone en marcha los siguientes, o deja el resto en modo auto. | De pago |
| redo_ad_step | Toma nueva de un elemento (se cobra otra vez). | De pago |
| motion_remix | Una versión nueva de tu propio clip por personaje, producto o estilo: borradores, eliges, terminas. El modo reemplazar y una persona o cara como target piden likeness: true (desde el 31-10-2026); el cambio preciso se detiene en el paso mask para que lo revises. | De pago |
| cancel_ad | Detiene un anuncio y reembolsa los trabajos que no han empezado. | Gratis |
| studio_list | Los estudios del Estudio de anuncios con sus tipos, campos y precios. | Gratis |
| studio_estimate | Precio exacto de un clic en el Estudio de anuncios, con tu saldo. Gratis. | Gratis |
| studio_check | Hace las comprobaciones gratuitas de un estudio antes de pagar (Shorts de ranking: cada nivel y la variedad entre ellos). | Gratis |
| studio_run | Crea imágenes del Estudio de anuncios: se cobra un trabajo por imagen y se reembolsa si falla. | De pago |
| studio_helper | Ejecuta un asistente del Estudio de anuncios (un precio fijo pequeño, míralo en studio_list). link_scan lee la página de un producto y devuelve sus fotos como tus archivos subidos, el nombre y una línea de descripción. | De pago |
| studio_series | La serie de un canal o el proyecto de una tienda: lo que recuerda y sus episodios. | Gratis |
| studio_series_save | Empieza o cambia una serie: sus notas, lo que pidió la audiencia o volver a un episodio anterior. | Gratis |
| ad_series | La serie o el proyecto de un formato: lo que recuerda y sus tomas. | Gratis |
| ad_series_save | Empieza o cambia la serie de un formato: sus notas, lo que pidió tu audiencia o volver a una toma anterior. | Gratis |
| studio_get_run | Estado de un clic en el Estudio de anuncios: cada trabajo (incluidos los pasos posteriores) y los archivos terminados. | Gratis |
Reglas de gasto para agentes
- Llama a
estimate_costantes de cualquier herramienta de pago. Es gratis y calcula el precio de la llamada exacta:toolmásarguments. - Envía
max_creditsy unidempotency_keynuevo en cada llamada de pago. - Las herramientas de pago responden al momento con un
job_idorun_id. Consultaget_joboget_adconwait_seconds=50. - Si se agota el tiempo de espera, llama a
list_jobscon el mismoidempotency_keyantes de volver a pagar. - Los trabajos fallidos se reembolsan solos. Sin créditos,
buy_credits_linkda al usuario un enlace al estudio. Ningún pago pasa por el MCP. - Da a cada agente su propia clave con límite diario. Al llegar al límite recibe
daily_limit_reachedy se detiene. - Con
auto: true,create_adycreate_ad_from_briefaprueban solos cada paso de revisión mientras todo el anuncio quepa enmax_credits. Si el siguiente paso lo superara, el anuncio espera en ese paso conauto_stoppedy no se cobra nada más.
Errores
Los errores de las herramientas llegan como resultado con isError: true y los mismos códigos que la API REST. Sin créditos incluye needed, balance y topup_url. Una clave que falta o es incorrecta da HTTP 401 con WWW-Authenticate.
{
"content": [
{
"type": "text",
"text": "Error insufficient_credits: This needs 63 credits and the balance is 10. ..."
}
],
"structuredContent": {
"error": {
"code": "insufficient_credits",
"message": "This needs 63 credits and the balance is 10. Buy credits to continue.",
"status": 402,
"needed": 63,
"balance": 10,
"charged": false,
"topup_url": "https://staglight.ai/app/creditos?need=53"
}
},
"isError": true
}
Prueba con curl
El servidor responde JSON normal por POST, sin sesiones, así que curl funciona:
curl -s https://staglight.ai/mcp \
-H "Authorization: Bearer $STAGLIGHT_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-11-25", "capabilities": {}, "clientInfo": {"name": "curl", "version": "1.0"}}}'
curl -s https://staglight.ai/mcp \
-H "Authorization: Bearer $STAGLIGHT_API_KEY" \
-H "Content-Type: application/json" \
-H "MCP-Protocol-Version: 2025-11-25" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "get_balance", "arguments": {}}}'