La forma equivocada: pegar tu contraseña del panel en un agente
Los agentes de IA locales son buenos exactamente en la parte repetitiva de publicar software: ejecutar las comprobaciones, corregir lo que señalan, desplegar, leer los logs, repetir. El atajo tentador es entregarle al agente tu login del panel para que "lo haga todo". Tu cuenta del panel puede cambiar métodos de pago, borrar aplicaciones y tocar cada cuenta CDN que posees — nada de lo cual necesita el agente para publicar código. La herramienta correcta es una credencial que puede desplegar y nada más.
El token de deploy: se muestra una vez, acotado a fondo
Un comando lo crea. El token en texto plano aparece exactamente una vez — cdn.com.tr almacena solo un hash, así que nadie (soporte incluido) puede volver a leerlo después. Está ligado a una única cuenta CDN y únicamente a la superficie de deploy: subir código fuente, construir, crear y actualizar apps, desplegar, leer estado y logs.
$ cdnctl deploy-token create --name "claude-code"
Deploy token (shown ONCE — save it now):
cdnctl_T1bz••••••••••••••••••••••••
To hand it to an agent: cdnctl configure --token cdnctl_T1bz••••…
Scope: deploy only (source upload/build + app lifecycle).
Lo que el token puede y no puede hacer — probamos cada borde
Esto no son intenciones de diseño; cada línea es una petición real que ejecutamos contra la API en vivo con un token recién creado:
- Superficie de deploy en su propia cuenta — funciona (200). - Los mismos endpoints con el UUID de otra cuenta — 404. La API ni siquiera confirma que la otra cuenta exista. - Endpoints fuera de la superficie de deploy (facturación, DNS, perfil de usuario) — 401. - DELETE sobre una aplicación — 405. La ruta sencillamente no está registrada en la superficie del token, así que el agente no puede destruir lo que desplegó. - Cualquier petición tras la revocación — 401, de inmediato.
Conectarlo a Claude Code o Cursor por MCP
cdnctl trae un servidor MCP: `cdnctl mcp` habla JSON-RPC sobre stdio y expone seis herramientas — project_info, check, entitlement, deploy, apps_list y app_show. Registrarlo significa que tu agente llama a deploy como llama a cualquier otra herramienta, con resultados estructurados en lugar de texto raspado de la terminal.
$ claude mcp add cdntr -- cdnctl mcp
# .cursor/mcp.json
{
"mcpServers": {
"cdntr": {
"command": "cdnctl",
"args": ["mcp"],
"env": { "CDN_ACCESS_TOKEN": "cdnctl_T1bz••••…" }
}
}
}
El bucle de auto-reparación en la práctica
Con el token en su sitio, el agente ejecuta el mismo bucle que ejecutaría un humano cuidadoso: `check` sobre el proyecto, corregir lo que señala, `deploy`, leer el resultado. En nuestra prueba en vivo el agente se topó con un fallo real — un Dockerfile que copiaba el node_modules del host dentro de la imagen y hacía crashear el contenedor — corrigió el .dockerignore por sí mismo, redesplegó y verificó la app sana. Sin panel, sin humano en el bucle, y sin tocar nada fuera de la superficie de deploy.
Rotar y revocar
Los tokens se listan con su prefijo, hora de último uso e IP — suficiente para auditar sin exponer el secreto. La revocación es un comando y surte efecto en la siguiente petición. Si un token acaba alguna vez en un log o una transcripción, revócalo primero e investiga después; crear un reemplazo lleva segundos.
$ cdnctl deploy-token list
name: claude-code prefix: cdnctl_T1bz last_used: 2026-08-25 15:46 (185.70.97.9)
$ cdnctl deploy-token revoke --id 11
status: success
Preguntas frecuentes
¿Puede el agente borrar mi aplicación?
No. Las rutas DELETE no están registradas en la superficie del token — la petición responde 405 sin importar lo que envíe el agente. Las acciones destructivas se quedan en el panel, detrás de tu login.
¿Puede el agente gastar dinero con el token?
No. La compra de paquetes, el pago y la facturación viven solo en el panel. El token no puede alcanzarlos (401), y cdnctl envía deliberadamente a los humanos al navegador para pagar.
¿Y si el token se filtra?
Revócalo — un comando, efectivo de inmediato. El radio de daño es la superficie de deploy de una cuenta: sin facturación, sin borrado, sin otras cuentas. Luego crea uno nuevo.
¿MCP requiere un token de deploy?
No — en tu propia máquina cdnctl mcp puede usar tu login normal de cdnctl. El token importa cuando el agente corre en un sitio donde no pondrías tu login: CI, una máquina compartida, una sesión de agente de larga duración.