#44th of 12 in Backends and databases

prest

REST and read-only MCP API generated from a PostgreSQL or MySQL database

Stars
4.6k
License
MIT
Last commit
Oct 2026
Last release
Oct 2026
Language
Go
Stars, last 29 weeks+119
25 Mar 2026: 4,504 stars1 Apr 2026: 4,505 stars8 Apr 2026: 4,509 stars15 Apr 2026: 4,513 stars22 Apr 2026: 4,516 stars29 Apr 2026: 4,518 stars6 May 2026: 4,519 stars13 May 2026: 4,522 stars20 May 2026: 4,524 stars27 May 2026: 4,524 stars3 Jun 2026: 4,524 stars10 Jun 2026: 4,525 stars17 Jun 2026: 4,526 stars24 Jun 2026: 4,527 stars1 Jul 2026: 4,529 stars8 Jul 2026: 4,535 stars15 Jul 2026: 4,576 stars22 Jul 2026: 4,583 stars29 Jul 2026: 4,594 stars5 Aug 2026: 4,597 stars12 Aug 2026: 4,598 stars19 Aug 2026: 4,602 stars26 Aug 2026: 4,603 stars2 Sept 2026: 4,607 stars9 Sept 2026: 4,610 stars16 Sept 2026: 4,611 stars23 Sept 2026: 4,615 stars30 Sept 2026: 4,615 stars7 Oct 2026: 4,621 stars14 Oct 2026: 4,623 stars

4,504 on 25 Mar 20264,623 on 14 Oct 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

pREST is a Go service that exposes tables in an existing PostgreSQL (9.5+) or MySQL (8.0.19+) database as REST endpoints at /{database}/{schema}/{table}, with auth, ACL and custom SQL routes. It also serves a read-only MCP endpoint so AI clients can query the same data. It can serve several databases from a registry or an allow-list.

Who it is for: Developers who want an instant REST or MCP API over an existing SQL database

Strengths

  • Generates CRUD REST routes straight from an existing Postgres or MySQL schema
  • Custom SQL query scripts support bound parameters via sqlVal, sqlList and ident helpers
  • Serves multiple databases via a [[databases]] registry or pg.allowed_databases
  • Built-in read-only MCP endpoint, plus auth and ACL configuration

Weaknesses

  • Only PostgreSQL and MySQL; MariaDB, TiDB and Aurora MySQL are roadmap items
  • Interpolated query-script values are screened and rejected if they contain quotes or SQL keywords
  • MySQL support is newer (v2.5.0) and with prepare = false interpolates placeholders
  • MCP endpoint is read-only, so AI clients cannot write through it

What it needs

  • no GPU
  • Docker + Compose
  • Needs PostgreSQL 9.5+ or MySQL 8.0.19+

Head to head

Also in Backends and databases

See all 12
Also in Backends and databases
RankProjectScore
1appwriteSelf-hostable backend with auth, databases, storage, functions, messaging and hosting Live demo ↗ (opens in a new tab)57.7k starsBSD-3-Clause94 out of 100
2supabasePostgres backend with auth, storage, realtime and edge functions111.6k starsApache-2.073 out of 100
3spacetimedbRelational database that runs your app logic as modules and syncs clients live25.3k starscustom license73 out of 100
#5parse-serverNode.js backend with REST and GraphQL APIs on MongoDB or PostgreSQL21.4k starsApache-2.070 out of 100
#6insforgePostgres-based backend platform that coding agents operate through an MCP server13.1k starsApache-2.069 out of 100