Faucet is an open-source, single-binary server that turns any SQL database into a secure, governed REST API with role-based access control and native MCP support for applications and AI agents.
Architecture
Connect any SQL database. Faucet introspects the schema and generates a full REST API with authentication, RBAC, and OpenAPI docs — instantly.
How It Works
Your database already has an API. You just haven't turned it on yet. Faucet connects, introspects, and serves — in under 60 seconds.
Why Faucet
Traditional API platforms require a stack of services, containers, and configuration. Faucet replaces all of it with one binary.
Features
Faucet is an open-source server that turns any SQL database into a secure, governed REST API for applications and AI agents.
Define roles with granular per-table, per-column permissions. API keys scoped to roles. JWT authentication built in.
Built-in Model Context Protocol support. Claude, GPT, and any AI agent can query your database through natural language immediately.
Automatic OpenAPI documentation generated from your database schema. Always up to date, always accurate.
Manage connections, browse data, create roles, and test API calls — all from a built-in web interface. No separate install.
PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Snowflake, and SQLite. Connect any combination simultaneously with a single Faucet instance.
No Docker. No Nginx. No Redis. No system database. Download one binary, run one command. That's it.
Database Connectors
Faucet supports 7 database engines — from SQL Server 2008 to the latest PostgreSQL 18, Oracle 26ai, and SQL Server 2025. One binary connects them all.
--driver postgres pgx/v5 — native Go driver --driver mysql go-sql-driver — pure Go --driver mysql Via MySQL driver — fully compatible --driver mssql go-mssqldb — TDS protocol --driver oracle go-ora — pure Go driver --driver sqlite modernc.org/sqlite — pure Go --driver snowflake gosnowflake — official driver faucet db add --name mydb --driver postgres \ --dsn "postgres://user:pass@localhost:5432/mydb?sslmode=disable" # Works with PostgreSQL 9.6 through 18 # Compatible with RDS, Aurora, Supabase, Neon, Azure
faucet db add --name mydb --driver mysql \ --dsn "user:pass@tcp(localhost:3306)/mydb" # Works with MySQL 5.7+ and MariaDB 10.2+ # Compatible with RDS, Aurora, PlanetScale, Azure
faucet db add --name mydb --driver mssql \ --dsn "sqlserver://user:pass@localhost:1433?database=mydb" # Works with SQL Server 2008 through 2025 # Compatible with Azure SQL, Amazon RDS
faucet db add --name mydb --driver sqlite \ --dsn "file:./data/mydb.sqlite?_journal=wal" # Embedded — no separate database server needed # SQLite 3.35+ for RETURNING support (tested through 3.52)
faucet db add --name mydb --driver oracle \ --dsn "oracle://user:pass@localhost:1521/XEPDB1" # Works with Oracle 12c through 26ai # Compatible with OCI, Amazon RDS, Azure
faucet db add --name mydb --driver snowflake \ --dsn "user:pass@account/database/schema?warehouse=compute_wh" # Cloud-native data warehouse # Key pair (JWT) authentication supported
Faucet generates REST APIs for PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17, and 18 — including Amazon RDS for PostgreSQL, Aurora PostgreSQL, Supabase, and Neon. It supports MySQL 5.7, 8.0, 8.4 LTS, 9.0 through 9.6 along with MariaDB 10.2 through 11.8 LTS — including Amazon RDS for MySQL, Aurora MySQL, and PlanetScale. For Microsoft environments, Faucet connects to SQL Server 2008, 2012, 2014, 2016, 2017, 2019, 2022, and 2025 — including Azure SQL Database and Amazon RDS for SQL Server. Faucet connects to Oracle Database 12c, 18c, 19c, 21c, 23ai, and 26ai — including Oracle Cloud Infrastructure (OCI), Amazon RDS for Oracle, and Azure. Faucet also supports SQLite 3.35 through 3.52 as an embedded database and Snowflake cloud data warehouse on AWS, Azure, and GCP.
Performance
Benchmarked head-to-head against every major database-to-API platform. Same PostgreSQL, same dataset, same hardware. Zero caching. Raw performance.
Concurrency increased from 10 to 50 simultaneous users. This is what happens.
What it actually takes to run each platform in production.
Full transparency. Here are the raw numbers — and what they actually mean.
All platforms tested on Apple Silicon (arm64), 8 GB RAM, PostgreSQL 16 with 10k users / 1k products / 50k orders. Full methodology & raw data on GitHub →
Comparison
A fair, honest comparison of database-to-API platforms. Faucet offers the best balance of performance, features, and simplicity.
| Feature | Faucet | DreamFactory | PostgREST | Hasura |
|---|---|---|---|---|
| Multi-DB Support | 7 databases | Yes | Postgres only | Postgres + MSSQL |
| Single Binary | Yes (47 MB) | Docker stack | Yes | Docker |
| Embedded Admin UI | Yes | Yes | No | Console |
| OpenAPI Generation | 3.1 | 2.0 | Yes | GraphQL only |
| MCP Server (AI) | Native | Partial | No | No |
| RBAC | Built-in | Built-in | Via Postgres RLS | Yes |
| Stored Procedures | Yes | Yes | Functions | No |
| Schema DDL via API | Yes | Yes | No | Migrations |
| Idle RAM | 107 MB | 666 MB | 118 MB | 152 MB |
| License | MIT | Apache 2.0 | MIT | Apache 2.0 |
Use Cases
Whether you're a solo developer prototyping an MVP or an enterprise team governing data access, Faucet fits your workflow.
Skip the boilerplate. Point Faucet at your database and get a production-grade REST API with auth, pagination, and filtering — instantly. Spend time on business logic, not CRUD.
Rapid PrototypingNative MCP server means Claude, GPT, and any AI agent can query your database through natural language. No custom integration code. Just connect and ask.
AI-NativeRole-based access control, API key management, audit-ready OpenAPI documentation, and SSO support. Govern data access without building it from scratch.
GovernanceNo Docker Compose. No Redis. No Nginx. Deploy a single 47 MB binary and forget about it. Run on bare metal, in a container, or on any cloud VM.
SimplicityShip your data layer in 60 seconds. Faucet gives you a complete API with auth and docs from day one. Build your frontend and iterate — the backend is done.
Speed to MarketBuild admin dashboards, reporting tools, and data browsers on top of Faucet's REST API. No backend team needed. Connect your data and build your UI.
Low CodeGet Started
One binary. One command. Zero configuration required.
Download a single binary — 47 MB, zero dependencies.
Run faucet serve and you're live.
Point it at PostgreSQL, MySQL, SQL Server, Oracle, Snowflake, or SQLite.
Full REST API with auth, filtering, pagination, and OpenAPI docs — ready.
# Run instantly — no install needed npx @faucetdb/faucet serve # Connect your database npx @faucetdb/faucet db add --name mydb --driver postgres \ --dsn "postgres://user:pass@localhost/mydb" # Query it curl http://localhost:8080/api/v1/mydb/_table/users
# Install brew install faucetdb/tap/faucet # Start faucet serve # Connect your database faucet db add --name mydb --driver postgres \ --dsn "postgres://user:pass@localhost/mydb" # Query it curl http://localhost:8080/api/v1/mydb/_table/users
# Install with Go 1.25+ go install github.com/faucetdb/faucet/cmd/faucet@latest # Start faucet serve # Connect your database faucet db add --name mydb --driver postgres \ --dsn "postgres://user:pass@localhost/mydb"
# Pull and run docker run -p 8080:8080 faucetdb/faucet:latest # Or with environment variables docker run -p 8080:8080 \ -e FAUCET_SERVER_PORT=8080 \ faucetdb/faucet:latest
# Download from GitHub Releases # Visit: github.com/faucetdb/faucet/releases tar xzf faucet_*_linux_amd64.tar.gz chmod +x faucet ./faucet serve
Pricing
Faucet is fully open-source and MIT licensed. Every feature — RBAC, MCP, Admin UI, all 7 database connectors — is free. Faucet Cloud adds managed hosting for teams that need it.
Faucet is an open-source server that turns any SQL database into a secure, governed REST API for applications and AI agents.