Cloudflare Workers development
Small services at the edge, with no server to look after.
Acasa Labs builds on Cloudflare Workers: edge APIs, remote MCP servers, and sites with D1 and Turnstile. NoteTube's remote MCP server runs on Workers with OAuth and audience-checked tokens, so ChatGPT, Claude, and Cursor can query a student's notes. SigmaCPM's marketing site runs on Workers with a D1-backed wait list.
The problem
Not everything needs a server.
A wait list, a webhook receiver, an MCP endpoint, or an API that mostly checks a token and reads a row does not need a container running all day. Workers run that code close to the user and scale down to nothing when idle. The catch is that Workers are not Node: CPU time per request is limited, long-running background work needs other tools, and storage comes in Cloudflare's own shapes. Used for the right jobs, Workers are hard to beat. Used for the wrong ones, they are a fight.
What we build with Cloudflare Workers
- 01
Remote MCP servers
MCP endpoints with OAuth, protected-resource metadata, and token audience checks, so AI assistants can use your product with your users' permission.
- 02
Edge APIs and webhooks
Small APIs, webhook receivers, and redirects that run near the user and stay up when your main backend is busy.
- 03
Sites and forms on Workers
Marketing sites and wait lists with D1 for storage and Turnstile against bots, with no server to patch.
- 04
Files on R2
Images and uploads stored in R2 and served through Cloudflare's network, without paying egress to read your own files.
From production
Workers in systems we run.
An MCP server at the edge
NoteTubeNoteTube's remote MCP server runs on Cloudflare Workers, so ChatGPT, Claude, and Cursor can query a student's notes through the same product the student uses on the web and in the app.
OAuth done properly
NoteTubeThe MCP server uses OAuth with protected-resource metadata and audience-checked tokens, so a token issued for some other service is refused.
A site and a wait list with no server
SigmaCPMSigmaCPM's marketing site runs on Cloudflare Workers with a D1-backed wait list and Turnstile, separate from the Django REST Framework backend that runs the product itself.
R2 as a storage option
KraftrKraftr's storage is pluggable across Google Cloud Storage, Cloudflare R2, and local disk, so the provider can be swapped by config. Siona Jewels runs on R2 too.
Honest trade-offs
When Workers are the wrong place
Long-running jobs, heavy Python, AI inference, and anything that holds a database connection open belong in a regular service. SigmaCPM's product runs on Django and NoteTube's AI runs on FastAPI, with Workers only for the parts that suit them. And if everything else you run is on one cloud already, its own serverless option may be simpler for your team to operate.
What we reach for
- Cloudflare Workers
- D1, KV, R2
- Durable Objects
- Cloudflare Turnstile
- OAuth, Model Context Protocol
- Wrangler, TypeScript
Proof
Shipped, not pitched.
01Our product
NoteTube
A lecture becomes a study system: chat, flashcards, quizzes, all grounded in the source.
An AI learning platform that turns PDFs, YouTube lectures, recordings, and notes into a structured notebook with grounded chat, spaced-repetition flashcards, and graded quizzes.
Web · iOS · Android · Chrome extension · MCP server
02Our product
SigmaCPM
Construction project management where AI reads the tender and shows its work.
One project record for civil contractors, from tender to closeout: bids, contracts, RFIs, vendor quotes, and drawings. The AI pulls line items and bond terms out of tender PDFs and cites the page for every value.
Web · API · Chrome extension
Questions
Cloudflare Workers questions we get asked.
What are Cloudflare Workers good for?
Code that is small, fast, and close to the user: APIs that read and check, webhook receivers, auth, MCP servers, and sites. Not long jobs or heavy compute.
Can you build a remote MCP server on Workers?
Yes. NoteTube's runs there, with OAuth, protected-resource metadata, and audience-checked tokens. We can build one for your product so AI assistants can use it on your users' behalf.
Can we run a whole Next.js site on Workers?
For most sites, yes, through the OpenNext adapter. We check your use of Node APIs and image handling first, because a few features need changes to run there.
Is D1 a real database?
It is SQLite at the edge, good for wait lists, settings, and read-heavy data. For a product's main records we still use Postgres.
Workers or AWS Lambda?
Workers start faster and run closer to users, with fewer moving parts. Lambda fits when everything else is on AWS or the code needs a full Node or Python runtime.
Cloudflare Workers development
Got a job that does not need a server?
A free 30-minute call on what you want to run on Workers, or the MCP server you want for your product. You leave with a plan and its limits.

