Kavo

Kavo

An open-source library that auto-generates complete REST, GraphQL, and MCP APIs from your existing ORM entities.

🔗 Visit Kavo
📁 Web Development & Frameworks🗣️ English📅 August 24, 2026

Description

Every app that stores data eventually needs an API — a way for a website, mobile app, or another program to create, read, update, and delete that data over the network. Writing that API by hand for every table in your database is repetitive: the same list/filter/sort/paginate logic, over and over. Kavo automates that repetition — you describe your data once, and it builds the API around it.

Kavo is an open-source TypeScript library that turns your existing database entities (from TypeORM, Prisma, Mongoose, or MikroORM) into complete REST and GraphQL APIs by adding a single decorator to each entity class. It generates filtering with a full operator grammar (equals, greater-than, contains, is-null, and more), multi-field sorting, pagination, nested relationship loading, and per-operation data shapes so you can control exactly what a "create" request looks like versus a "list" response. It also exposes realtime updates over Server-Sent Events and ships an MCP (Model Context Protocol) integration, so AI coding agents like Claude or Codex can call your generated API as a tool. It's free and open source under Apache-2.0, aimed at TypeScript/NestJS teams who want to stop hand-writing boilerplate CRUD endpoints.

💬 Our review

The short version: if you're tired of writing the same CRUD controller logic for every entity in a TypeORM or Prisma project, Kavo's one-decorator approach removes most of that boilerplate without locking you into a new database layer.

Its real strength against hand-rolled NestJS controllers or a heavier framework like AdminJS is scope: it doesn't replace your ORM, it sits on top of the one you already use, and the filtering/sorting/pagination grammar is more complete than what most teams bother hand-writing. The MCP integration is a genuinely current-feature choice — as more teams wire AI agents into their backend, having auto-generated tool-callable endpoints out of the box is a real time-saver most competitors don't offer yet. The trade-off is maturity and community size: this is a young project from a small team, so you're trusting a decorator-driven code-generation layer with less production mileage than, say, hand-written NestJS resolvers or an established admin-panel generator. Best for TypeScript teams building internal tools or MVPs who want speed over full control; less suited to teams with unusual, highly custom API shapes.

💰 Pricing

Gratuit / Open sourceApache-2.0, aucun coût
Open source gratuit

📊 Global score

58Average
🌐Availability15/100Faible

1 language · 0 platform

📄Profile100/100Excellent

Profile completeness

🤖 AI-enriched data

💰 Pricing model
🆓 Gratuit / Open source

Apache-2.0, aucun coût

👥 Target audienceDéveloppeurs TypeScript/NestJS utilisant TypeORM, Prisma, Mongoose ou MikroORM
🗣️ Languagesen
🌍 Target countriesInternational
👍

Pros

API REST/GraphQL générée depuis un seul décorateur

Filtrage/tri/pagination complets prêts à l'emploi

Intégration MCP native pour agents IA

Compatible TypeORM, Prisma, Mongoose, MikroORM

👎

Cons

Projet jeune, communauté et retours de production limités

Génération de code = moins de contrôle fin que des contrôleurs écrits à la main

Pas adapté aux API avec des formes de données très personnalisées

❓ Frequently asked questions

What is Kavo in one sentence?▼
How much does it cost?▼
Do I need to change my database or ORM to use it?▼
What is the MCP integration for?▼
Is it worth the money compared to alternatives?▼
Which tool should you pick for your case?▼