Cloudflare
Deploy bitmcp on Cloudflare Workers from dist/server.js.
bitmcp build emits dist/server.js, hashed View HTML under dist/ui/, and dist/manifest.json. Cloudflare Workers serve dist/server.js directly.
Scaffold for Cloudflare
npx bitmcp create my-app --deploy cloudflareThat writes deploy: "cloudflare" and wrangler.jsonc with main set to dist/server.js.
Set secrets and config
- Set
BITMCP_STATE_KEYas a Worker secret or var - Set
http.allowedHostsinbitmcp.config.tsto your workers.dev or custom domain - Set
MCP_URLwhen OAuth is enabled
nodejs_compat is required. Confirmations and ctx.ask require BITMCP_STATE_KEY in production.
Deploy
wrangler deployWrangler runs pnpm build and serves dist/server.js directly.
bitmcp.config.ts
import { defineConfig } from "bitmcp";
export default defineConfig({
deploy: "cloudflare",
http: {
path: "/mcp",
allowedHosts: ["your-worker.workers.dev"],
},
});When OAuth is enabled, set MCP_URL to your public MCP endpoint. See Authentication.
See also
Vercel and Node and custom deploy the same dist/server.js artifact.