TL;DR: In the Mac IDE, open your project folder and pick Account → LingCode Cloud → Connect Backend to This Project. That writes .mcp.json and provisions a private Postgres backend (auth, storage, realtime, vector search) for that project. Start a new Claude (Native) session and ask for something that needs data or accounts — the agent creates tables and reads/writes through the lingcode-cloud tools. Manage it at lingcode.dev/backends. No external services, no extra credentials.
Most apps need a backend the moment they need to remember anything — a saved note, a logged-in user, an uploaded file. The usual path is to go sign up for Supabase or Firebase, create a project, copy a URL and a couple of keys, paste them somewhere, and hope you didn't leak them. LingCode Cloud removes that whole detour: every project gets its own managed backend, created from a single prompt, with zero credentials to juggle.
Think about what a backend actually is for a typical app: a database to store rows, a way for users to sign in, somewhere to put files, and ideally live updates so two browser tabs stay in sync. None of that is conceptually hard — but wiring it up traditionally means standing up a service, managing its credentials, and keeping those credentials out of your git history and your client bundle. For a prototype that might never ship, that ceremony is pure friction.
LingCode Cloud's answer is a managed backend per project. "Managed" means LingCode runs the Postgres, the auth, the storage, and the email — you never create an account on a third-party service or copy a secret key. "Per project" means each folder you connect gets its own isolated database (a private Postgres schema with row-level security), so two projects can't see each other's data even though they share the same infrastructure.
The connection itself is deliberately small: it teaches your project's agent how to reach the backend. After that, you talk to the agent in plain language — "let users sign up and save their notes" — and it provisions tables and writes the code. This tutorial explains what "connect" really does, walks the steps, and shows where to manage the result.
Two things happen when you connect a project, and it's worth knowing them separately because they fail and succeed independently:
.mcp.json in your project folder. That file registers a lingcode-cloud MCP server — the bridge the agent uses to talk to your backend. It carries your account token and a project key (a stable hash of the folder's path), so the agent's calls are scoped to this project's backend.The project key is the important idea. Because it's derived from the folder path, reopening the same folder and reconnecting reuses the same backend — your data is still there. Move or rename the folder and the key changes, so LingCode treats it as a new project (the old backend isn't deleted; this project just no longer points at it).
The backend is owned by whichever LingCode account the IDE is signed into. If the IDE is one account and your browser (lingcode.dev/backends) is another, you'll provision under one and look at the other — and wonder where your backend went. Use the same account in both places.
.mcp.json was written. (Connecting again later just refreshes the token — it's safe and idempotent.).mcp.json and picks up the lingcode-cloud tools).From there the agent calls provision_backend (ensuring the backend exists), apply_migration (creating the tables your app needs), and then writes the app against the backend's data API. You don't paste any keys — the tools are already authenticated through the connection.
A connected backend is not just a database. Every project backend ships with:
INSERT/UPDATE/DELETE events (RLS-filtered), so chat, collaborative lists, and dashboards update without polling.The agent knows about all of these and will reach for the right one — it'll subscribe to realtime instead of polling, add a vector column when you ask for semantic search, and so on.
Everything the agent provisions is visible (and editable) at lingcode.dev/backends, signed in with the same account. The console gives you a project switcher and, per backend:
The connection details here (the data URL and the anon key) are also what you'd paste into another MCP client — Claude Desktop or Cursor — to reach the same backend from outside the IDE.
Account → LingCode Cloud → Disconnect Backend removes the lingcode-cloud entry from .mcp.json. It does not delete the backend or its data — reconnecting the same folder later picks the same backend right back up (remember: the project key is the folder path). To actually destroy a backend and its data, use Delete backend in the console's Settings.
The one gotcha worth repeating: the backend belongs to the account the IDE is signed into, keyed by the folder path. If a project's backend "disappears", check (1) that the IDE and the web console are the same account, and (2) that the folder hasn't moved. Both are easy to verify and both explain the most common "where did it go" moment.
.mcp.json, which is per-machine. If you commit .mcp.json to a shared repo, treat it like any token: prefer keeping it out of version control, since anyone with it can reach your project's backend.