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?