The backend your AI-built app already has

MXCloud provisions database, user accounts, file storage, AI, email, real-time updates, edge functions, and country data for every project — automatically. No Supabase account. No API keys in your code. Same backend in preview and production.

12+
Platform services
0
Vendor accounts required
1
SDK for everything
MXCloud managed backend platform connecting apps to database, storage, auth, and AI services

From idea to live backend in four steps

MXCloud is not a separate product you configure — it is built into the MonstarX builder. Enable it once; the platform handles provisioning, codegen, and administration.

01

Describe your app

Tell MonstarX what you want to build. The AI planner knows MXCloud capabilities and won't ask you to set up Supabase or Resend when the platform already provides them.

02

Enable MXCloud

When your app needs a backend, tap "Use MonstarX Cloud instead — no key needed" in the workbench. The platform provisions your database, storage, and credentials in seconds.

03

Code ships with mx.* SDK

Generated apps include src/lib/mx.ts — a dependency-free SDK wired to your project token. The same code runs in preview sandboxes and on your live deployment.

04

Manage from the workbench

Browse your database, manage app users, toggle MCP country servers, and configure custom APIs — all from the MonstarX workbench without leaving the builder.

Everything your app needs, provisioned per project

Each service is accessed through the mx.* SDK — a single dependency-free library injected into every cloud-enabled app. Toggle MonstarX Cloud in the workbench; credentials and infrastructure follow automatically.

Database — Managed SQL, provisioned per project
Live mx.db

Database

Managed SQL, provisioned per project

Every cloud-enabled app gets its own isolated SQL database — created automatically when you enable MXCloud. No connection strings to copy, no region to pick, no vendor account to create. Your generated app runs schema bootstrap on first load and persists data through a simple query API.

Replaces optional BYO: Supabase

Capabilities

  • Dedicated database per project with structural isolation
  • Full SQL read/write from your generated app via the mx.db SDK
  • Schema bootstrap with CREATE TABLE IF NOT EXISTS on app start
  • Browse and edit tables directly in the MonstarX workbench
  • CSV export and visual schema diagram for owners

Use cases

SaaS dashboards storing customer records and settings Booking systems with appointments, slots, and availability Inventory and catalog apps with categories and stock levels Internal tools with forms, approvals, and audit trails

Example

import { mx } from '@/lib/mx';

const { results } = await mx.db.query(
  'SELECT * FROM bookings WHERE date >= ? ORDER BY date',
  [today]
);
User Accounts — Real auth for your app's end users
Live mx.auth

User Accounts

Real auth for your app's end users

Give your generated app real user accounts — registration, login, sessions, and password reset — without wiring Firebase or Supabase Auth. End-user accounts are separate from your MonstarX builder login. Sessions are handled by the platform; your app receives tokens and user profiles through the mx.auth SDK.

Capabilities

  • Email and password registration and login
  • Secure session tokens with refresh support
  • Forgot-password flow with platform-delivered email
  • User profile fields: name, avatar, account status
  • Manage app users from the workbench Users panel

Use cases

Member portals with private dashboards Customer accounts for order history and preferences Team workspaces with role-based views Subscription apps gating content behind login

Example

const session = await mx.auth.login({
  email: '[email protected]',
  password: '••••••••',
});

// Current user anywhere in the app
const me = await mx.auth.me();
Google Sign-In — One-click login with the platform Google app
Rolling out mx.auth.signInWithGoogle

Google Sign-In

One-click login with the platform Google app

Let users sign in with Google using MonstarX's own Google application — no Google Cloud project, no OAuth client ID, no redirect URI configuration. When a Google email matches an existing account and Google reports it verified, accounts link automatically.

Replaces optional BYO: Google OAuth connector

Capabilities

  • Platform-owned Google OAuth — zero setup for builders
  • Links to email/password account when addresses match
  • Federated identities stored separately from password accounts
  • Bring your own Google client if you need your brand on the consent screen

Use cases

Consumer apps where Google login reduces signup friction B2B tools where teams already use Google Workspace Mobile-friendly web apps needing fast authentication
File Storage — Uploads and public URLs without a bucket
Live mx.storage

File Storage

Uploads and public URLs without a bucket

Store files for your app — uploads, avatars, documents, and media — with per-project isolation. The platform handles storage infrastructure; your app gets upload endpoints and public file URLs through mx.storage.

Capabilities

  • Per-project storage namespace
  • Direct upload from generated apps
  • Public file URLs for images and documents
  • Signed URLs for controlled access when needed
  • Usage tracking from the workbench

Use cases

Profile photo uploads in user settings Document attachments on support tickets Product image galleries for e-commerce apps Generated PDF or report downloads

Example

const { url, path } = await mx.storage.upload({
  file: selectedFile,
  folder: 'avatars',
});
AI Service — LLM chat through platform credits
Live mx.ai

AI Service

LLM chat through platform credits

Add intelligent features to your app — chat, summarization, classification, content generation — without embedding your own API keys. MXCloud routes requests through the platform's model pool and bills against your MonstarX credits.

Replaces optional BYO: Anthropic, OpenRouter, OpenAI

Capabilities

  • Chat completions and streaming from generated apps
  • No provider API keys in client or server code
  • Metered through MonstarX billing and credits
  • Optional BYO keys via connectors if you prefer your own account

Use cases

AI assistants embedded in your product Auto-summarize long form submissions Smart search and natural language filters Content drafting for emails, posts, and descriptions

Example

const reply = await mx.ai.chat({
  messages: [
    { role: 'user', content: 'Summarize this feedback…' },
  ],
});
Email — Transactional email from your app's name
Live mx.email

Email

Transactional email from your app's name

Send transactional email — welcome messages, password resets, order confirmations, notifications — from your generated app without a Resend or SendGrid account. Recipients do not need a MonstarX account; volume is limited, not identity-limited.

Replaces optional BYO: Resend

Capabilities

  • Send to any address your app collects
  • Password reset and notification templates wired by codegen
  • Platform-delivered delivery — no SMTP configuration
  • Volume limits apply; no per-recipient account requirement

Use cases

Welcome email on user registration Password reset and magic-link flows Order and booking confirmation emails Admin alerts when forms are submitted

Example

await mx.email.send({
  to: user.email,
  subject: 'Your booking is confirmed',
  html: '<p>See you on Tuesday at 2pm.</p>',
});
Web Crawler — Read and extract public web pages
Rolling out mx.crawl

Web Crawler

Read and extract public web pages

Let your app fetch and extract content from public URLs — product pages, articles, listings — through the platform crawler. No headless browser infrastructure to maintain; the gateway handles fetch, extraction, and safe delivery back to your app.

Capabilities

  • URL fetch and content extraction via platform crawler
  • Designed for public pages — not a general scraping farm
  • Called from generated app code through mx.crawl
  • No separate crawler service to deploy

Use cases

Price or listing monitors for comparison apps Research assistants summarizing public articles Import tools pulling structured data from public pages Competitive intelligence dashboards

Example

const page = await mx.crawl({
  url: 'https://example.com/product/123',
});
// page.text, page.title, extracted metadata
Maps & Geocoding — Addresses to coordinates, maps without keys
Rolling out mx.map

Maps & Geocoding

Addresses to coordinates, maps without keys

Geocode addresses to coordinates and reverse-geocode coordinates to places through mx.map. Basemaps in generated apps use Leaflet and OpenStreetMap — no map API key required. For 3D terrain and custom cartography, connect Mapbox as a BYO connector.

Replaces optional BYO: Google Maps (geocoding)

Capabilities

  • Forward and reverse geocoding via mx.map
  • Leaflet + OpenStreetMap basemaps built into generated apps
  • No Google Maps API key for standard map views
  • Mapbox connector available for advanced 3D cartography

Use cases

Store locators with address search Delivery apps converting addresses to coordinates Event apps showing venues on a map Field service tools plotting job sites

Example

const { lat, lng } = await mx.map.geocode({
  address: '9 Straits View, Singapore',
});
Real-Time — Live updates across every open tab
Rolling out mx.realtime

Real-Time

Live updates across every open tab

Push live updates to every connected client when project data changes — no polling loops. mx.realtime delivers change notifications when tables update and supports ephemeral publish/subscribe channels for presence, typing indicators, and collaborative features.

Capabilities

  • Change notifications when database tables update
  • Ephemeral channels for presence and typing
  • WebSocket connection managed by the platform
  • Event payloads name the table — apps refetch authorized data

Use cases

Live dashboards that refresh when data changes Collaborative editing with presence indicators Chat and messaging features Multiplayer or shared session experiences

Example

const channel = mx.realtime.connect();
channel.subscribe('bookings', () => {
  refetchBookings();
});
Edge Functions — Scheduled jobs, webhooks, and table hooks
Rolling out mx.functions

Edge Functions

Scheduled jobs, webhooks, and table hooks

Declare server-side behavior the platform runs for you — scheduled cron jobs, inbound webhook endpoints for Stripe and form services, and table hooks that fire when rows change. Functions are declared in a structured config file from a closed action vocabulary; the platform executes them at the edge.

Capabilities

  • Cron schedules for cleanup and daily reports
  • Inbound webhook endpoints with platform routing
  • Table hooks on insert, update, or delete
  • Declared in .monstarx/functions.json — not arbitrary server code

Use cases

Stripe webhook handler for payment events Nightly cleanup of expired sessions Notify admin when a high-value order is placed Sync form submissions to external systems

Example

// .monstarx/functions.json
{
  "hooks": [{
    "table": "orders",
    "on": "insert",
    "action": "email:notify-admin"
  }]
}
Custom API — Call third-party REST APIs with keys held by the platform
Rolling out mx.api

Custom API

Call third-party REST APIs with keys held by the platform

Connect long-tail REST APIs — video generation, your own backend, niche SaaS tools — by declaring the service and API key in the workbench. Your app calls mx.api.call(); the gateway performs the request server-side with the key injected. Keys never ship in the client bundle.

Capabilities

  • Header-key REST APIs only — keys stored by the platform
  • Owner configures services in the Connectors panel
  • Server-side proxy — keys never exposed to browsers
  • Complements purpose-built connectors (Stripe, Twilio) for known services

Use cases

Video avatar APIs like Tavus Your existing REST backend as a data source Niche SaaS tools without a dedicated MonstarX connector Internal microservices behind API keys

Example

const result = await mx.api.call('my-backend', {
  path: '/v1/reports/weekly',
  method: 'GET',
});
Country Data — Live government & civic datasets — Asia-Pacific first
Live mx.mcp

Country Data

Live government & civic datasets — Asia-Pacific first

Access live country-specific datasets — weather, transit, air quality, company registry, carpark availability, and more — through MCP servers proxied by MXCloud. MonstarX is Singapore-based; our deepest coverage spans Southeast and South Asia, with dedicated servers per market.

Capabilities

  • Asia-Pacific first — 6 live APAC markets with flags and playgrounds below
  • Per-country MCP servers: Singapore, Japan, Malaysia, India, Indonesia, Philippines
  • UAE live for Middle East; Thailand and Vietnam coming soon
  • Enable in the workbench MCP panel; call mx.mcp.call() from your app
Asia-Pacific first

Built where we build — deep coverage across APAC

MonstarX is headquartered in Singapore. Country Data is strongest across Southeast and South Asia — live government datasets, transit, weather, air quality, and civic APIs per market, not generic global stubs.

6 markets live across Asia-Pacific today · 2 more on the way

Live — Asia-Pacific

🇸🇬 Singapore Live

Bus arrivals · Weather · Air quality · Company registry

Playground →
🇯🇵 Japan Live

Weather · Transit · Geocoding · Civic data

Playground →
🇮🇳 India Live

Weather · Geocoding · Company search · Civic APIs

Playground →
🇵🇭 Philippines Live

Weather · Geocoding · Public datasets

Playground →

Live — Middle East

Coming soon — Asia-Pacific

🇹🇭 Thailand Soon

Weather · Transit · Civic data

🇻🇳 Vietnam Soon

Weather · Geocoding · Public datasets

Use cases

Singapore transit apps with live bus arrivals Weather dashboards with hyperlocal forecasts Business lookup tools using company registry data Smart city and civic information apps

Example

const weather = await mx.mcp.call('sg', 'sg_weather_2h', {});

One gateway. Preview and production identical.

Generated apps call the MXCloud gateway over HTTPS — in E2B preview sandboxes and on deployed Workers alike. There are no environment-specific backend rewrites. Your project token authenticates every request; the gateway resolves your isolated database and storage from that token alone.

  • Builder plane — MonstarX workbench, Bot Worker, Brain Worker (Account A)
  • MXCloud gateway — cloud.monstarxapp.com (Account B, customer resources only)
  • Generated app — src/lib/mx.ts SDK, same code path everywhere
Architecture diagram showing generated app connecting through MXCloud gateway to backend services

One SDK. Every service.

Cloud-enabled apps ship with src/lib/mx.ts — injected by the platform, dependency-free, and wired to your project credentials. You never edit it by hand.

// MonstarX Cloud SDK — do not edit by hand.
import { MX_GATEWAY_URL, MX_PROJECT_TOKEN } from './mx-config';

export const mx = {
  db:      { query: (sql, params) => ... },
  auth:    { register, login, logout, me, ... },
  storage: { upload, file, list, sign, ... },
  ai:      { chat, stream, ... },
  email:   { send, ... },
  crawl:   { ... },
  map:     { geocode, reverse, ... },
  realtime:{ connect, subscribe, ... },
  api:     { call, ... },
  mcp:     { call, ... },
};

What MXCloud deliberately does not hold

Some services must stay in your account by design. MXCloud handles infrastructure; you keep control of money, SMS identity, and advanced map styling.

Payments

Your revenue must settle into your own Stripe account. MXCloud never holds customer payments.

Connector: Stripe

SMS

Per-message cost and sender identity belong to you. Connect Twilio with your own account.

Connector: Twilio

Advanced maps

3D terrain and custom cartography need Mapbox. Standard maps use OpenStreetMap at no extra cost.

Connector: Mapbox

Without vs with MXCloud

Task
Without MXCloud
With MXCloud
Database
Create Supabase project, copy connection string, configure RLS
Tap enable — database provisioned automatically
User accounts
Wire Firebase Auth or Supabase Auth, handle sessions
mx.auth with register, login, reset built in
AI features
OpenAI or Anthropic API key in env vars
mx.ai via platform credits — no key in code
Email
Resend account, domain verification, API key
mx.email sends from your app automatically
Preview vs live
Different env configs, keys, and often different backends
Same gateway URL and SDK in preview and production
Administration
Jump between vendor dashboards
Database, users, MCP from MonstarX workbench

Common questions

Is MXCloud the same as my MonstarX login? +

No. Your MonstarX account (Clerk) is for building apps on the platform. mx.auth creates accounts inside your generated app for your end users — customers, members, or team users of the product you built.

Do I need Supabase or Firebase? +

Not when MXCloud is enabled. Database and user accounts are provisioned automatically. You can still bring your own Supabase connector if you prefer full control over your data layer.

Does preview use the same backend as production? +

Yes. Generated apps call the MXCloud gateway over HTTPS in both E2B preview and deployed Workers. Your backend behavior is identical — no "works in dev, breaks in prod" surprises.

Is my data isolated from other apps? +

Yes. Each project gets its own database and storage namespace. Tokens are scoped to a single project; the gateway resolves resources from the token — there is no cross-tenant parameter.

Where are API keys stored? +

Project tokens and BYO connector keys are held server-side by the platform. Generated client code uses the mx SDK; keys for custom APIs are injected by the gateway at request time, not embedded in the browser bundle.

What about payments and SMS? +

MXCloud deliberately does not hold your revenue or send SMS on your behalf. Connect Stripe for payments and Twilio for SMS with your own accounts — the workbench guides you through setup.

Build apps with a backend included

Enable MXCloud in the MonstarX workbench and ship database, auth, storage, AI, and more — without configuring a single vendor account.