Skip to content

dAvePi

The schema-driven backend AI agents build on. Drop one schema file and get REST, GraphQL, Swagger, an MCP server, an admin SPA, and a typed TypeScript client — all kept in lockstep automatically.

REST

POST /api/v1/<resource>, GET, PUT, DELETE, :id/restore, :id/history, file uploads, aggregations — all generated.

GraphQL

Apollo Server v3 with auto-generated types, queries, and mutations via graphql-compose-mongoose. Relations as graph edges.

MCP server

Tools per resource so Claude Code / Cursor / Claude Desktop call the API natively. HTTP and stdio transports.

Admin SPA

Refine + ant-design. Auto-generates a working admin UI from your schema map.

Typed client

npx davepi gen-client emits a fully-typed TS client with method signatures per resource.

Capability manifest

GET /_describe returns a compact JSON manifest of the live surface so agents can plan before they code.

Terminal window
npx create-davepi-app my-app --template crm
cd my-app
docker compose up -d
npm install && npm start

Templates: blank, crm, ticketing, content, b2b-saas. See Quickstart for the walkthrough.

What dAvePi gives you that handcrafted backends don’t

Section titled “What dAvePi gives you that handcrafted backends don’t”
  • Schemas are the source of truth. Add a field, every surface reflects it without code changes.
  • Hot reload during dev. Schema changes land without restarting the server.
  • Tenant isolation is non-bypassable. Every read scopes by the authenticated user; every relation re-applies it.
  • Agent-first design. The MCP server, the _describe manifest, and the agent.md guide make Claude Code / Cursor first-class callers, not an afterthought.
  • Not a database — it sits on top of MongoDB.
  • Not for use cases where SQL joins or strict normalisation matter more than schema flexibility.
  • Not a replacement for handcrafted business logic — it generates the boring 80%, you write the rest.