The MCP backend is live — 7 audited tools running inside your database right now (you can hit "Run a live test" on the MCP Server page to prove it). These steps add the thin web wrapper that lets Claude and Cursor connect to those tools by URL. Nothing here writes code — you paste a file I already wrote and click Deploy.
Part A · Deploy the wrapper (Supabase dashboard — no CLI needed)
Open your Supabase project
Sign in and open the PURE project.
supabase.com/dashboard project mbnakfrkfwxinhxlisyqGrab your service-role key (keep it secret)
This is the key the wrapper uses to run tools securely. You'll paste it in step 4 — never put it in a web page.
Settings API Project API keys service_role Reveal CopyCreate the Edge Function
Make a new function named pure-mcp, then replace its starter code with the file I already wrote for you.
Delete the sample code in the editor, then paste the entire contents of:
supabase/functions/pure-mcp/index.ts (in this project — open it, select all, copy)That file is the wrapper: it checks a bearer token, calls the live tools, and audits every call. It's ~120 lines and you don't change any of it.
Add the secrets
In the function's Secrets tab, add these. The first two make it work; the token you invent yourself (any long random text per person).
SB_URL = https://mbnakfrkfwxinhxlisyq.supabase.co SB_SERVICE_ROLE_KEY = (the key you copied in step 2) MCP_TOKENS = mike:LONGRANDOMSTRING1,lane-b:LONGRANDOMSTRING2
MCP_TOKENS maps each person to their own bearer token. Invent the strings (e.g. a password generator). You'll use "mike:"'s token to connect.
Deploy
Click Deploy (top-right of the function editor). When it finishes, your MCP URL is:
https://mbnakfrkfwxinhxlisyq.functions.supabase.co/pure-mcp
Test it (optional but satisfying)
Paste this in a terminal, swapping in your "mike" token — it should return your review-status tickets:
curl -X POST https://mbnakfrkfwxinhxlisyq.functions.supabase.co/pure-mcp \
-H "Authorization: Bearer YOUR_MIKE_TOKEN" \
-d '{"tool":"board.list","args":{"status":"review"}}'
No terminal? Skip it — connecting in step 7 is the real test.
Part B · Connect Claude or Cursor (so the AI can use it)
Claude Desktop
Settings Developer Edit Config add an MCP server entry pointing at the URL above with your bearer token. Restart Claude.
Cursor
Settings MCP Add new server paste the URL + bearer token. It appears in the tools list.
Once connected, the AI can call board.list, board.dispatch, board.claim, board.update, memory.get/set, and qa.log directly — and every call lands in your audit log.
Part C · (Later) real one-click deploys
Add a Netlify token for release.* (APR-3)
Only needed when you want the Releases buttons to actually publish to acquisto.biz. Create a Netlify personal access token, then add two more secrets to the same function:
NETLIFY_TOKEN = (Netlify User settings Applications New token) NETLIFY_SITE_ID = (your acquisto site id)
Without these, release.* safely queues an ops ticket instead of failing — so you can skip this until you're ready.