How to Deploy a Figma Make Site With an MCP Server [Full Repo]

Figma Make gives you a working front end and a Figma-hosted link. Moving it onto a backend you own takes one prompt in your editor, and no deploy pipeline at all.

The site the guide deploys, live on its own subdomain: a walk log headed Biscuit's Walks with a green This Week panel reading 2 walks, 55 minutes and 3.6 km beside a Log a Walk form and a list of past walks

You described a page, Figma Make built it, and the preview looks right. Then you hit the wall every generated front end hits: it lives on Figma’s link, and the moment you want a database behind it, a login in front of it, or your own domain around it, you need the code somewhere you control.

Figma Make exports a plain React and Vite project, and an MCP server lets the assistant already open in your editor push that build straight onto your own backend — no CI, no FTP, no dashboard upload.

This guide takes a walk-logging app from an empty Figma Make prompt to a live HTTPS address. Measured on 23 September 2026, the whole deploy step — three files, from a local folder to a working URL — took 9.4 seconds.

Watch it instead

The same path on video: a prompt becomes a site in Figma Make, the code comes down, and the MCP server puts it on a live address. Five minutes, no deploy pipeline.

Video: Figma Make & Back4app MCP
Watch it instead Figma Make & Back4app MCP
From the Back4app channel. Everything in it is written out below, step by step, if you would rather read. Open on YouTube →

What does the MCP server actually give you?

It gives your editor’s assistant hands on your backend, so “deploy this” becomes a sentence instead of a pipeline. MCP — the Model Context Protocol — is the standard way an AI client talks to an external system, and Back4app publishes a server for it on npm.

Version 0.1.9 exposes 11 tools. Four of them matter here: deploy_web_hosting_files uploads a folder, list_cloud_code_and_web_hosting_files shows what is already up there, activate_web_hosting hands back a public subdomain, and get_parse_app tells the assistant which app it is working on.

The rest are what make this more than a file upload. call_parse_server_rest_api can create database classes and records, and deploy_cloud_code_files ships server-side functions. The same connection that publishes your front end can give it a backend later, without a second tool.

How do you generate the site in Figma Make?

Type what you want into the prompt box on the Figma home screen and press Make a file. For this guide the prompt asked for a dog-walk tracker that logs date, duration, distance and a note, lists past walks and totals the week.

Make picked its own visual direction — a warm field-notebook palette, serif headings — wrote the React component, and pre-loaded five sample walks so the result is immediately legible. It took under two minutes from prompt to working preview.

The Figma Make editor: the generated Biscuit's Walks app running in the preview panel, with the model's build log in the chat panel on the left

A red 1 error badge appeared under the chat. Clicking Fix for me is the honest move here, and in this case Make read its own output and reported the error was stale — the fix was already in the code and the preview’s hot reload had cached the old version.

Watch the credit counter while you work. Figma’s Starter plan allows 500 AI credits a month with a 150-a-day ceiling; the generation plus that one follow-up came to 38 credits, which leaves room for roughly four apps this size in a day.

How do you get the code out?

Switch the display toggle from Preview to Code and click the download icon above the file list. You get a zip of the whole project, not a bundle of HTML — this one was 28 KB.

The Figma Make Code view listing the project files — src, AGENTS.md, index.html, package.json, tsconfig.json and vite.config.ts — with the download icon in the file toolbar

Inside is an ordinary front-end project: React 19, Vite 8 and Tailwind CSS v4, with the components in src/App.tsx. Figma’s own Vite plugins are almost all gated to apply: 'serve', so they run the dev server and vanish from production builds.

That is the part worth internalising. Nothing about the output is proprietary, which is exactly why it can be hosted anywhere, and why the rest of this guide is the same for a site you wrote by hand.

What should you change before you build?

Open .figma/make/site.json and check two fields, because the defaults will cost you. Every generated project ships with "robots": { "index": false }, and the page title falls back to the literal string Figma Make App.

Those are not cosmetic. With index left false, a production build emits a robots.txt reading Disallow: / and a <meta name="robots" content="noindex, nofollow"> — so a site you deploy expecting traffic quietly asks every crawler to ignore it.

{
  "title": "Biscuit's Walks",
  "description": "Track and log your dog's walks…",
  "robots": { "index": true }
}

With the title set and indexing enabled, the build drops robots.txt entirely and the served page comes back titled Biscuit's Walks. Set both before the first deploy, not after.

How do you build it?

Install and build with the two commands the project already expects. Node 22 is pinned in the project’s .mise.toml, and Vite handles the rest.

npm install
npm run build

The production build lands in dist/ and is small: index.html at 0.84 kB, one stylesheet at 8.81 kB, and a 229.49 kB JavaScript bundle that gzips to 71.57 kB. Three files, and nothing to configure — the Vite config already resolves the base path to /, which is what serving from a domain root needs.

How do you connect the MCP server?

You need an account key. In the Back4app dashboard, open the avatar menu, choose Account Settings, then the Account Keys tab, type a name and press Enter. The key appears in the list and is valid for two years.

Then point your editor at the server. The configuration is the same shape in every MCP client — Cursor, Claude Code, VS Code — and the package is fetched on demand, so there is nothing to install first.

{
  "mcpServers": {
    "back4app": {
      "command": "npx",
      "args": [
        "-y",
        "@back4app/mcp-server-back4app@latest",
        "--account-key",
        "YOUR_ACCOUNT_KEY"
      ]
    }
  }
}

How do you deploy?

Ask. With the server connected and the build finished, the instruction is a sentence — name the folder and the app, and let the assistant call deploy_web_hosting_files.

Deploy the dist folder to my blog-demo app’s web hosting.

The tool uploads the files in batches of five, creates a release, and returns what it did. Three files went up as release v2 in 9.4 seconds, each with its checksum and version — index.html, the hashed stylesheet and the hashed bundle, with the assets/ structure preserved.

The Back4app Cloud Code explorer showing the deployed tree: a public folder containing assets with the hashed CSS and JS files, index.html, and the earlier probe file

Then ask for the address. activate_web_hosting returned a subdomain in 813 ms, and that is the whole deployment: two sentences, no dashboard, no pipeline.

Did it actually work?

Yes — the deployed site serves correctly and behaves like the preview did. Every file came back over HTTPS at the exact byte size the build produced: 848 B of HTML, 229,499 B of JavaScript, 8,818 B of CSS, with the page titled Biscuit's Walks.

More to the point, it is a working application and not a screenshot. Logging a walk of 42 minutes and 3.1 km moved the list from five entries to six and recalculated the weekly panel from 55 to 97 minutes and from 3.6 to 6.7 km.

Reload the page, though, and it drops back to five. The state lives in React memory, which is exactly the boundary Figma Make stops at — and the reason the next section matters more than the deploy did.

What are the limits worth knowing?

Three, all of them checkable in a minute and none of them blocking. The free-plan subdomain is a preview: activate_web_hosting returns a name prefixed preview- alongside an expiresAt timestamp exactly 60 minutes out. That is a sharing window, not hosting — a permanent subdomain or your own domain needs a paid plan.

Second, there is no single-page-app fallback. A request for a path with no matching file returns HTTP 403 with the body {"error":"unauthorized"} rather than rewriting to index.html. One-view apps like this one are unaffected; a router needs hash routes or a rewrite layer in front.

Third, everything is served with cache-control: public, max-age=0 and a weak ETag, including content-hashed assets that could safely be cached for a year. Revalidation is cheap, but you are not getting the immutable-asset caching the filenames were designed for.

What comes next?

Give it a database, using the connection you already have. The app currently forgets every walk on reload because nothing is storing them, and the same MCP server that just deployed the front end can fix that without a second integration.

call_parse_server_rest_api creates a class and writes records; deploy_cloud_code_files ships server-side functions that run where a browser cannot reach them. From the assistant’s side it is the same conversation: ask for a Walk class, then ask for the app to read and write it.

That ordering is the real argument for deploying here rather than leaving the site on a generated link. The front end and the data end up in one place, behind one account, reachable from one editor — and the step from “a page that looks right” to “an app that remembers” stops being a migration.

Tagsfigma-makemcpweb-hostingvitereactstatic-siteai-editor

Frequently asked questions

Can you deploy a Figma Make site somewhere other than Figma?

Yes. Figma Make exports the whole project — it is a standard React, Vite and Tailwind app — from the Code view's Download code button. Build it with npm run build and upload the dist folder anywhere that serves static files. On September 23, 2026, a three-file build went from a local dist folder to a live HTTPS subdomain in 9.4 seconds, driven by a single prompt through the Back4app MCP server.

What is the Back4app MCP server and what can it do?

It is an npm package, @back4app/mcp-server-back4app, that an AI editor runs over stdio so the assistant can act on your backend directly. Version 0.1.9 exposes 11 tools: creating and listing apps, reading and deploying web hosting files, deploying Cloud Code, calling the Parse REST API, and activating web hosting. You authenticate it with an account key from Account Settings, and it is free.

Why is my deployed Figma Make site not showing up on Google?

Because Figma Make ships it de-indexed by default. The generated .figma/make/site.json contains "robots": { "index": false }, which makes the production build emit a robots.txt reading Disallow: / and a noindex, nofollow meta tag. Set index to true in that file and rebuild before you deploy, or search engines will honour the block.

Do client-side routes work on Back4app web hosting?

Not without help. Web hosting serves the files you deploy and nothing else: on September 23, 2026 a request for a path with no matching file returned HTTP 403 with the body {"error":"unauthorized"}, not a rewrite to index.html. A single-page app with one view is fine; if yours uses a router, keep the routes in the URL hash or put a service that rewrites unknown paths in front.

How long does the free web hosting subdomain last?

Sixty minutes. Activating web hosting through the MCP server on a free-plan app returns a subdomain prefixed with preview- together with an expiresAt timestamp exactly one hour ahead — measured at 17:17 UTC on September 23, 2026, expiring at 18:17 UTC. It is enough to show a build to somebody. A permanent subdomain or a custom domain needs a paid plan.

Does the Figma Make free plan let you use AI enough to build a real page?

Comfortably, for small projects. The Starter plan comes with 500 AI credits a month and a 150-a-day ceiling. Generating this walk-log app from one prompt and then asking Make to fix a console error together cost 38 credits, leaving 462 for the month — roughly four apps of this size in a single day.

Further reading

Reviewed & verified by Back4app Engineering, Editorial review at Back4app

Tested Sep 23, 2026 — Design: Figma Make, Starter plan · Build: Node 22, Vite 8, React 19 · Hosting: Back4app web hosting, free plan.

More from Back4app Engineering

Backend · tutorial

How to Find the Nearest Driver in an Uber-Style App [Full Repo]

Containers · tutorial

How to Host a Static Website on Back4app Containers With Docker and nginx [Full Repo]

Backend · tutorial

Your Frontend Talks Straight to the Database. Here Is How to Lock It Down [Full Repo]