Suscríbete para recibir notificaciones de nuevas publicaciones:

Cómo armar el rompecabezas de los agentes: MCP, autenticación y autorización, y nivel gratuito de Durable Objects

2025-04-07

9 min de lectura
Esta publicación también está disponible en English, 繁體中文, Français, Deutsch, 日本語, 한국어, Nederlands y 简体中文.

No es un secreto que en Cloudflare somos optimistas sobre el futuro de los agentes. Nos entusiasma un futuro en el que la IA no solo pueda pilotear junto a nosotros, sino que podamos comenzar a delegar tareas completas a la IA. 

Si bien no ha pasado mucho tiempo desde que anunciamos por primera vez nuestro Agents SDK para facilitar a los desarrolladores la creación de agentes, la creación de un futuro agéntico exige una entrega continua para lograr este objetivo. Hoy hacemos varios anuncios para acelerar el desarrollo agéntico, entre ellos:

  • Nuevas funciones de Agents SDK: crea clientes MCP remotos, con transporte y autenticación integrados, para permitir que los agentes de IA se conecten a servicios externos. 

  • Proveedor de autenticación BYO para MCP: integraciones con Stytch, Auth0 y WorkOS para agregar autenticación y autorización a tu servidor MCP remoto. 

  • Hibernación para McpAgent: suspende automáticamente los servidores MCP remotos con estado cuando están inactivos y actívalos cuando sea necesario. Esto te permite mantener las conexiones para sesiones de larga duración y te aseguras de no pagar por el tiempo de inactividad. 

  • Nivel gratuito de Durable Objects: consideramos que Durable Objects es un componente clave para crear agentes, y si utilizas nuestro Agents SDK, necesitas acceder a él. Hasta hoy, Durable Objects solo era accesible como parte de nuestros planes pagos, y hoy nos complace incluirlo en nuestro nivel gratuito.

  • Workflows GA: te permite enviar acciones listas para la producción, de larga duración y de varios pasos en agentes.

  • AutoRAG: te ayuda a integrar la IA contextual en tus aplicaciones, con solo unos clics

  • agents.cloudflare.com: nuestra nueva página de inicio para todos los agentes.

Nuevas funciones de MCP en Agents SDK

Los agentes de IA ahora pueden conectarse e interactuar con servicios externos a través de MCP (Model Context Protocol). Hemos actualizado Agents SDK para que puedas crear un cliente MCP remoto en tu agente de IA, con todos los componentes (flujos de autenticación, detección de herramientas y gestión de conexiones) integrados para ti.

Esto te permite crear agentes que pueden:

  1. Solicitar al usuario final que otorgue acceso a un servicio de terceros (servidor MCP).

  2. Utilizar herramientas de estos servicios externos, en nombre del usuario final.

  3. Llamar a los servidores MCP desde Workflows, tareas programar o cualquier parte de tu agente.

  4. Conectarse a varios servidores MCP y detectar automáticamente nuevas herramientas o funciones presentadas por el servicio de terceros.

MCP (Model Context Protocol) ,introducido por primera vez por Anthropic, se está convirtiendo rápidamente en el estándar para que los agentes de IA interactúen con servicios externos, con proveedores como OpenAI, Cursor y Copilot adoptando el protocolo.

Recientemente,anunciamos la compatibilidad con la creación de servidores MCP remotos en Cloudflare, y agregamos una clase de McpAgent a nuestro Agents SDK que maneja automáticamente los aspectos remotos de MCP: transporte y autenticación/autorización. Ahora, ampliamos las mismas funciones a los agentes que actúan como clientes de MCP.

¿Quieres verlo en acción? Utiliza el siguiente botón para implementar un cliente MCP totalmente remoto que se pueda utilizar para conectarse a servidores MCP remotos.

Implementación en Cloudflare

Los agentes de IA ahora pueden actuar como clientes MCP remotos, con transporte y autenticación incluidos

Los agentes de IA necesitan conectarse a servicios externos para acceder a herramientas, datos y funciones más allá de sus conocimientos incorporados. Eso significa que los agentes de IA deben poder actuar como clientes MCP remotos, para que puedan conectarse a los servidores MCP remotos que alojan estas herramientas y funciones. 

Hemos agregado una nueva clase, MCPClientManager, en Agents SDK para brindarte todas las herramientas que necesitas para que tu agente de IA llame a servicios externos a través de MCP. La clase MCPClientManager administra automáticamente: 

  • Transporte: conéctate a servidores MCP remotos a través de SSE y HTTP. Próximamente será compatible con Streamable HTTP

  • Gestión de la conexión: el cliente hace un seguimiento del estado de todas las conexiones y se vuelve a conectar automáticamente si se pierde una.

  • Detección de funciones: detecta automáticamente todas las funciones, herramientas, recursos e instrucciones presentadas por el servidor MCP.

  • Actualizaciones en tiempo real: cuando cambian las herramientas, los recursos o las instrucciones de un servidor, el cliente recibe automáticamente notificaciones y actualiza su estado interno.

  • Espacio de nombres: al conectarse a varios servidores MCP, todas las herramientas y recursos se espacian automáticamente para evitar conflictos.

Otorgar a los agentes acceso a herramientas con verificación de autenticación integrada para clientes MCP

Hemos integrado el flujo de autenticación OAuth completo directamente en Agents SDK, para que tus agentes de IA puedan conectarse y autenticarse de forma segura en cualquier servidor MCP remoto sin tener que crear un flujo de autenticación desde cero.

Esto te permite brindar a los usuarios una forma segura de iniciar sesión y otorgar acceso explícito para permitir que el agente actúe en su nombre automáticamente: 

  • Compatibilidad con el protocolo OAuth 2.1 .

  • Redireccionamiento de los usuarios a la página de inicio de sesión del servicio.

  • Generación del código de desafío e intercambio de un código de autorización por un token de acceso.

  • Uso del token de acceso para hacer solicitudes autenticadas al servidor MCP.

Este es un ejemplo de un agente que puede conectarse de forma segura a los servidores MCP al inicializar el administrador de cliente, agregar el servidor y gestionar las devoluciones de llamada de autenticación:

async onStart(): Promise<void> {
  // initialize MCPClientManager which manages multiple MCP clients with optional auth
  this.mcp = new MCPClientManager("my-agent", "1.0.0", {
    baseCallbackUri: `${serverHost}/agents/${agentNamespace}/${this.name}/callback`,
    storage: this.ctx.storage,
  });
}

async addMcpServer(url: string): Promise<string> {
  // Add one MCP client to our MCPClientManager
  const { id, authUrl } = await this.mcp.connect(url);
  // Return authUrl to redirect the user to if the user is unauthorized
  return authUrl
}

async onRequest(req: Request): Promise<void> {
  // handle the auth callback after being finishing the MCP server auth flow
  if (this.mcp.isCallbackRequest(req)) {
    await this.mcp.handleCallbackRequest(req);
    return new Response("Authorized")
  }
  
  // ...
}

Conectarse a múltiples servidores MCP y descubrir qué capacidades ofrecen

Puedes utilizar Agents SDK para conectar un cliente MCP a varios servidores MCP de manera simultánea. Esto resulta especialmente útil cuando quieres que tu agente acceda a herramientas y recursos proporcionados por diferentes proveedores de servicios e interactúe con estos. 

La clase MCPClientManager mantiene conexiones a varios servidores MCP a través del objeto mcpConnections, un diccionario que asigna nombres de servidor únicos a sus respectivas instancias de MCPClientConnection

Cuando registras una nueva conexión de servidor mediante connect(), el administrador: 

  1. Crea una nueva instancia de conexión con autenticación específica del servidor.

  2. Inicializa las conexiones y registros para las notificaciones de funciones del servidor.

async onStart(): Promise<void> {
  // Connect to an image generation MCP server
  await this.mcp.connect("https://image-gen.example.com/mcp/sse");
  
  // Connect to a code analysis MCP server
  await this.mcp.connect("https://code-analysis.example.org/sse");
  
  // Now we can access tools with proper namespacing
  const allTools = this.mcp.listTools();
  console.log(`Total tools available: ${allTools.length}`);
}

Cada conexión gestiona su propio contexto de autenticación, lo que permite que un agente de IA se autentique en varios servidores simultáneamente. Además, MCPClientManager gestiona automáticamente el espacio de nombres para evitar colisiones entre herramientas con nombres idénticos de diferentes servidores. 

Por ejemplo, si tanto un "Servidor MCP de imagen" como un "Servidor MCP de código" tienen una herramienta que se llama "analyze", se podrá llamar a ambos de forma independiente sin que se genere un conflicto de nombres.

Uso de Stytch, Auth0 y WorkOS para llevar la autenticación y la autorización a tu servidor MCP 

Con MCP, los usuarios tendrán una nueva forma de interactuar con tu aplicación, sin depender más del panel de control o de la API como punto de entrada. Ahora accederán al servicio los agentes de IA que actúan en nombre de un usuario. Para garantizar que los usuarios y los agentes puedan conectarse a tu servicio de forma segura, deberás ampliar tu sistema de autenticación y autorización actual para admitir estas interacciones de agentes, mediante la implementación de flujos de inicio de sesión, alcances de permisos, formularios de consentimiento y aplicación del control de acceso para tu servidor MCP. 

Agregamos integraciones con Stytch, Auth0 y WorkOS para que a cualquiera que esté creando un servidor MCP le resulte más fácil configurar la autenticación y la autorización para su servidor MCP. 

Puedes aprovechar nuestra integración de servidor MCP con Stytch, Auth0 y WorkOS para lo siguiente: 

  • Permitir que los usuarios se autentiquen en tu servidor MCP a través del correo electrónico, inicios de sesión en redes sociales, SSO (inicio de sesión único) y MFA (autenticación multifactor).

  • Definir alcances y permisos que se asignen directamente a tus herramientas de MCP.

  • Ofrecer a los usuarios una página de consentimiento correspondiente a los permisos solicitados.

Aplica los permisos para que los agentes solo puedan recurrir a las herramientas permitidas. 

Empieza con los siguientes ejemplos y utiliza el botón "Implementar en Cloudflare" para implementar los servidores MCP de demostración en tu cuenta de Cloudflare. Estas demostraciones incluyen puntos de conexión de autenticación preconfigurados, flujos de consentimiento y modelos de permisos que puedes adaptar a tus necesidades. Una vez que implementes los servidores MCP de demostración, puedes usar Workers AI Playground, un cliente MCP remoto basado en navegador, para probar el flujo de usuarios de un extremo a otro. 

Stytch

Empieza con un servidor MCP remoto que utilice Stytch para permitir a los usuarios iniciar sesión con el correo electrónico, el inicio de sesión de Google o el SSO empresarial, y autorizar a su agente de IA a ver y gestionar los OKR de su empresa en su nombre. Stytch se encargará de restringir los alcances otorgados al agente de IA en función del rol y los permisos de usuario dentro de su organización. Al autorizar al cliente MCP, cada usuario verá una página de consentimiento que describe los permisos que el agente solicita y los que se pueden conceder en función de su rol.

Implementación en Cloudflare

Para ver más casos de uso de consumidores, implementa un servidor MCP remoto para una aplicación To Do que utiliza Stytch para autenticar y autorizar el cliente MCP. Los usuarios pueden iniciar sesión con el correo electrónico y acceder de inmediato a las listas To Do (tareas pendientes) asociadas a su cuenta, y otorgar acceso a cualquier asistente de IA para que les ayude a gestionar sus tareas.

Implementación en Cloudflare

Independientemente del caso de uso, Stytch te permite convertir fácilmente tu aplicación en un proveedor de identidad OAuth 2.0 y convertir tu servidor MCP remoto en una parte dependiente para que pueda heredar fácilmente la identidad y los permisos de tu aplicación. Para obtener más información sobre cómo Stytch habilita la autenticación segura para los servidores MCP remotos, lee su entrada del blog.

“Uno de los desafíos de cumplir la promesa de los agentes de IA es permitir que esos agentes accedan de manera segura y confiable a los datos de otras plataformas. Stytch Connected Apps está especialmente diseñado para estos casos de uso agénticos, lo que simplifica la conversión de tu aplicación en un proveedor de identidad OAuth 2.0 para permitir el acceso seguro a los servidores MCP remotos. Al combinar Cloudflare Workers con las aplicaciones conectadas a Stytch, eliminamos las barreras para los desarrolladores, lo que les permite pasar rápidamente de las pruebas de concepto de IA a las implementaciones seguras e incorporadas". — Julianna Lamb, cofundadora y directora técnica de Stytch.

Auth0

Comienza con un servidor MCP remoto que utiliza Auth0 para autenticar a los usuarios a través del correo electrónico, inicios de sesión en redes sociales o SSO empresarial para interactuar con sus listas de pendientes y datos personales a través de agentes de IA. El servidor MCP se conecta de forma segura a los puntos finales de la API en nombre de los usuarios, y muestra exactamente a qué recursos podrá acceder el agente una vez que obtenga el consentimiento del usuario. En esta implementación, los tokens de acceso se actualizan automáticamente durante las interacciones de larga duración.

Para configurarlo, primero implementa el punto final de la API protegido:

Implementación en Cloudflare

Luego, implementa el servidor MCP que maneja la autenticación a través de Auth0 y conecta de forma segura los agentes de IA con tu punto final de la API. 

Implementación en Cloudflare

"Cloudflare continúa empoderando a los desarrolladores que crean productos de IA con herramientas como AI Gateway, Vectorize y Workers AI. La reciente incorporación de servidores MCP remotos demuestra aún más que Cloudflare Workers y Durable Objects son una plataforma líder para implementar IA sin servidor. Estamos muy orgullosos de que Auth0 pueda ayudar a resolver las necesidades de autenticación y autorización para estas cargas de trabajo de vanguardia". — Sandrino Di Mattia, director sénior de Auth0, Arquitectura de Productos.

WorkOS

Empieza con un servidor MCP remoto que utiliza AuthKit de WorkOS para autenticar a los usuarios y gestionar los permisos otorgados a los agentes de IA. En este ejemplo, el servidor MCP expone de manera dinámica las herramientas en función del rol y los derechos de acceso del usuario. Todos los usuarios autenticados tienen acceso a la herramienta de adición, pero solo los usuarios a los que se les ha asignado el permiso image_generation en WorkOS pueden otorgar al agente de IA acceso a la herramienta de generación de imágenes. Esto muestra cómo los servidores MCP pueden exponer condicionalmente las funciones a los agentes de IA en función del rol y del permiso del usuario autenticado.

Implementación en Cloudflare

"MCP se está convirtiendo en el estándar para la integración de agentes de IA, pero la autenticación y la autorización siguen teniendo importantes deficiencias para la adopción empresarial. WorkOS Connect permite que cualquier aplicación se convierta en un servidor de autorización OAuth 2.0, lo que permite a los agentes y clientes de MCP obtener tokens de forma segura para la autorización de permisos detallados y el acceso a los recursos. Con Cloudflare Workers, los desarrolladores pueden implementar rápidamente servidores MCP remotos con OAuth integrado y control de acceso de nivel empresarial. Juntos, WorkOS y Cloudflare facilitan el envío de una infraestructura de agentes segura y preparada para empresas". — Michael Grinich, director general de WorkOS.

WebSockets aptos para hibernación: ponen a los agentes de IA en reposo cuando no están en uso

A partir de hoy, una nueva mejora llega a la clase McpAgent: compatibilidad con la API de hibernación de WebSockets, que permite que tu servidor MCP entre en modo de suspensión cuando no recibe solicitudes y se active instantáneamente cuando sea necesario. Esto significa que ahora solo pagas por el proceso cuando tu agente está realmente trabajando.

Recientemente presentamos la clase McpAgent, que permite a los desarrolladores crear servidores MCP remotos en Cloudflare mediante el uso de Durable Objects para mantener conexiones con estado para cada sesión de cliente. Decidimos crear McpAgent para que tuviera estado desde el principio, lo que permite a los desarrolladores crear servidores que puedan recordar el contexto, las preferencias del usuario y el historial de conversaciones. Pero mantener las conexiones de los cliente significa que la sesión puede permanecer activa durante mucho tiempo, incluso cuando no se está utilizando. 

Los agentes MCP son aptos para la hibernación predeterminada

No necesitas cambiar tu código para aprovechar la hibernación. Con nuestra última actualización de SDK, todas las instancias de McpAgent incluyen automáticamente soporte de hibernación, lo que permite que tus servidores MCP con estado entren en suspensión durante los periodos de inactividad y se reactiven con su estado preservado cuando sea necesario. 

Cómo funciona

Cuando entra una solicitud en el punto de conexión de eventos enviados por el servidor, /sse, Worker inicia una conexión WebSocket al Durable Object adecuado para la sesión y devuelve una transmisión SSE al cliente. Todas las respuestas van por este flujo.

La implementación aprovecha la API de hibernación de WebSocket dentro de Durable Objects. Cuando se generan períodos de inactividad, el Durable Object puede ser desalojado de la memoria mientras se mantiene abierta la conexión WebSocket. Si el WebSocket recibe más tarde un mensaje, el motor de ejecución recrea el Durable Object y entrega el mensaje al administrador adecuado.

Durable Objects en el nivel gratuito

Para ayudarte a crear agentes de IA en Cloudflare, Durable Objects está disponible en el nivel gratuito, para que puedas empezar sin compromiso. Con Agents SDK, tus agentes de IA se implementan en Cloudflare y se ejecutan en Durable Objects.

Durable Objects ofrece proceso y almacenamiento duradero, que cuando se combina con Workers, habilita aplicaciones con estado y sin servidor. Cada Durable Object es un coordinador con estado para gestionar las interacciones del cliente en tiempo real, hacer solicitudes a servicios externos como LLM y crear "memoria" agéntica a través de la persistencia del estado en el almacenamiento SQLite de latencia cero, todas las tareas requeridas en un agente de IA. Durable Objects escala fácilmente a millones de agentes, con cada agente creado cerca del usuario interactuando con su agente para lograr un rendimiento rápido, todo gestionado por Cloudflare. 

El almacenamiento SQLite de latencia cero en Durable Objects se presentó en la versión beta pública de septiembre de 2024 para la Semana aniversario. Desde entonces, nos hemos centrado en las funciones y la solidez que faltaban en comparación con el almacenamiento clave-valor preexistente en Durable Objects. Nos complace anunciar que el almacenamiento SQLite está disponible a nivel general, con una base de datos SQLite de 10 GB por Durable Object, y recomendamos el almacenamiento SQLite para todas las nuevas clases de Durable Object. Con el nivel gratuito de Durable Objects solo se puede acceder al almacenamiento SQLite.

El nivel gratuito de Cloudflare te permite crear aplicaciones reales. En el plan gratuito, cada solicitud de Worker puede llamar a un Durable Object. Para el precio en función del uso, Durable Objects computa el proceso y el almacenamiento con los siguientes límites de nivel gratuito.

 

Workers gratuito

Workers de pago

Proceso: solicitudes

100 000/día

1 millón/mes incluido

+ USD 0,15/millones

Proceso: duración

13 000 GB-s/día

400 000 GB-s/mes incluidos 

+ USD 12,50/millones GB/s

Almacenamiento: lectura de filas

5 millones/día

25 mil millones/mes incluido

+ USD 0,001/millón 

Almacenamiento: filas escritas

100 000/día

50 millones/mes incluido

+ USD 1,00/millón

Almacenamiento: datos almacenados en SQL

5 GB (total)

5 GB/mes incluidos

+ USD 0,20/GB/mes

Encuéntranos en agents.cloudflare.com

Sabemos que hay mucha información que asimilar, pero no se preocupen. Tanto si eres nuevo en el mundo de los agentes como si deseas obtener más información sobre cómo Cloudflare puede ayudarte a crear agentes, hoy lanzamos un nuevo sitio para ayudarte a comenzar:agent.cloudflare.com

¡Cuéntanos qué desarrollas!

La conectividad cloud de Cloudflare protege redes corporativas completas, ayuda a los clientes a desarrollar de forma eficiente aplicaciones a escala de Internet, acelera cualquier sitio web o aplicación de Internet, previene contra los ataques DDoS, mantiene a raya a los hackers, y te puede ayudar en tu recorrido hacia la seguridad Zero Trust.

Visita 1.1.1.1 desde cualquier dispositivo para empezar a utilizar nuestra aplicación gratuita y beneficiarte de una navegación más rápida y segura.

Para saber más sobre nuestra misión para ayudar a mejorar Internet, empieza aquí. Si estás buscando un nuevo rumbo profesional, consulta nuestras ofertas de empleo.
Semana del desarrolladorIAAgentesDesarrolladoresModel Context Protocol,MCP

Síguenos en X

Rita Kozlov|@ritakozlov_
Dina Kozlov|@dinasaur_404
Vy Ton|@vaiton13
Cloudflare|@cloudflare

Publicaciones relacionadas