Account
Supabase — Save user data & logins
Give your app accounts, a real database, file uploads, and row-level security — Marnix sets it all up.
What you get
Real user accounts (email/password, Google OAuth, magic links), a Postgres database, file storage, and automatic row-level security so each user only sees their own data. Marnix creates the tables, writes the RLS policies, generates TypeScript types, and wires up the environment variables for you — no SQL editor, no dashboard clicks.
When you'd reach for this
- Recipe sharing app — users sign up, save their recipes, upload photos. Each user can only edit their own recipes.
- Habit tracker — daily check-ins persisted so the streak survives reloads and works across their phone + laptop.
- Team wiki / CMS — team members log in, create pages, invite teammates. Permissions per workspace.
- Freelancer invoice tracker — login, client list, invoice history. Survives across devices and years.
- Community directory — members upload profiles, search each other, DM, follow. Public profiles, private messages.
How to connect
1. Create a Supabase project (free)
Sign up at supabase.com, create a new project, set a database password, and pick a region close to your users. Supabase's free tier covers the first 500MB of storage and 50,000 monthly active users — enough for most prototypes and early production.
2. Generate a Personal Access Token (PAT)
Open supabase.com/dashboard/account/tokens and click Generate new token. Name it “Marnix” and copy the sbp_... string.
The PAT is org-wide — we pin it for you
Supabase PATs technically grant access to every project in your org. Marnix stores your PAT encrypted and pins every request to the specific project_ref you selected — so even though the token is org-wide, Marnix can only touch that one project.
3. Paste in Marnix
Open Integrations → Save user data & logins. Paste your Project ID (from the URL: supabase.com/dashboard/project/your-project-id) and the PAT. Click Connect — we auto-fetch your publishable key from Supabase's Management API, so you don't need to paste a third thing.
Example prompts (after connecting)
- “Let users sign up with email or Google and save the recipes they create.”
- “Add a photo upload field — up to 5MB each, stored in Supabase Storage.”
- “Make it so users can only see and edit their own entries.”
- “Add a public profile page at /u/[username] anyone can view.”
- “Generate TypeScript types from my tables and use them across the app.”
Fallback: no PAT
If you can't or don't want to create a PAT, click “Can't use a PAT?” in the connect dialog and paste your Publishable key manually (from Settings → API Keys in your Supabase dashboard, starts with sb_publishable_). You lose zero-setup mode — Marnix will still generate the SQL but you'll run it yourself in the Supabase SQL editor.
Troubleshooting
- “Invalid PAT” — regenerate at supabase.com/dashboard/account/tokens. PATs can be revoked from that page too.
- Project ID not found — it's the 20-char string in your Supabase URL, e.g.
lbzrkyzpeifxqmywamoc. Not your project name. - Tables not being created — open the Integrations panel, check the Supabase row shows “zero-setup on”. If not, the MCP didn't register — click Manage and re-paste your PAT to retry.