Faucet vs Supabase

Different tools for different jobs. Supabase gives you a new backend. Faucet turns the databases you already have into a REST API and an MCP server, in one command.

TL;DR

Supabase is a Postgres platform (database, auth, storage, realtime). It hosts a PostgreSQL database for you and adds user auth, realtime, file storage and edge functions.

Faucet is a single binary that puts a REST API and an MCP server on existing databases: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, or Snowflake. No code, no platform.

Use Supabase if
you're starting a new app and want hosted Postgres, auth and storage in one place.
Use Faucet if
you already have a database and want an API and MCP access for apps and agents, today.

What they are

Supabase and Faucet sit in different parts of the stack.

Supabase

Postgres platform (database, auth, storage, realtime)

  • Hosts and manages a PostgreSQL database for you
  • User auth: email, social logins, magic links, SSO
  • Realtime subscriptions over WebSockets
  • File storage
  • Edge functions (Deno)
  • REST API powered by PostgREST, plus GraphQL
  • Apache 2.0 (most components)

A platform for building new apps, with a complete backend in a few clicks.

Faucet

Your database as a REST API and MCP server

  • Connects to databases you already run
  • 7 databases: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, Snowflake
  • REST API with an OpenAPI 3.1 spec
  • MCP server for AI agents: 8 tools, stdio + Streamable HTTP
  • API keys bound to roles; fail-closed
  • Single static binary with an embedded admin UI
  • MIT licensed, every feature included

A tool for putting an API on existing data. Point it at a database and start querying.

Feature-by-feature comparison

Where each tool is strong, side by side.

Feature comparison of Faucet and Supabase
Feature Faucet Supabase
What it is REST API + MCP server for existing databases Postgres platform (database, auth, storage, realtime)
Databases 7: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, Snowflake PostgreSQL (hosted by Supabase or self-hosted)
API REST with OpenAPI 3.1 REST (PostgREST) + GraphQL
MCP server Built in: 8 tools, stdio + Streamable HTTP (/mcp) Separate Supabase MCP server for managing your Supabase projects
Access control Built in: roles with per-service / per-table verb permissions; API keys bound to roles; fail-closed PostgreSQL row-level security + Supabase Auth
End-user auth Not included Yes: email, social logins, magic links, SSO
Realtime Not included Yes, over WebSockets
File storage Not included Yes
Edge functions Not included Yes (Deno)
Schema Introspected live; schema contract locking with drift detection Migrations via the Supabase CLI
Self-hosting Single static binary, one command (Docker optional) Docker Compose stack of several services
Admin UI Embedded in the binary Supabase Studio
License MIT Apache 2.0 (most components)
Price Free, every feature included. Hosted Faucet Cloud coming soon Free tier, then paid plans; self-hosting is free
Lock-in None: your database stays where it is Low for data (it's Postgres); platform features are Supabase-specific

When to use Supabase or Faucet

Complete platform

When to use Supabase

Supabase is the right choice when you want a full backend and don't have a database yet.

You're starting from scratch

Supabase gives you a Postgres database, auth, storage and APIs in a few clicks. Great for greenfield apps.

You need end-user sign-in

Email and password, social logins, magic links: Supabase Auth handles your users' identity out of the box.

Realtime is core to the app

Chat, live dashboards, collaborative tools: Supabase realtime subscriptions are built in.

You want it managed for you

Supabase Cloud handles hosting, backups, scaling and upgrades, with a polished dashboard.

Lightweight and portable

When to use Faucet

Faucet is the right choice when you already have data and want an API on it now.

Your database already exists

A production Postgres, an old SQL Server, a MySQL app database: Faucet connects to it where it is. No data migration.

You have more than Postgres

One Faucet instance serves PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, and Snowflake side by side.

You want agents on your data

Faucet's MCP server lets Claude Desktop, Claude Code, Cursor and other MCP clients query your database. Give them a read-only key.

You want one thing to run

One static binary, one process. No Docker required, no multi-service stack. MIT licensed, so you can walk away any time.

Try it on your own database

npx @faucetdb/faucet serve

Using Faucet with Supabase

Faucet doesn't replace Supabase. It works alongside it.

  1. Point Faucet at your Supabase Postgres

    Supabase gives you a standard PostgreSQL connection string. Add it to Faucet and your Supabase tables get Faucet's MCP server, so Claude, Cursor or your own agent can query them with a read-only key.

  2. Bring in the other databases

    Your app runs on Supabase, but there's also a MySQL database and a SQL Server reporting box. Faucet connects to all three at once and serves them through one REST API and one MCP server.

  3. Add a read-only API for reporting

    Keep Supabase for writes, auth and realtime. Use Faucet for a read-only API for dashboards, internal tools or partners, with GET-only keys and an OpenAPI 3.1 spec generated for you.

Frequently asked questions

Is Faucet a Supabase replacement?

No. Supabase is a Postgres platform (database, auth, storage, realtime) for building apps. Faucet is a single binary that puts a REST API and an MCP server on databases you already have. They work well together: Faucet can connect to your Supabase Postgres.

Can Faucet connect to a Supabase database?

Yes. Supabase gives you a standard PostgreSQL connection string. Add it with faucet db add --name supa --driver postgres --dsn "postgres://..." and you get a REST API, an OpenAPI 3.1 spec and an MCP server on your Supabase data, next to any other databases you connect.

Does Faucet have authentication like Supabase?

Faucet has API keys bound to roles with per-service and per-table permissions, which is what apps and AI agents need to call an API. It doesn't provide end-user sign-up, social logins or magic links like Supabase Auth.

How hard is it to self-host Faucet vs Supabase?

Faucet is one static binary: run npx @faucetdb/faucet serve or brew install faucetdb/tap/faucet and you are up. Self-hosting Supabase means running its Docker Compose stack of several services (Postgres, auth, PostgREST, realtime, storage, an API gateway and more).

Which databases does each tool support?

Supabase runs PostgreSQL. Faucet connects to seven databases: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, and Snowflake, including Supabase's own Postgres.

Can I use Faucet and Supabase together?

Yes. A common setup keeps Supabase for your app's auth, storage and realtime, and uses Faucet to put a REST API and an MCP server on databases Supabase doesn't host, such as a MySQL app database or a SQL Server reporting database.

Does Supabase have an MCP server?

Yes. Supabase offers its own MCP server for working with your Supabase projects from AI tools. Faucet's MCP server is built into the Faucet binary, works with all seven supported databases, and over HTTP every call is limited by the API key's role.

Turn on your data in 60 seconds

Free, MIT-licensed, no account needed.

npx @faucetdb/faucet serve

or brew install faucetdb/tap/faucet

Supabase is a trademark of Supabase, Inc. Faucet is independent and not affiliated with Supabase. Based on public documentation as of October 2026. Spot something out of date? Open an issue.