Abonnez-vous pour recevoir des notifications sur les nouveaux articles :

Réunir toutes les pièces du puzzle des agents : MCP, authentification/autorisation et offre gratuite pour Durable Objects

2025-04-07

Lecture: 9 min.
Cet article est également disponible en English, en 繁體中文, en Deutsch, en 日本語, en 한국어, en Español (Latinoamérica), en Nederlands et en 简体中文.

Ce n'est pas un secret que chez Cloudflare, nous sommes optimistes quant à l'avenir des agents. Nous nous réjouissons d'un avenir dans lequel l'IA pourrait non seulement jouer le rôle de copilote à nos côtés, mais dans lequel nous pourrions même commencer à déléguer des tâches entières à l'IA. 

Bien qu'il se soit écoulé relativement peu de temps depuis la première annonce de notre SDK Agents, dont l'objectif est de faciliter la création d'agents par les développeurs, la construction d'un avenir agentique exige, à cette fin, des livraisons continues. Aujourd'hui, nous effectuons plusieurs annonces afin de contribuer à accélérer le développement agentique, et notamment :

  • Nouvelles fonctionnalités du SDK Agents : développez des clients MCP distants, dotés de fonctions de transport et d'authentification intégrées, afin de permettre aux agents IA de se connecter à des services externes. 

  • Fournisseur d'authentification BYO pour MCP : intégrations avec Stytch, Auth0 et WorkOS, afin d'ajouter des fonctions d'authentification et d'autorisation à votre serveur MCP distant. 

  • Hibernation pour McpAgent : mettez automatiquement en veille les serveurs MCP distants avec état lorsqu'ils sont inactifs et réveillez-les lorsque c'est nécessaire. Ceci vous permet de maintenir les connexions pour les sessions de longue durée, tout en vous assurant que vous ne payez pas pour le temps d'inactivité. 

  • Offre gratuite de Durable Objects : nous considérons Durable Objects comme une composante essentielle du développement d'agents, et si vous utilisez notre SDK Agents, vous devez y avoir accès. Jusqu'à aujourd'hui, Durable Objects était uniquement accessible dans le cadre de nos offres payantes, et nous sommes maintenant heureux de l'inclure dans notre offre gratuite.

  • Disponibilité générale de Workflows : cette fonctionnalité vous permet de livrer des actions multi-étapes, de longue durée et prêtes pour la production dans des agents.

  • AutoRAG : aide à intégrer l'IA contextuelle à vos applications en quelques clics seulement.

  • agents.cloudflare.com : notre nouvelle page d'accueil pour tout ce qui concerne les agents.

Nouvelles fonctionnalités MCP dans le SDK Agents

Les agents IA peuvent désormais se connecter aux services externes et interagir avec eux par l'intermédiaire du protocole MCP (Model Context Protocol). Nous avons mis à jour le SDK Agents pour vous permettre d'intégrer un client MCP distant à votre agent IA, avec tous les composants (flux d'authentification, découverte d'outils et gestion des connexions) intégrés à votre place.

Cette approche vous permet de développer des agents capables d'effectuer les actions suivantes :

  1. Inviter l'utilisateur final à autoriser l'accès à un service tiers (serveur MCP).

  2. Utiliser les outils provenant de ces services externes, en agissant au nom de l'utilisateur final.

  3. Appeler des serveurs MCP depuis Workflows, des tâches programmées ou n'importe quelle partie de votre agent.

  4. Se connecter à plusieurs serveurs MCP et découvrir automatiquement les nouveaux outils ou fonctionnalités présentés par le service tiers.

Le protocole MCP (Model Context Protocol), introduit pour la première fois par Anthropic, s'impose aujourd'hui rapidement comme le moyen standard pour les agents IA d'interagir avec des services externes. Il bénéficie de l'adoption par des fournisseurs tels que OpenAI, Cursor et Copilot.

Nous avons récemment annoncé la prise en charge du développement de serveurs MCP distants sur Cloudflare, et nous avons ajouté à notre SDK Agents une classe McpAgent qui gère automatiquement les aspects distants de MCP : le transport et l'authentification/l'autorisation. Nous sommes aujourd'hui heureux d'étendre les mêmes fonctionnalités aux agents agissant en tant que clients MCP.

Vous souhaitez découvrir la solution en action ? Cliquez sur le bouton ci-dessous pour déployer un client MCP entièrement distant, pouvant être utilisé pour établir une connexion à des serveurs MCP distants.

Déployer sur Cloudflare

Les agents IA peuvent maintenant agir en tant que clients MCP distants avec fonctions de transport et d'authentification incluses

Les agents IA doivent se connecter à des services externes pour accéder aux outils, aux données et aux capacités excédant leurs connaissances intégrées. Cela signifie que les agents IA doivent pouvoir agir en tant que clients MCP distants afin de pouvoir se connecter aux serveurs MCP distants hébergeant ces outils et fonctionnalités. 

Nous avons ajouté au SDK Agents une nouvelle classe, MCPClientManager, afin de vous fournir tous les outils nécessaires pour permettre à votre agent IA de contacter des services externes via MCP. La classe MCPClientManager gère automatiquement les fonctions suivantes : 

  • Transport : établissez une connexion aux serveurs MCP distants via SSE et HTTP. La prise en charge du protocole Streamable HTTP sera assurée prochainement. 

  • Gestion des connexions : le client surveille l'état de toutes les connexions et se reconnecte automatiquement en cas d'interruption d'une connexion.

  • Découverte des capacités : découvre automatiquement l'ensemble des fonctionnalités, des outils, des ressources et des invites présentés par le serveur MCP.

  • Mises à jour en temps réel : lorsque les outils, les ressources ou les invites d'un serveur changent, le client reçoit automatiquement des notifications et met à jour son état interne.

  • Gestion des espaces de noms : en cas de connexion à plusieurs serveurs MCP, tous les outils et ressources reçoivent automatiquement des espaces de noms, afin d'éviter les conflits.

Autoriser les agents à accéder aux outils avec une vérification de l'authentification intégrée pour les clients MCP

Nous avons intégré l'ensemble du flux d'authentification OAuth directement dans le SDK Agents, afin que vos agents IA puissent se connecter et s'authentifier en toute sécurité sur n'importe quel serveur MCP distant, sans devoir créer intégralement une procédure d'authentification.

Cela vous permet de fournir aux utilisateurs une manière sécurisée de se connecter et d'accorder explicitement l'accès, afin de permettre à l'agent d'agir en leur nom en gérant automatiquement les aspects suivants : 

  • Prise en charge du protocole OAuth 2.1.

  • Redirection des utilisateurs vers la page de connexion du service.

  • Génération de la vérification du code et échange d'un code d'autorisation contre un jeton d'accès.

  • Utilisation du jeton d'accès pour la transmission de requêtes authentifiées au serveur MCP.

Voici un exemple d'agent capable d'établir une connexion sécurisée aux serveurs MCP en initialisant le gestionnaire de client, en ajoutant le serveur, puis en effectuant les rappels d'authentification :

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")
  }
  
  // ...
}

Connexion à plusieurs serveurs MCP et découverte des capacités qu'ils fournissent

Vous pouvez utiliser le SDK Agents pour connecter un client MCP à plusieurs serveurs MCP simultanément. Cela s'avère particulièrement utile lorsque vous souhaitez que votre agent accède à, et interagisse avec, des outils et des ressources servis par différents fournisseurs de services. 

La classe MCPClientManager maintient les connexions à plusieurs serveurs MCP par l'intermédiaire de l'objet mcpConnections, un dictionnaire qui associe les noms de serveurs uniques aux instances MCPClientConnection correspondantes. 

Lorsque vous enregistrez une nouvelle connexion à un serveur avec connect(), le gestionnaire : 

  1. Crée une nouvelle instance de connexion avec l'authentification spécifique au serveur.

  2. Initialise les connexions et s'enregistre pour recevoir les notifications de fonctionnalité du serveur.

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}`);
}

Chaque connexion gère son propre contexte d'authentification, ce qui permet à un agent IA unique de s'authentifier simultanément sur plusieurs serveurs. En outre, MCPClientManager assure la gestion automatique des espaces de noms afin d'éviter les conflits entre les outils portant des noms identiques, fournis depuis différents serveurs. 

Par exemple, si des serveurs « Image MCP Server » et « Code MCP Server » disposent tous deux d'un outil nommé « analyze », ils peuvent tous deux être appelés indépendamment, sans générer de conflit de nom.

Utilisez Stytch, Auth0 et WorkOS pour déployer l'authentification et l'autorisation sur votre serveur MCP 

Avec MCP, les utilisateurs disposeront d'une nouvelle façon d'interagir avec votre application, sans dépendre du tableau de bord ou d'une API comme point d'entrée. Au lieu de cela, des agents IA agissant pour le compte de l'utilisateur accéderont désormais au service. Pour garantir que les utilisateurs et les agents peuvent établir une connexion sécurisée à votre service, vous devez étendre votre système d'authentification et d'autorisation existant afin de prendre en charge ces interactions agentiques, en déployant des flux de connexion, des domaines d'application des autorisations, des formulaires de consentement et des mesures d'accès pour votre serveur MCP. 

Nous ajoutons des intégrations avec Stytch, Auth0 et WorkOS afin de faciliter, pour tous les utilisateurs développant un serveur MCP, la configuration des fonctionnalités d'authentification et d'autorisation pour leur serveur MCP. 

Vous pouvez tirer parti de notre intégration de serveur MCP avec Stytch, Auth0 et WorkOS pour : 

  • Permettre aux utilisateurs de s'authentifier sur votre serveur MCP par e-mail, via les identifiants sociaux, par authentification unique (SSO, Single Sign-On) et par authentification multifacteur (MFA, Multi-Factor Authentication).

  • Définir des domaines d'application et des autorisations correspondant directement à vos outils MCP.

  • Présenter aux utilisateurs une page de consentement correspondant aux autorisations demandées.

Imposer des autorisations afin que les agents puissent uniquement invoquer les outils autorisés. 

Faites vos premiers pas en suivant les exemples ci-dessous. Cliquez sur le bouton « Déployer sur Cloudflare » pour déployer les serveurs MCP de démonstration sur votre compte Cloudflare. Ces démos comprennent des points de terminaison d'authentification préconfigurés, des flux de consentement et des modèles d'autorisation que vous pouvez adapter à vos besoins. Après avoir déployé les serveurs MCP de démonstration, vous pouvez utiliser le bac à sable Workers AI Playground, un client MCP distant basé sur navigateur, pour tester l'ensemble de la procédure pour utilisateurs. 

Stytch

Faites vos premiers pas avec un serveur MCP distant utilisant Stytch pour permettre aux utilisateurs de se connecter par e-mail, avec leurs identifiants Google ou via l'authentification SSO de leur entreprise, puis autoriser leur agent IA à afficher et gérer les OKR de l'entreprise en leur nom. Stytch gérera la restriction des domaines d'application accordés à l'agent IA en fonction du rôle de l'utilisateur et des autorisations dont il dispose au sein de son entreprise. Lors de l'autorisation du client MCP, chaque utilisateur verra s'afficher une page de consentement décrivant les autorisations que l'agent lui demande d'accorder en fonction de son rôle.

Déployer sur Cloudflare

Pour plus de scénarios d'utilisation grand public, vous pouvez déployer un serveur MCP distant pour une application de gestion des tâches utilisant Stytch pour l'authentification et l'autorisation du client MCP. Les utilisateurs peuvent se connecter par e-mail, puis accéder immédiatement aux listes de tâches associées à leur compte, mais également accorder l'accès à un assistant IA afin qu'il les aide à gérer leurs tâches.

Déployer sur Cloudflare

Quel que soit le scénario d'utilisation, Stytch vous permet de transformer facilement votre application en fournisseur d'identité OAuth 2.0 et de transformer votre serveur MCP distant en client Relying Party, afin qu'il puisse facilement hériter de l'identité et des autorisations depuis votre application. Pour en savoir plus sur la manière dont Stytch permet une authentification sécurisée aux serveurs MCP distants, consultez l'article de blog de la plateforme.

« L'un des défis qu'implique la réalisation de la promesse des agents IA consiste à permettre à ces derniers d'accéder de manière sécurisée et fiable aux données provenant d'autres plateformes. La solution Stytch Connected Apps est conçue pour ces scénarios d'utilisation agentiques, simplifiant la transformation de votre application en fournisseur d'identité OAuth 2.0, avec l'objectif de sécuriser l'accès aux serveurs MCP distants. En associant Cloudflare Workers à Stytch Connected Apps, nous éliminons les obstacles pour les développeurs et leur permettons d'évoluer rapidement des démonstrations de faisabilité de l'IA vers des implémentations sécurisées et déployées. » – Julia Lamb, cofondatrice et CTO, Stytch.

Auth0

Faites vos premiers pas avec un serveur MCP distant utilisant Auth0 pour authentifier les utilisateurs par e-mail, via les identifiants sociaux ou via l'authentification SSO de leur entreprise, leur permettant d'interagir avec leurs applications de gestion des tâches et leurs données personnelles par le biais d'agents IA. Le serveur MCP établit une connexion sécurisée aux points de terminaison d'API pour le compte des utilisateurs, en indiquant exactement les ressources auxquelles l'agent pourra accéder lorsqu'il aura obtenu le consentement de l'utilisateur. Dans cette implémentation, les jetons d'accès sont automatiquement actualisés lors des interactions de longue durée.

Pour configurer cette implémentation, déployez d'abord le point de terminaison d'API protégé :

Déployer sur Cloudflare

Ensuite, déployez le serveur MCP qui gère l'authentification via Auth0 et connecte en toute sécurité les agents IA à votre point de terminaison d'API. 

Déployer sur Cloudflare

« Cloudflare continue à faciliter le travail des développeurs créant des produits IA avec des outils tels qu'AI Gateway, Vectorize et Workers AI. Le récent ajout de serveurs MCP distants démontre, une fois encore, que Cloudflare Workers et Durable Objects constituent une plateforme d'exception pour le déploiement de solutions IA serverless. Nous sommes très fiers qu'Auth0 puisse contribuer à répondre aux besoins d'authentification et d'autorisation de ces charges de travail innovantes. » – Sandrero Di Mattia, Sr. Director, Product Architecture de Auth0.

WorkOS

Faites vos premiers pas avec un serveur MCP distant utilisant le service WorkOS AuthKit pour authentifier les utilisateurs et gérer les autorisations accordées aux agents IA. Dans cet exemple, le serveur MCP expose dynamiquement les outils en fonction du rôle et des droits d'accès de l'utilisateur. Tous les utilisateurs authentifiés ont accès à l'outil add, mais seuls les utilisateurs à qui l'autorisation image_generation a été attribuée dans WorkOS peuvent accorder à l'agent IA l'accès à l'outil de génération d'images. Cet exemple démontre comment les serveurs MCP peuvent exposer conditionnellement leurs capacités aux agents IA en fonction du rôle et de l'autorisation de l'utilisateur authentifié.

Déployer sur Cloudflare

« MCP devient la norme en matière d'intégration des agents IA, mais l'authentification et l'autorisation restent des lacunes importantes au regard de l'adoption par les entreprises. WorkOS Connect permet à n'importe quelle application de devenir un serveur d'autorisation OAuth 2.0, permettant aux agents et aux clients MCP d'obtenir en toute sécurité des jetons pour définir des autorisations détaillées, ainsi que l'accès aux ressources. Avec Cloudflare Workers, les développeurs peuvent rapidement déployer des serveurs MCP distants intégrant la prise en charge d'OAuth et un contrôle d'accès conçu pour les grandes entreprises. Ensemble, WorkOS et Cloudflare facilitent le déploiement d'une infrastructure d'agents sécurisée, adaptée aux grandes entreprises. » – Michael Grinich, CEO de WorkOS.

WebSockets avec hibernation : mettez les agents IA en sommeil lorsqu'ils ne sont pas utilisés

À compter d'aujourd'hui, une nouvelle amélioration apparaît dans la classe McpAgent : la prise en charge de l'API WebSockets Hibernation, qui permet à votre serveur MCP de se mettre en sommeil lorsqu'il ne reçoit pas de requêtes et de se réveiller instantanément lorsque la situation l'exige. Ainsi, vous payez des frais de calcul uniquement lorsque votre agent travaille réellement.

Nous avons récemment lancé la classe McpAgent, qui permet aux développeurs de créer des serveurs MCP distants sur Cloudflare en utilisant des instances Durable Objects pour maintenir des connexions avec état pour chaque session client. Dès le départ, nous avons opté pour le développement de mpAgent avec état, afin de permettre aux développeurs de créer des serveurs capables de mémoriser le contexte, les préférences des utilisateurs et l'historique des conversations. Toutefois, le maintien des connexions des clients permet à la session de rester active pendant une longue période, même lorsqu'elle n'est pas utilisée. 

Les agents MCP peuvent être mis en hibernation par défaut

Il n'est pas nécessaire de modifier votre code pour tirer profit de l'hibernation. Avec la dernière mise à jour du SDK, toutes les instances McpAgent intègrent automatiquement la prise en charge de l'hibernation, permettant à vos serveurs MCP avec état d'entrer en sommeil pendant les périodes d'inactivité et de se réveiller, sans perdre leur état, lorsque la situation l'exige. 

Fonctionnement

Lorsqu'une requête parvient au point de terminaison Server-Sent Events (/sse), l'instance Workers initialise une connexion WebSocket à l'instance Durable Objects associée pour la session, puis renvoie un flux SSE au client. Toutes les réponses circulent via ce flux.

Cette implémentation tire parti de l'API WebSocket Hibernation au sein de Durable Objects. En cas de période d'inactivité, l'instance Durable Objects peut être expulsée de la mémoire, tout en maintenant la connexion WebSocket ouverte. Si le WebSocket reçoit ultérieurement un message, le runtime recrée l'instance Durable Objects et transmet le message au gestionnaire approprié.

Durable Objects inclus dans l'offre gratuite

Pour vous aider à développer des agents IA sur Cloudflare, la solution Durable Objects est maintenant disponible dans l'offre gratuite, afin que vous puissiez faire vos premiers pas sans engagement. Avec le SDK Agents, vous déployez vos agents IA sur Cloudflare et les exécutez dans des instances Durable Objects.

Les instances Durable Objects offrent une puissance de calcul et un stockage durable qui, associé avec Workers, permet le développement d'applications serverless avec état. Chaque instance Durable Objects est un coordinateur avec état permettant de gérer les interactions client en temps réel, de transmettre des requêtes à des services externes tels que les LLM et de créer une « mémoire » agentique par le biais de la persistance de l'état dans un stockage SQLite sans latence – autant de tâches que doit pouvoir accomplir un agent IA. Les instances Durable Objects peuvent évoluer avec facilité pour inclure des millions d'agents ; chaque agent créé à proximité de l'utilisateur interagit avec son agent afin de garantir des performances rapides, l'ensemble étant géré par Cloudflare. 

Le stockage SQLite sans latence dans Durable Objects a été lancé pendant la version bêta publique de septembre 2024, à l'occasion de la Semaine anniversaire de Cloudflare. Depuis, nous avons priorisé les fonctionnalités et la robustesse qui faisaient défaut par rapport au stockage clé-valeur préexistant dans Durable Objects. Nous sommes ravis de proposer le stockage SQLite en disponibilité générale, avec une base de données SQLite de 10 Go par instance Durable Objects, et nous recommandons le stockage SQLite pour toutes les nouvelles classes Durable Objects. L'offre gratuite de la solution Durable Objects peut uniquement accéder au stockage SQLite.

L'offre gratuite de Cloudflare vous permet de développer des applications dans le monde réel. Dans l'offre gratuite, chaque requête d'une instance Workers peut faire appel à une instance Durable Objects. Pour une tarification en fonction de l'utilisation, l'utilisation du calcul et du stockage associés aux instances Durable Objects est facturée en fonction des limites suivantes de l'offre gratuite.

 

Workers : offre gratuite

Workers : offre payante

Calcul : requêtes

100 000/jour

1 million/mois inclus

+0,15 USD/million

Calcul : durée

13 000 Go-s/jour

400 000 Go-s/mois inclus 

+12,50 USD/million de Go/s

Stockage : lignes lues

5 millions/jour

25 milliards/mois inclus

+ 0,001 USD/million 

Stockage : lignes écrites

100 000/jour

50 millions/mois inclus

+1 USD/million

Stockage : données stockées en SQL

5 Go (total)

5 Go/mois inclus

+0,20 USD/Go-mois

Retrouvez-nous sur agents.cloudflare.com

Nous sommes conscients que cela représente beaucoup de nouvelles informations à assimiler, mais ne vous inquiétez pas. Que vous découvriez tout juste les agents ou que vous cherchiez à en savoir plus sur la manière dont Cloudflare peut vous aider à les développer, nous avons lancé aujourd'hui un nouveau site pour vous aider à faire vos premiers pas : agents.cloudflare.com

Racontez-nous ce que vous développez !

Nous protégeons des réseaux d'entreprise entiers, aidons nos clients à développer efficacement des applications à l'échelle d'Internet, accélérons tous les sites web ou applications Internet, repoussons les attaques DDoS, tenons les pirates informatiques à distance et pouvons vous accompagner dans votre parcours d'adoption de l'architecture Zero Trust.

Accédez à 1.1.1.1 depuis n'importe quel appareil pour commencer à utiliser notre application gratuite, qui rend votre navigation Internet plus rapide et plus sûre.

Pour en apprendre davantage sur notre mission, à savoir contribuer à bâtir un Internet meilleur, cliquez ici. Si vous cherchez de nouvelles perspectives professionnelles, consultez nos postes vacants.
Developer WeekIAAgentsDéveloppeursModel Context Protocol,MCP

Suivre sur X

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

Publications associées