西班牙足球賽事期間 Cloudflare IP 遭封鎖,DesarrolloMCP 如何維持 MCP 服務
Bloqueos de LaLiga a Cloudflare: cómo seguimos abiertos con MCP
DesarrolloMCP 在西班牙足球賽事期間把 DNS 切至 Netlify 靜態鏡像,並以簽名代理將 MCP、OAuth 和登入請求轉送至 Worker,維持課程 MCP 服務運作。切換窗口由開賽前一小時至賽後三小時,每十分鐘檢查 DNS;文章指出,MCP 2026-07-28 規範的無狀態設計容許代理逐項轉送請求。
Durante las jornadas de fútbol, las operadoras españolas bloquean direcciones IP de Cloudflare por una orden judicial, y con ellas caen cientos de miles de webs legales que comparten esas direcciones. Nosotros seguimos abiertos con un espejo en Netlify que se enciende solo en cada partido, y el servidor MCP del curso sigue respondiendo, con su inicio de sesión incluido.
Este texto es un extracto de nuestra guía en español, escrita sobre la versión 2026-07-28 de la especificación MCP.
Por qué caen webs que no tienen nada que ver con el fútbol
Cloudflare no da a cada web una IP propia. Le asigna direcciones de un conjunto compartido, y en los planes Free, Pro y Business no hay IP dedicadas. Si una web que comparte IP emite un partido pirata y la operadora bloquea esa IP, caen todas.
Las cifras de OONI, con datos del 1 de enero al 1 de junio de 2026:
- De 9,2 millones de dominios probados, 554.507 (un 5,8 %) estuvieron bloqueados al menos una vez.
- De esos, 501.305 estaban en Cloudflare, repartidos en solo 2.218 IP.
- Bloquear entre 4 y 20 IP durante una hora dejó inaccesibles más de 400.000 dominios.
Para quien programa, el efecto es concreto: un fin de semana de abril, docker pull fallaba desde España con un error de certificado (Hacker News). Irse de Cloudflare tampoco es una garantía, porque OONI midió bloqueos en IP de 36 proveedores, Amazon incluido. Nosotros preferimos no movernos y, solo durante los partidos, mandar el tráfico a otro sitio.
El modo liga: un espejo en Netlify durante los partidos
Fuera de los partidos, el tráfico va a Cloudflare y al Worker. Durante uno, el DNS apunta a Netlify, que sirve una copia estática (blog, temario y fichas), muestra un aviso en cuenta, registro y pagos, y reenvía al Worker con un proxy firmado el servidor MCP, OAuth y el login de la conexión.
- Horarios. Cada lunes, una tarea programada del Worker lee los horarios de Primera de los próximos ocho días en la API de football-data.org.
- Ventanas. Cada partido abre una ventana desde una hora antes del inicio hasta tres horas después. Si dos se solapan, se unen: con el primer partido a las 14:00 y el último a las 21:00, la ventana va de 13:00 a medianoche.
- DNS. Cada diez minutos, la misma tarea mira si está dentro de una ventana y cambia el DNS con la API de Cloudflare. Durante un partido apunta a Netlify, con un TTL de 60 segundos. Solo toca un registro si no está como debe.
- La copia. Cada madrugada, una GitHub Action recorre la web como visitante anónimo y publica la copia en Netlify, tras comprobar que no lleva el texto de ninguna lección de pago.
- El certificado. Netlify solo renueva su certificado TLS si el dominio apunta a Netlify, y casi siempre apunta a Cloudflare. Otra Action lo emite cada mes con Let's Encrypt, validando por DNS en Cloudflare, y lo sube a Netlify.
Por qué el servidor MCP sigue funcionando
El bloqueo se aplica en la red de tu operadora. Las peticiones que reenvía Netlify salen de sus servidores, no de tu conexión.
Las rutas del servidor MCP, la autorización OAuth y el login de la conexión no se copian: Netlify las reenvía al Worker con un proxy firmado. Cada petición lleva una firma que el Worker comprueba antes de atenderla; si no está firmada, no se atiende. El Worker rehace la petición como si hubiera llegado directa a desarrollomcp.com y la marca como venida del espejo. Con esa marca, la página de login solo se sirve para autorizar una conexión MCP o registrar un agente.
Que sea tan fácil tiene que ver con cómo es MCP desde la versión 2026-07-28. El protocolo no tiene estado: toda la información para procesar una petición viaja en la propia petición, y no hay handshake ni sesión. Un proxy solo tiene que reenviar cada petición tal cual (MCP 2026-07-28 sin estado). La autorización es el mismo OAuth de siempre.
El resultado: durante un partido no puedes entrar en la web, pero sí conectar el curso a Claude, ChatGPT o Claude Code e iniciar sesión con tu cuenta. Sin cuenta, el servidor https://desarrollomcp.com/mcp te deja buscar en el curso, ver el temario, las fichas y los planes, y leer el blog. Con sesión, te dice qué nivel tienes y por dónde vas, y te da el texto de las lecciones a las que tienes acceso. Los pasos están en cómo conectar un servidor MCP a Claude y en la página del servidor MCP del curso.
La guía completa añade lo que aquí queda fuera: la sentencia 310/2024 y el calendario judicial y político, las posturas de LaLiga y de Cloudflare, lo que puede hacer una web pequeña, el caso de un negocio de Pego con unas 115 horas de bloqueo, el diagrama del flujo, las páginas que la copia no puede servir, los límites del modo liga y el siguiente paso, las MCP Apps, con todas las fuentes enlazadas: DesarrolloMCP: bloqueos de LaLiga a Cloudflare y MCP.
Si quieres aprender a construir y desplegar servidores MCP, tienes el curso de DesarrolloMCP, con el nivel Básico gratis (14 lecciones, sin tarjeta), en español.
來源:DEV Community · dev.to