MIT-licensed npm SDK for stateful agents on Cloudflare Workers that can act as MCP server or client, with per-agent storage and cron scheduling.
Builders who want to own the agent runtime rather than rent a gateway, and who are happy on Cloudflare's platform. The README describes an Agent class with persistent state that syncs to connected clients and survives restarts, WebSockets with lifecycle hooks, one-time, recurring and cron scheduling, and durable workflows with human-in-the-loop approval. It is the right pick when the agent needs to be long-lived and addressable per user or per session, and when you want MCP in both directions — the SDK states agents can act as MCP servers or connect as MCP clients over HTTP, SSE, RPC and elicitation.
Anyone shopping for a tool catalogue should skip it outright. There is no library of pre-authenticated app connectors here — no Slack, Salesforce or Gmail tools, no stored user tokens for third-party SaaS. You write every tool, and if you want OAuth on your remote MCP server you wire up workers-oauth-provider yourself as authorization server, resource server or both. It also binds you to one vendor's runtime: the SDK only runs on Cloudflare Workers and Durable Objects, so the free ceiling is 100,000 requests a day and 10 ms of CPU per invocation, and anything real means the $5/month minimum paid plan plus metered Durable Objects. Non-developers and teams without TypeScript capacity have no self-serve path at all.
Pros
Cons
Yes. The repo at github.com/cloudflare/agents is MIT-licensed and the package ships on npm as agents. The companion workers-oauth-provider library, which adds OAuth 2.1 to remote MCP servers, is also MIT. Note the distinction: the code is open, but the runtime is not — these libraries are built for Cloudflare Workers and Durable Objects, which is a paid commercial platform beyond the free tier.
The SDK is free; the platform is not. Workers Free gives 100,000 requests a day with 10 ms CPU per invocation. Paid starts at a $5/month account minimum with 10 million requests and 30 million CPU-ms included, then $0.30 per million requests and $0.02 per million CPU-ms. Durable Objects add 1 million requests and 400,000 GB-s, then $0.15 per million requests and $12.50 per million GB-s.
Yes. The README states agents can act as MCP servers or connect as MCP clients, over HTTP, SSE, RPC and elicitation. For a remote server that needs authorization, Cloudflare's docs name Streamable HTTP for remote connections and stdio for local ones, and the MIT-licensed workers-oauth-provider implements OAuth 2.1 as authorization server, resource server, or both in a single Worker communicating over a Service Binding.
Partly. Agent state lives in Durable Objects, and Cloudflare documents three jurisdictions you can pin a namespace to: eu, us and fedramp (FedRAMP-Moderate data centers). Without a jurisdiction, the object is created in a data center near the first get() request, and location hints are described as best effort, not a guarantee. If residency is contractual, create a jurisdiction-restricted namespace rather than relying on hints.
Facts sourced from the vendor’s own site, last verified 2026-10-10.
The Weekly Source
One email a week. New listings, repriced tools, and the ones we would skip - including this one if its pricing changes.