Registreer om nieuwe berichten te ontvangen:

Het puzzelstukje van de Agent in elkaar zetten: MCP, authenticatie en autorisatie en de gratis versie van Durable Objects

2025-04-07

9 minuten leestijd

Het is geen geheim dat we bij Cloudflare optimistisch zijn over de toekomst van agents. We zijn enthousiast over een toekomst waarin AI niet alleen met ons mee kan werken, maar waarin we zelfs volledige taken aan AI kunnen delegeren. 

Het is nog niet zo lang geleden dat we onze Agents SDK aankondigden om het voor ontwikkelaars eenvoudiger te maken om agents te bouwen. Om te bouwen aan een agentische toekomst moeten we dit doel echter continue blijven bereiken. Vandaag maken we verschillende aankondigingen om de ontwikkeling van agenten te versnellen, waaronder:

  • Nieuwe Agents SDK-mogelijkheden: bouw een externe MCP-client met ingebouwde transport- en authenticatiefuncties, zodat AI-agenten verbinding kunnen maken met externe services. 

  • BYO Auth-provider voor MCP: integraties met Stytch, Auth0 en WorkOS om authenticatie en autorisatie toe te voegen aan uw externe MCP-server. 

  • Hibernation voor McpAgent: automatisch stateful, externe MCP-servers in de slaapstand zetten wanneer ze inactief zijn en ze weer activeren wanneer dat nodig is. Hierdoor kunt u verbindingen behouden tijdens langdurige sessies, zonder dat u betaalt voor inactieve tijd. 

  • Gratis versie van Durable Objects: Wij beschouwen Durable Objects als een belangrijk onderdeel voor het bouwen van agents. Als u onze Agents SDK gebruikt, hebt u toegang tot deze service nodig. Tot nu toe was Durable Objects alleen toegankelijk als onderdeel van onze betaalde abonnementen. Vandaag zijn we er trots op dat we het kunnen toevoegen aan ons gratis abonnement.

  • Workflows GA: Hiermee kunt u productieklare, langlopende acties met meerdere stappen in agents verzenden.

  • AutoRAG: helpt u contextbewuste AI in uw applicaties te integreren, met slechts een paar klikken

  • agents.Cloudflare.com: onze nieuwe landingspagina voor alles wat met agents te maken heeft.

Nieuwe MCP-mogelijkheden in Agents SDK

AI-agents kunnen nu verbinding maken met externe services en ermee communiceren via MCP (Model Context Protocol). We hebben de Agents SDK bijgewerkt, zodat u een externe MCP-client in uw AI-agent kunt bouwen, met alle componenten (authenticatiestromen, tooldetectie en verbindingsbeheer) ingebouwd.

Hiermee kunt u agenten bouwen die:

  1. de eindgebruiker vragen om toegang te verlenen aan een service van derden (MCP-server).

  2. Gebruik hulpmiddelen van deze externe services, namens de eindgebruiker.

  3. MCP-servers aanroepen vanuit Workflows, geplande taken of een ander onderdeel van uw agent.

  4. verbinding maken met meerdere MCP-servers en ontdek automatisch nieuwe tools of mogelijkheden die de service van derden biedt.

MCP (Model Context Protocol) — voor het eerst geïntroduceerd door Anthropic — wordt snel de standaardmanier voor AI-agenten om te communiceren met externe services, waarbij providers als OpenAI, Cursor en Copilot het protocol omarmen.

Onlangs hebben we ondersteuning aangekondigd voor het bouwen van externe MCP-servers op Cloudflare en hebben we een McpAgent-klasse toegevoegd aan onze Agents SDK die automatisch de externe aspecten van MCP afhandelt: transport en authenticatie/autorisatie. We zijn er nu trots op dat we dezelfde mogelijkheden kunnen uitbreiden naar agenten die als MCP-client fungeren.

Wilt u het in actie zien? Gebruik de onderstaande knop om een volledig externe MCP-client te implementeren waarmee u verbinding kunt maken met externe MCP-servers.

Implementeren naar Cloudflare

AI-agenten kunnen nu fungeren als externe MCP-client, met transport en authenticatie inbegrepen

AI-agenten moeten verbinding maken met externe services om toegang te krijgen tot tools, gegevens en mogelijkheden die buiten hun ingebouwde kennis vallen. Dat betekent dat AI-agenten als externe MCP-client moeten kunnen optreden, zodat ze verbinding kunnen maken met externe MCP-servers die deze tools en mogelijkheden hosten. 

We hebben een nieuwe klasse, MCPClientManager, toegevoegd aan de Agents SDK. Hiermee krijgt u alle hulpmiddelen die u nodig hebt om uw AI-agent externe services via MCP te laten aanroepen. De klasse MCPClientManager verwerkt automatisch: 

  • Transport: Maak verbinding met externe MCP-servers via SSE en HTTP. Ondersteuning voor Streamable HTTP komt binnenkort beschikbaar. 

  • Verbindingsbeheer: De client houdt de status van alle verbindingen bij en maakt automatisch opnieuw verbinding wanneer een verbinding verloren gaat.

  • Capaciteitsdetectie: Ontdekt automatisch alle capaciteiten, hulpmiddelen, bronnen en prompts die door de MCP-server worden gepresenteerd.

  • Realtime-updates: wanneer de hulpmiddelen, bronnen of prompts van een server veranderen, ontvangt de client automatisch meldingen en wordt de interne status bijgewerkt.

  • Naamruimte: Wanneer u verbinding maakt met meerdere MCP-servers, worden alle tools en bronnen automatisch van een naamruimte voorzien om conflicten te voorkomen.

Agents toegang verlenen tot tools met ingebouwde verificatiecontrole voor MCP-client

We hebben de volledige OAuth-authenticatiestroom rechtstreeks in de Agents SDK geïntegreerd, zodat uw AI-agenten veilig verbinding kunnen maken met en authenticatie kunnen uitvoeren op elke externe MCP-server, zonder dat u de authenticatiestroom helemaal opnieuw hoeft op te bouwen.

Hiermee kunt u gebruikers een veilige manier bieden om in te loggen en expliciet toegang verlenen, zodat de agent namens hen kan handelen door automatisch: 

  • Ondersteuning van het OAuth 2.1-protocol.

  • Gebruikers doorverwijzen naar de inlogpagina van de service.

  • Het genereren van de code-uitdaging en het uitwisselen van een autorisatiecode voor een token.

  • Het token gebruiken om geverifieerde verzoeken aan de MCP-server te doen.

Hier is een voorbeeld van een agent die veilig verbinding kan maken met MCP-servers door de client te initialiseren, de server toe te voegen en de authenticatie-callbacks af te handelen:

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

Verbinding maken met meerdere MCP-servers en ontdekken welke mogelijkheden ze bieden

Met de Agents SDK kunt u een MCP-client tegelijkertijd met meerdere MCP-servers verbinden. Dit is vooral handig als u wilt dat uw agent toegang heeft tot de tools en bronnen van verschillende serviceproviders en hiermee kan communiceren. 

De klasse MCPClientManager onderhoudt verbindingen met meerdere MCP-servers via het object mcpConnections , een woordenboek dat unieke servernamen toewijst aan hun respectieve MCPClientConnection- instanties. 

Wanneer u een nieuwe serververbinding registreert met behulp van connect(), doet de manager het volgende: 

  1. Maakt een nieuw verbindingsexemplaar met serverspecifieke authenticatie.

  2. Initialiseert de verbindingen en registreert meldingen over servercapaciteit.

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

Elke verbinding beheert zijn eigen authenticatiecontext, waardoor één AI-agent zich tegelijkertijd bij meerdere servers kan authenticeren. Bovendien verwerkt MCPClientManager automatisch naamruimten om conflicten tussen tools met identieke namen van verschillende servers te voorkomen. 

Als bijvoorbeeld zowel een “Image MCP Server” als een “Code MCP Server” een tool met de naam “analyze” hebben, kunnen ze beide onafhankelijk van elkaar worden aangeroepen zonder naamgevingsconflicten.

Gebruik Stytch, Auth0 en WorkOS om authenticatie en autorisatie naar uw MCP-server te brengen 

Met MCP kunnen gebruikers op een nieuwe manier met uw applicatie communiceren. Ze zijn niet langer afhankelijk van het dashboard of de API als toegangspunt. In plaats daarvan wordt de service nu gebruikt door AI-agenten die namens een gebruiker handelen. Om ervoor te zorgen dat gebruikers en agenten veilig verbinding kunnen maken met uw service, moet u uw bestaande authenticatie- en autorisatiesysteem uitbreiden om deze agentinteracties te ondersteunen. Hiervoor moet u inlogstromen, machtigingsbereiken, toestemmingsformulieren en toegangsafdwinging voor uw MCP-server implementeren. 

We voegen integraties toe met Stytch, Auth0 en WorkOS , zodat iedereen die een MCP-server bouwt, eenvoudiger authenticatie en autorisatie voor zijn MCP-server kan configureren. 

U kunt onze MCP-serverintegratie met Stytch, Auth0 en WorkOS gebruiken om: 

  • Geef gebruikers de mogelijkheid om zich bij uw MCP-server te verifiëren via e-mail, sociale logins, SSO (single sign-on) en MFA (multi-factor authentication).

  • Definieer scopes en machtigingen die rechtstreeks zijn gekoppeld aan uw MCP-tools.

  • Geef gebruikers een toestemmingspagina die overeenkomt met de gevraagde machtigingen.

Zorg ervoor dat de machtigingen zo zijn ingesteld dat agenten alleen toegestane tools kunnen aanroepen. 

Ga aan de slag met de onderstaande voorbeelden door op de knop 'Implementeren in Cloudflare' te klikken om de demo MCP-servers in uw Cloudflare-account te implementeren. Deze demo's bevatten vooraf geconfigureerde authenticatie-eindpunten, toestemmingsstromen en toestemmingsmodellen die u kunt aanpassen aan uw behoeften. Nadat u de demo MCP-servers hebt geïmplementeerd, kunt u de Workers AI-speeltuin, een browsergebaseerde externe MCP-client, gebruiken om de end-to-end gebruikersstroom te testen. 

Stijl

Ga aan de slag met een externe MCP-server die Stytch gebruikt, zodat gebruikers zich kunnen aanmelden met e-mailadres, Google Login of Enterprise SSO en hun AI-agent kunnen machtigen om namens hen de OKR's van hun bedrijf te bekijken en beheren. Stytch zorgt ervoor dat de scopes die aan de AI-agent worden toegekend, worden beperkt op basis van de rol en machtigingen van de gebruiker binnen zijn organisatie. Wanneer u de MCP-client autoriseert, ziet elke gebruiker een toestemmingspagina waarop de machtigingen worden beschreven die de agent aanvraagt en die zij kunnen verlenen op basis van hun rol.

Implementeren naar Cloudflare

Voor meer consumententoepassingen kunt u een externe MCP-server implementeren voor een To Do-app die Stytch gebruikt voor authenticatie en MCP- client . Gebruikers kunnen zich aanmelden met hun e-mailadres en direct toegang krijgen tot de takenlijsten die aan hun account zijn gekoppeld. Ook kunnen ze toegang verlenen aan elke AI-assistent die hen kan helpen bij het beheren van hun taken.

Implementeren naar Cloudflare

Ongeacht het gebruiksscenario kunt u met Stytch uw applicatie eenvoudig omzetten in een OAuth 2.0-identiteitsprovider en uw externe MCP-server in een Relying Party, zodat deze eenvoudig identiteit en machtigingen van uw app kan overnemen. Wilt u meer weten over hoe Stytch veilige authenticatie voor externe MCP-servers mogelijk maakt, lees dan hun blogpost.

“Een van de uitdagingen bij het waarmaken van de belofte van AI-agenten is het in staat stellen van die agenten om op een veilige en betrouwbare manier toegang te krijgen tot gegevens van andere platforms. Stytch Connected Apps is speciaal ontwikkeld voor deze agentische use cases. Hiermee kunt u uw app eenvoudig omzetten in een OAuth 2.0-identiteitsprovider voor veilige toegang tot externe MCP-servers. Door Cloudflare Workers te combineren met Stytch Connected Apps, verwijderen we de barrières voor ontwikkelaars, waardoor ze snel de overstap kunnen maken van AI proofs-of-concept naar veilige, geïmplementeerde implementaties.” — Julianna Lamb, medeoprichter en CTO, Stytch.

Auth0

Ga aan de slag met een externe MCP-server die Auth0 gebruikt om gebruikers te verifiëren via e-mail, sociale logins of Enterprise SSO om via AI-agents te communiceren met hun todos en persoonsgegevens. De MCP-server maakt namens gebruikers een beveiligde verbinding met API-eindpunt, waarbij precies wordt aangegeven tot welke bronnen de agent toegang heeft zodra hij toestemming van de gebruiker heeft gekregen. Bij deze implementatie worden toegangstokens automatisch vernieuwd tijdens langdurige interacties.

Om dit in te stellen, implementeert u eerst het beveiligde API-eindpunt:

Implementeren naar Cloudflare

Implementeer vervolgens de MCP-server die authenticatie via Auth0 afhandelt en AI-agents veilig verbindt met uw API-eindpunt. 

Implementeren naar Cloudflare

"Cloudflare blijft ontwikkelaars die AI-producten bouwen de mogelijkheid bieden om tools als AI Gateway, Vectorize en Workers AI te gebruiken. De recente toevoeging van Remote MCP-servers laat verder zien dat Cloudflare Workers en Durable Objects een toonaangevend platform zijn voor de implementatie van serverless AI. We zijn er erg trots op dat Auth0 kan helpen bij het oplossen van de authenticatie- en autorisatiebehoeften voor deze geavanceerde workloads." — Sandrino Di Mattia, Auth0 Sr. Directeur, Productarchitectuur.

WorkOS

Ga aan de slag met een externe MCP-server die gebruikmaakt van WorkOS's AuthKit om gebruikers te verifiëren en de machtigingen te beheren die aan AI-agents worden verleend. In dit voorbeeld stelt de MCP-server hulpmiddelen dynamisch beschikbaar op basis van de rol en toegangsrechten van de gebruiker. Alle geverifieerde gebruikers krijgen toegang tot de tool voor het toevoegen , maar alleen gebruikers met de machtiging image_generation in WorkOS kunnen de AI-agent toegang verlenen tot de tool voor het genereren van afbeeldingen. Dit laat zien hoe MCP-servers mogelijkheden voorwaardelijk kunnen blootstellen aan AI-agenten op basis van de rol en machtigingen van de geauthenticeerde gebruiker.

Implementeren naar Cloudflare

“MCP wordt de standaard voor AI-agentintegratie, maar authenticatie en autorisatie vormen nog steeds grote hiaten voor de acceptatie door ondernemingen. Met WorkOS Connect kan elke applicatie een OAuth 2.0-autorisatieserver worden, waardoor agenten en MCP-clients veilig tokens kunnen verkrijgen voor gedetailleerde machtigingsautorisatie en toegang tot bronnen. Met Cloudflare Workers kunnen ontwikkelaars snel externe MCP-servers implementeren met ingebouwde OAuth en toegangscontrole op ondernemingsniveau. Samen maken WorkOS en Cloudflare het eenvoudig om een veilige, bedrijfsklare agentinfrastructuur te leveren.” — Michael Grinich, CEO van WorkOS.

WebSockets met slaapstand: zet AI-agents in slaapstand als ze niet in gebruik zijn

Vanaf vandaag is er een nieuwe verbetering beschikbaar in de McpAgent-klasse: ondersteuning voor de WebSockets Hibernation API. Hiermee kan uw MCP-server in slaapstand gaan wanneer er geen verzoeken worden ontvangen en direct weer worden geactiveerd wanneer dat wel nodig is. Dat betekent dat u nu alleen betaalt voor rekenkracht wanneer uw agent daadwerkelijk actief is.

Onlangs hebben we de McpAgent-klasse geïntroduceerd, waarmee ontwikkelaars externe MCP-servers op Cloudflare kunnen bouwen door gebruik te maken van Durable Objects om stateful verbindingen voor elke client te onderhouden. We hebben besloten om McpAgent vanaf het begin stateful te maken, zodat ontwikkelaars servers kunnen bouwen die context, gebruikersvoorkeuren en gespreksgeschiedenis kunnen onthouden. Maar als u client in stand houdt, kan de sessie lange tijd actief blijven, zelfs als deze niet wordt gebruikt. 

MCP-agents kunnen standaard in de slaapstand worden gezet

U hoeft uw code niet te wijzigen om gebruik te maken van de slaapstand. Met onze nieuwste SDK-update bevatten alle McpAgent-instanties automatisch ondersteuning voor slaapstand, waardoor uw stateful MCP-servers in slaapstand kunnen gaan tijdens inactieve perioden en geactiveerd kunnen worden met behoud van hun status wanneer dat nodig is. 

Hoe het werkt

Wanneer er een aanvraag binnenkomt op het Server-Sent Events-eindpunt, /sse, initialiseert de Worker een WebSocket-verbinding met het juiste Durable Object voor de sessie en retourneert een SSE-stream naar de client. Alle reacties stromen via deze stroom.

De implementatie maakt gebruik van de WebSocket Hibernation API binnen Durable Objects. Wanneer er periodes van inactiviteit optreden, kan het duurzame object uit het geheugen worden verwijderd, terwijl de WebSocket-verbinding open blijft. Als de WebSocket later een bericht ontvangt, maakt de runtime het Durable Object opnieuw aan en levert het bericht af aan de juiste handler.

Durable Objects op gratis niveau

Om u te helpen bij het bouwen van AI-agents op Cloudflare, stellen we Durable Objects beschikbaar in de gratis versie, zodat u zonder enige verplichting aan de slag kunt. Met Agents SDK worden uw AI-agents geïmplementeerd in Cloudflare, waarbij ze op Durable Objects draaien.

Durable Objects bieden rekenkracht en duurzame opslag, die in combinatie met Workers stateful, serverless applicaties mogelijk maken. Elk Durable Object is een stateful coordinator voor het verwerken van realtime interacties client, het maken van verzoeken aan externe services zoals LLM's en het creëren van agentisch 'geheugen' via statuspersistentie in SQLite-opslag met nul latentie - allemaal taken die vereist zijn in een AI-agent. Durable Objects schalen moeiteloos op naar miljoenen agents, waarbij elke agent die in de buurt van de gebruiker wordt gemaakt, communiceert met zijn agent voor snelle prestaties, allemaal beheerd door Cloudflare. 

SQLite-opslag met nul latentie in Durable Objects werd in september 2024 geïntroduceerd als openbare bètaversie voor Birthday Week. Sindsdien hebben we ons gericht op ontbrekende functies en robuustheid in vergelijking met de reeds bestaande sleutel-waardeopslag in Durable Objects. We zijn verheugd om SQLite-opslag algemeen beschikbaar te maken, met een SQLite-database van 10 GB per Durable Object. We raden SQLite-opslag aan voor alle nieuwe Durable Object-klassen. De gratis versie van Durable Objects heeft alleen toegang tot SQLite-opslag.

Met de gratis versie van Cloudflare kunt u echte applicaties bouwen. Met het gratis abonnement kan elke Worker-aanvraag een Duurzaam Object aanroepen. Bij prijzen op basis van gebruik brengen Durable Objects reken- en opslaggebruik in rekening met de volgende limieten voor de gratis laag.

 

Workers Free

Workers Paid

Berekenen: Verzoeken

100.000 / dag

1 miljoen / maand inbegrepen

+ $ 0,15 / miljoen

Berekenen: Duur

13.000 GB/dag

400.000 GB/maand inbegrepen 

+ $ 12,50 / miljoen GB-s

Opslag: Rijen gelezen

5 miljoen / dag

25 miljard / maand inbegrepen

+ $ 0,001 / miljoen 

Opslag: Rijen geschreven

100.000 / dag

50 miljoen / maand inbegrepen

+ $ 1,00 / miljoen

Opslag: SQL opgeslagen gegevens

5 GB (totaal)

5 GB per maand inbegrepen

+ $ 0,20 / GB-maand

Vind ons op agents.cloudflare.com

We beseffen dat dit veel informatie is om te verwerken, maar maak je geen zorgen. Of u nu nieuw bent met agents in het algemeen, of meer wilt weten over hoe Cloudflare u kan helpen bij het bouwen van agents, vandaag hebben we een nieuwe site gelanceerd om u op weg te helpen: agents.Cloudflare.com

Laat ons weten wat u bouwt!

We beschermen complete zakelijke netwerken, helpen klanten toepassingen op internet-schaal efficiënt te bouwen, versnellen websites en internettoepassingen, weren DDoS-aanvallen af, houden hackers op afstand, en kunnen je helpen bij je reis richting Zero Trust.

Bezoek 1.1.1.1 vanaf elk apparaat om aan de slag te gaan met onze gratis app die je internet sneller en veiliger maakt.

Als je meer wilt weten over onze missie om een beter internet te helpen opbouwen, klik dan hier. Als je op zoek bent naar een nieuwe carrièrerichting, bekijk dan onze openstaande vacatures.
Developer WeekAIAgentenOntwikkelaarsModel Context-protocol,MCP

Volg ons op X

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

Gerelateerde berichten