Skip to content
PURE

B-T64 · RPC backend LIVE · step-by-step deploy guidePURE MCP Server

BACKEND LIVE

Today the lanes drive the backend through Composio SQL + anon-key REST. The PURE MCP server turns every operation into a named, scoped, audited tool — no raw SQL in sessions, no anon-key writes from pages at go-live. One contract every MCP-capable client (Claude, Cursor, future lanes) uses to operate PURE identically.

The shape

ClientsClaude · Cursor · lanes
PURE MCP SERVERbearer auth per principal
named tools · per-tool scopes
every call audit_log
Supabaseservice-role + RLS checks
Netlify / FUB / Mapsscoped per connection

Bearer tokens minted per principal (Mike · lane-A · lane-B · verifier), scopes per tool group. Raw keys never touch a session again.

Tool surface (v1)

BOARD

board.list(status?, lane?)board.dispatch(title, type)board.claim(id, lane)board.update(id, status)board.release(id)

MEMORY · DICTIONARY

memory.get(key?)memory.set(key, value)dict.lookup(term)dict.add(term, def)

QA · VERIFY

qa.log(lane, target, verdict)qa.latest(target?)vc.challenge(tool, method)vc.log(event)

RELEASE

release.cut(label)release.publish(id)release.unpublish(id)release.revert()drives the Netlify deploy API — real deploys, not tickets

WIRE · SESSIONS

mail.send(toLane, title)mail.unread(lane)session.register(lane)session.heartbeat(lane)

CONNECTIONS · P2

fub.leads(since?)matterport.models()maps.geocode(addr)gtmetrix.test(url) qa.logzoho.invoices(range)

What it fixes that's open today

TODAYWITH MCP
Pages write with the anon key; pure_releases blocked by the allowlist (B-T66 / APR-10)release.* tools run server-side with scoped service-role — the allowlist gap disappears
Publish/unpublish/revert queue a manual Netlify ticketrelease.publish calls the Netlify API — a real one-click deploy
Audit tab unions several tablesOne audit_log — every tool call: who, args-hash, result, ts
Spend is estimated (B-T65)Per-call metering real per-lane spend + enforced budget caps

Build path

  1. Cloud Run service (Node) wrapping supabase-js with the service-role key + per-tool RLS-equivalent checks. needs APR-2 hosting
  2. MCP manifest (the tools above) + bearer auth; Composio/Claude connect by URL.
  3. Netlify deploy API wired for release.* (site: acquisto.biz). needs APR-3 token
  4. Retire anon-key writes from pages MCP endpoints; tighten RLS to read-only.
  5. Phase 2 connection tools (FUB, Matterport, Maps, GA, GTmetrix, Zoho) with per-connection scopes.

Alternative to Cloud Run: Supabase Edge Functions (no new account) — both fine; Mike's call.

Status — backend is LIVE

RPC backend LIVE & AUDITED — 7 Postgres functions (board.list/dispatch/claim/update, memory.get/set, qa.log), SECURITY DEFINER, granted to anon, every call writes audit_log. Callable today.
APR-2 hosting APPROVED — Supabase Edge Functions
APR-4 spend caps SET — 50/lane/day (100 merge days)
HTTP/MCP wrapperNEEDS MIKEsupabase functions deploy pure-mcp exposes the live backend over MCP protocol so Claude/Cursor connect by URL
APR-3 Netlify tokenNEEDS MIKE — set as a Supabase secret; until then release.* queues an ops ticket