pREST
pREST β open-source instant REST (Representational State Transfer) and Model Context Protocol (MCP) APIs for SQL databases. PostgreSQL-first, now multi-database.
pREST is open-source software that gives you instant REST (Representational State Transfer) and Model Context Protocol (MCP) APIs for SQL databases. Point it at a database and get production-ready HTTP APIs β CRUD, custom SQL routes, auth, ACL, and (from v2.1.0) a read-only MCP endpoint β without hand-writing a backend.
PostgreSQL is the first native adapter. Postgres-compatible engines can be certified on that adapter. MySQL, SQLite, and SQL Server are on the roadmap.
Last updated: July 26, 2026
What you get
Instant REST
Auto CRUD from schema: GET/POST/PUT/PATCH/DELETE /{db}/{schema}/{table}
MCP over HTTP
Read-only /_mcp for AI agents and IDEs (guide)
Auth & ACL
JWT/auth stack and table-level permissions
Multi-database
Vector search
pgvector KNN ordering / distance filtering via _korder and :vecdist (v2.4.0, #1011)
Observability
Opt-in OpenTelemetry traces/metrics/logs (v2.4.0, #1003)
Custom SQL
Templated /_QUERIES scripts
Plugins
Middleware and endpoint extensions
Which databases work today?
Native
Hosted PostgreSQL
Aurora PostgreSQL, Neon, Supabase, AlloyDB
Certified / certifying
Compatible with caveats
Roadmap
Full matrix and labels: Databases. Phases: Database roadmap.
Latest release
v2.4.0 β opt-in OpenTelemetry instrumentation with a local SigNoz dev stack, pgvector nearest-neighbor ordering / distance filtering (_korder, :vecdist), and a pREST Studio dependency upgrade. Includes the _select security fix and multi-adapter architecture from v2.3.0.
Docker:
prest/prest:v2.4.0Go:
go install github.com/prest/prest/v2/cmd/prestd@v2.4.0Studio: pREST Studio
See Releases and Upgrading to v2.
Get started
Get pREST β Docker, Homebrew, or Go
Optional: MCP over HTTP for AI clients
Optional: AI and MCP β Cursor, Claude Desktop, stdio adapter
FAQ
What is pREST?
pREST is open-source software for instant REST and MCP APIs on SQL databases. It turns HTTP requests into safe, parameterized database operations using your existing schema.
Is pREST only for PostgreSQL?
PostgreSQL is the native adapter today. Engines that speak the PostgreSQL wire protocol (for example YugabyteDB, CockroachDB, Aurora PostgreSQL) can use that adapter with documented support levels. Other SQL families are planned β see the roadmap.
Does pREST provide a REST API?
REST (Representational State Transfer) is an architectural style for building APIs over HTTP. pREST exposes your SQL tables as REST resources at /{database}/{schema}/{table}, mapping standard verbs to CRUD on the same server as MCP.
Yes. Full reference: API Reference.
Does pREST support MCP for AI agents?
MCP (Model Context Protocol) is an open standard for connecting AI apps and agents to tools and data. pREST exposes a read-only MCP endpoint at /_mcp so clients can discover schemas and query tables through the same server as the REST API.
Yes, from v2.1.0. Stdio clients use the pREST MCP Adapter (brew install prest/tap/prest-mcp). Full guide: MCP over HTTP Β· AI and MCP.
How does pREST work with AI?
Artificial intelligence (AI) here means applications and agents that use models to reason and act on tools and data. pREST connects them to your SQL catalog through read-only MCP at /_mcp and the same auth/ACL as the REST API.
Client setup (adapters, IDE config): AI and MCP Β· docs.prestd.com/ai.
How do I start quickly?
Use Docker or Homebrew from Get pREST, set PREST_PG_URL (or pg.* / DATABASE_URL), and call http://localhost:3000/{database}/{schema}/{table}.
Related documentation
Questions? GitHub Discussions or Discord.
Last updated