El 22 de agosto de 2026 Cloudflare activó el consentimiento OAuth granular para Wrangler y para el servidor MCP de su API. Hasta ahora, autorizar la herramienta implicaba aceptar en bloque todos los permisos solicitados; ahora es posible conceder solo una parte, acercando el utillaje de línea de comandos al principio de mínimo privilegio.
Qué cambia el consentimiento opcional
El modelo OAuth clásico funcionaba en todo o nada: la pantalla de consentimiento listaba los scopes que pedía un cliente, sin más opción que aceptarlo todo o rechazarlo todo. La novedad distingue entre scopes obligatorios, preseleccionados y no desmarcables, y scopes opcionales, que la persona puede rechazar antes de confirmar. El token emitido contiene entonces solo los permisos realmente concedidos.
En la práctica, el cuadro de autorización muestra ahora un botón «Edit permissions» que abre la lista de scopes opcionales. Desmarcar un scope reduce en esa medida el alcance del token. Si más tarde una orden necesita un permiso rechazado, basta con volver a autorizar el cliente para añadirlo.
| Scope solicitado | Clasificación | Qué permite |
|---|---|---|
user-details.read | Obligatorio | Leer el perfil de la cuenta |
zone.read | Obligatorio | Leer la configuración de zonas |
workers-scripts.write | Opcional | Desplegar Workers |
workers-kv-storage.write | Opcional | Escribir en espacios KV |
Punto de atención: las aplicaciones que consumen estos tokens deben gestionar las concesiones parciales. Tras el intercambio hay que comprobar los scopes realmente presentes en el token, en lugar de suponer que se concedió todo lo solicitado.
Cómo un scope pasa a ser opcional
La clasificación se hace del lado del desarrollador del cliente OAuth, en el panel de Cloudflare: cada scope configurado puede marcarse obligatorio u opcional. Por defecto todos siguen siendo obligatorios, lo que conserva el comportamiento actual. El cálculo obligatorio/opcional solo tiene en cuenta los scopes efectivamente solicitados en un flujo de autorización dado, no el conjunto configurado; si no se pide ningún scope opcional, la pantalla de consentimiento no cambia. La función está disponible a partir de Wrangler 4.116.
# Ré-autoriser Wrangler en n'accordant qu'un sous-ensemble de scopes
npx wrangler logout
npx wrangler login
# → l'écran de consentement propose « Edit permissions »
# décochez les scopes optionnels dont le workflow n'a pas besoin
# Si une commande échoue faute de permission, ré-autoriser pour ajouter le scope
npx wrangler login # cochez cette fois le scope manquantPor qué afecta a los agentes y al MCP
El interés va más allá del desarrollador que ejecuta wrangler deploy. Cloudflare menciona explícitamente los servidores MCP, que exponen herramientas a agentes. Un servidor así tiende a pedir un amplio conjunto de permisos, ya que en teoría un agente podría usarlos todos; en la práctica, pocos usuarios quieren que un agente tenga tanto acceso. Los scopes opcionales permiten conceder al agente lo estrictamente necesario, sin que el autor del servidor tenga que construir su propia interfaz de selección de permisos.
Un token que solo puede escribir en Workers no puede purgar una caché ni leer una zona DNS.
Esta lógica se alinea con una tendencia de fondo en la delegación de acceso a los agentes: reducir el radio de acción de un token comprometido y hacer legible, en el momento del consentimiento, lo que una herramienta automatizada podrá hacer. Prolonga las preguntas que ya planteaba el auge del protocolo MCP.
Lo que hay que recordar
El cambio es discreto pero estructurante: lleva la autorización de Wrangler y del servidor MCP de un modelo binario a una concesión ajustable. Para los equipos es la ocasión de revisar los tokens repartidos a integraciones y agentes, y conceder solo lo que un flujo realmente exige. El coste de adopción es nulo para el usuario; el esfuerzo recae en los autores de clientes, que deben clasificar sus scopes y gestionar bien las concesiones parciales.
El valor por defecto correcto para el token de un agente es el conjunto más pequeño de permisos que aun así deja terminar la tarea, reautorizando cuando cambia la necesidad. Veo demasiados tokens de automatización cortados «por si acaso», con permisos de escritura que nadie usa y que solo agrandan el blanco si se filtran. Hacer trivial el rechazo de un scope en el consentimiento es justo el tipo de detalle que lleva una buena práctica del discurso al uso real — Simon Janvier
