toview.
Phase 1 · pilot testing

Your backend already knows everything. Why build another dashboard to see it?

toview introspects your Next.js + Prisma app and generates a typed capability graph — what your backend can search, create, update, and delete — so you stop hand-building admin pages every time you need to look at your own data.

$npx @themukherjee/toview init

Three phases, one install

Each phase is a separate, working deliverable. Phase 1 ships today.

Live
01 · Package & introspection

Scaffold a capability graph

Detects your framework, ORM, auth provider, and integrations. Parses your Prisma schema statically — no DB connection needed — and writes an editable .admin/ folder. Re-runs never clobber your manual annotations.

Next
02 · NL query engine + generative UI

Ask your backend a question

Plain-English questions resolve to typed tool calls constrained to the capability graph — never arbitrary code. Results render as tables, charts, or KPI cards.

Next
03 · MCP layer

Give coding agents real context

A read-only MCP server exposes errors already correlated with the capability-graph node they occurred in — so Claude Code or Cursor gets more than a raw stack trace.

What .admin/graph.json looks like

Generated from your Prisma schema. Every write is typed, and destructive actions are flagged by default.

{ "model": "Subscription", "tools": [ { "id": "Subscription.search", "sideEffect": false }, { "id": "Subscription.update", "sideEffect": true, "requiresConfirmation": "production_confirmation" }, { "id": "Subscription.delete", "sideEffect": true, "requiresConfirmation": "production_confirmation" } ] }

Principles

→
No arbitrary code execution. The model chooses what to display, never what code to run — enforced structurally, not just prompted.
→
No guessed semantics. A Prisma enum gives real meaning for free. An unlabeled int field gets flagged for you to annotate — never silently guessed.
→
Reuses your auth. No parallel login system — the admin console piggybacks on the session/roles your app already has.
→
Self-hosted first. No third-party server holds your customer data.