Skip to Content

CloudflareDeployer

The CloudflareDeployer class handles deployment of standalone Mastra applications to Cloudflare Workers. It manages configuration, deployment, and extends the base Deployer class with Cloudflare specific functionality.

Installation

npm install @mastra/deployer-cloudflare@latest

Usage example

src/mastra/index.ts
import { Mastra } from "@mastra/core/mastra"; import { CloudflareDeployer } from "@mastra/deployer-cloudflare"; export const mastra = new Mastra({ // ... deployer: new CloudflareDeployer({ projectName: "hello-mastra", scope: "", auth: { apiToken: process.env.CLOUDFLARE_API_TOKEN!, apiEmail: "name@email.com" } }) });

See the CloudflareDeployer API reference for all available configuration options.

Cloudflare API token

In your Cloudflare dashboard, navigate to Profile > API Tokens, then select Edit Cloudflare Workers and click Use template to create a token for the CloudflareDeployer.

To learn how to create a Cloudflare API token, see Create API token  in the Cloudflare docs.

Manual deployment

Manual deployments are also possible using the Cloudflare Wrangler CLI . With the Wrangler CLI installed run the following from your project root to deploy your application.

npm run build && wrangler deploy --config .mastra/output/wrangler.json

You can also run wrangler dev --config .mastra/output/wrangler.json from your project root to test your Mastra application locally.

Build output

The build output for Mastra applications using the CloudflareDeployer includes all agents, tools, and workflows in your project, along with Mastra specific files required to run your application on Cloudflare.

      • index.mjs
      • wrangler.json
  • package.json

The CloudflareDeployer automatically generates a wrangler.json configuration file in .mastra/output with the following settings:

{ "name": "hello-mastra", "main": "./index.mjs", "compatibility_date": "2025-04-01", "compatibility_flags": ["nodejs_compat", "nodejs_compat_populate_process_env"], "observability": { "logs": { "enabled": true } }, "vars": { "OPENAI_API_KEY": "..", "CLOUDFLARE_API_TOKEN": "..." } }

Next steps