Migrate Your Supabase Project via Chat
One prompt. Your entire Supabase backend — schema, data, edge functions, auth — migrated while you watch. Use hosted OAuth in ChatGPT or Claude, or use focused Staticbot skills with an API key in Codex CLI and Claude Code.
Staticbot offers a hosted MCP server for chat clients and focused skills with a direct REST fallback for coding agents. That means you can run a full Supabase migration from chat or your terminal — just tell your AI agent what to migrate and where. No dashboard workflow or copy-pasting credentials between tabs.
Since launch, we've added support for Bolt, Firebase, and Base44 migrations, self-hosted Supabase targets with downloadable packages, live preview deployments to verify your app works before switching over, and a Chrome extension bridge that makes Lovable sync fully hands-free.
Using Codex CLI or another skill-capable agent? Install the Staticbot skill collection and provide STATICBOT_API_KEY through the agent's environment. The focused migrate-vibe-coded-app skill supplies the workflow and decision gates; its direct REST fallback means MCP is optional.
What You Need
A chat or coding agent
ChatGPT, Claude, Codex, Claude Code, Cursor, or another skill-capable client
A Staticbot account
Hosted chat uses OAuth. Codex CLI and Claude Code use an API key from app.staticbot.dev/developer.
Your project details
GitHub repo URL, source platform (Lovable/Bolt/Firebase/Base44), and target Supabase project
Supported Platforms
Staticbot's migration pipeline adapts to your source platform automatically:
Lovable + Supabase
Full 8-phase pipeline with Chrome extension bridge for hands-free edge function deployment.
Bolt + Supabase
Same pipeline tuned for Bolt.new-built apps on Supabase.
Firebase
6-phase pipeline with AI-assisted Firestore-to-Postgres schema design. Requires Firebase service account JSON.
Base44 + Supabase
Base44 apps backed by Supabase. Backend switchover updates Base44 platform secrets.
Base44 Native
Base44 apps using the @base44/sdk against Base44's managed backend. DDL synthesized from entity schemas.
Step 1: Set Up Staticbot
Hosted chat: ChatGPT
Staticbot's public ChatGPT directory listing is pending review, so add it manually — it works today, with no API key and no local Node process:
- In ChatGPT, open Settings → Security and login and enable Developer mode.
- Open Plugins, select the plus button, name it Staticbot, and enter
https://mcp.staticbot.dev/mcp. - Choose User-Defined OAuth Client. Set the Client ID to
staticbot-openai, token endpoint authentication tonone, and leave PKCE on. Skipping this is why a connection fails to authorize. - Sign in to Staticbot and approve the scopes —
staticbot:readalone for a read-only connection, plusstaticbot:writeonly if you want ChatGPT to make changes. - Start a new chat and pick Staticbot from the tools menu.
Claude Code and Codex use the skills-plus-API-key setup below instead.
Coding agents: skills + API key
For Codex CLI and Claude Code, install the Staticbot skills as personal skills, create an organization-scoped key at app.staticbot.dev/developer, and expose it to the process as STATICBOT_API_KEY. Do not paste it into chat or commit it. MCP is not required for this path.
Optional local MCP for API-key clients
Add the public @staticbot/mcp package to your .mcp.json. It runs through npx, so there is nothing to clone or build:
{
"mcpServers": {
"staticbot": {
"command": "npx",
"args": ["-y", "@staticbot/mcp"],
"env": {
"STATICBOT_API_KEY": "sk-your-api-key-here"
}
}
}
}For Cursor, Windsurf, or another MCP client, use the same npx -y @staticbot/mcp command and environment variables. See the MCP Server docs for full setup instructions.
Step 2: Paste the Prompt
Open your AI agent's chat and describe what you want. The agent will use Staticbot's MCP tools or the skill collection's direct REST fallback to gather what it needs — reading your .env, finding integrations, and creating the migration. Here are some examples:
Lovable / Bolt
Migrate my Lovable project to my own Supabase. My repo is https://github.com/username/my-project My Lovable project ID is abc123-def456 Target Supabase project ref: xyz789
Self-hosted Supabase (downloadable package)
Migrate my Bolt project to my own self-hosted Supabase instance. I want the downloadable package so I can apply it myself.
That's it. Your AI agent will use the connected Staticbot tools or the skill collection's API fallback to orchestrate the migration — finding integrations, parsing credentials, presenting the discovery inventory, and walking you through each decision gate.
What Happens Next
The AI agent calls Staticbot through the hosted tools or the skill collection's API fallback. Here's the full pipeline — and where it'll ask for your input:
Setup
AutoReads your .env to find the source Supabase URL and anon key. Lists connected integrations (Supabase, GitHub). Creates or selects a template from your repo.
Discovery
AutoInventories your source project — tables, edge functions, storage buckets, auth providers, migration files. Presents the inventory for your explicit approval.
DB Migration
AutoApplies all SQL migration files and enables required extensions on the target.
Data Import
AutoDeploys an export edge function, calls it to export your data, and imports it to the target. Also copies storage objects, secrets, cron jobs, and OAuth identities.
Edge Functions
AutoDeploys all your edge functions to the target Supabase project.
Auth Config
AutoUpdates auth configuration — providers, redirect URLs, site URL.
Backend Switchover
AutoAsks how you want to handle the switch — fully switch to the new Supabase, keep preview on the old one, or park the migration as a backup.
Preview & Hosting
AutoAnalyzes the repository, reports the supported target and ownership model, then builds a live preview so you can verify everything before deciding how to host it.
Continuous Sync
AutoSets up automatic GitHub-to-target sync so every push keeps your backend up to date.
Hands-free Lovable sync: If you have the Staticbot Chrome extension installed, the agent can trigger Lovable deployments automatically via the local bridge. Without the extension, you'll paste deploy staticbot edge function into the Lovable AI chat — the only manual step in the whole pipeline.
What's New Since Launch
Self-hosted targets
Choose SUPABASE_SELF_HOSTED to get an AES-256-encrypted downloadable package instead of migrating directly to a managed project. Unzip, run Claude Code, follow the bundled CLAUDE.md.
Live preview deployments
Before switching over, Staticbot analyzes the repository and builds a preview on the supported target — such as Cloudflare Workers for SSR apps or AWS for static ones — so you can verify everything works.
Repository-aware hosting
After preview validation, Staticbot reports the repository-derived deployment target and whether the available flow uses customer-owned or Staticbot-managed infrastructure. The agent does not guess the provider.
Self-navigating pipelines
The API returns a pendingAction telling the agent exactly what to do next — no hard-coded phase logic needed. Agents follow the breadcrumbs.
Why use Staticbot from an AI agent?
Conversational
No need to learn a new UI. Your AI agent explains what's happening at each step and asks for approval when needed.
Faster setup
The agent reads your .env, finds your integrations, and creates the migration — no manual form-filling.
Smart error handling
If a job fails, the agent can retry or skip it. The API surfaces a categorized failureBanner with actionable explanations.
Works across chat and coding agents
Use hosted tools in ChatGPT or Claude, focused skills in Codex CLI or Claude Code, or the optional local MCP package in compatible clients.
Ready to migrate from chat?
Connect Staticbot in ChatGPT or Claude, or give your coding agent the focused skills and a Staticbot API key. Then tell it what to migrate.
