engineering··5 min read·WoWSQL Team

Postgres MCP Server: Local vs Hosted Options in 2026

Compare Postgres MCP servers: the archived reference server, Postgres MCP Pro, Supabase, Neon and WoWSQL's hosted OAuth server. Tools, scoping and safety.

A Postgres MCP server lets an AI assistant such as Claude, Cursor, VS Code Copilot or ChatGPT inspect a PostgreSQL database and run SQL through the Model Context Protocol (MCP). You either run one locally and give it a connection string, or connect to a hosted server that signs you in with OAuth. This post compares the main options as of 19 October 2026 and shows how to connect WoWSQL's hosted server.

Key facts

  • What it is: an MCP server that exposes Postgres tools (list tables, run SQL) to an AI client.
  • Two shapes: local (stdio, you supply postgresql://…) or hosted (HTTP, OAuth sign-in, no password in a config file).
  • WoWSQL's hosted server: https://mcp.wowsql.com/mcp, Streamable HTTP, OAuth 2.0 (authorization code + PKCE). Listed in the official MCP Registry as com.wowsql/mcp.
  • WoWSQL tools: list_projects, get_project, list_tables, execute_sql, search_docs. No storage tools.
  • Scoping: project_ref, read_only=true and features=account,database,docs as URL parameters.

What a Postgres MCP server actually does

MCP is an open protocol for connecting AI clients to tools. A Postgres MCP server translates the assistant's tool calls into database work. Typically it can:

  • describe the schema (tables, columns, types)
  • run a SQL query and return rows
  • sometimes manage the platform around the database: projects, branches, migrations, logs

The assistant decides when to call a tool, and your client usually asks you to approve each call. Everything the server returns goes back into the model's context, so treat it as data. Never treat it as instructions.

The main options, side by side

Checked on each project's own README or docs on 19 October 2026.

Server How it runs Auth What it exposes Licence
Reference postgres server (modelcontextprotocol) Local, stdio Connection string One query tool, read-only transactions, plus table schemas as resources MIT. Archived in servers-archived, no longer maintained
Postgres MCP Pro (crystaldba) Local, stdio or SSE, Docker or Python Connection string SQL execution with restricted/unrestricted modes, EXPLAIN plans, index tuning, health checks MIT
Supabase MCP Hosted at mcp.supabase.com/mcp (or local via the CLI) OAuth, or a personal access token for CI Database, migrations, logs, advisors, Edge Functions, branching, docs and more Apache-2.0
Neon MCP Hosted at mcp.neon.tech/mcp OAuth or API key Projects, branches, SQL, schema, snapshots, auth, storage, docs and more MIT
WoWSQL MCP Hosted at mcp.wowsql.com/mcp OAuth 2.0 + PKCE Projects, tables, SQL, docs search Elastic-2.0 (source available)

Two things stand out. First, the old reference server is archived, so it's not a good base for new work. Second, the hosted servers have converged on the same pattern: one URL, OAuth sign-in, and URL parameters for scoping and read-only mode.

Local or hosted: how to choose

Pick a local server (such as Postgres MCP Pro) when:

  • the database is on your laptop, in a private network or on a host with no MCP of its own
  • you want performance tooling such as EXPLAIN analysis and index suggestions
  • you're comfortable keeping a connection string, ideally for a limited role, on your machine

Pick your platform's hosted server when:

  • your database already lives on Supabase, Neon or WoWSQL
  • you don't want database passwords in mcp.json
  • you want the platform to enforce project scope and read-only mode on its side

You can use both: a hosted server for day-to-day schema questions, and a local tool with a read-only role when you're tuning a slow query.

Connecting WoWSQL's hosted Postgres MCP server

WoWSQL's server is an OAuth protected resource. If a request arrives without a token, it gets a 401 with metadata that tells the client where to start OAuth. You approve access in the browser in the WoWSQL app, and the client stores the token. You never paste an API key.

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "wowsql": {
      "type": "http",
      "url": "https://mcp.wowsql.com/mcp"
    }
  }
}

Restart Cursor and complete OAuth when it prompts you. VS Code and other clients take the same URL. See the MCP docs for per-client steps.

Claude Desktop uses the mcp-remote bridge:

{
  "mcpServers": {
    "wowsql": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.wowsql.com/mcp"]
    }
  }
}

Scoped, read-only connection. This is the one we recommend for anything that touches real data:

https://mcp.wowsql.com/mcp?project_ref=YOUR_PROJECT_SLUG&read_only=true&features=database,docs
  • project_ref pins the database tools to one project and hides the account tools.
  • read_only=true makes execute_sql reject INSERT, UPDATE, DELETE and DDL.
  • features registers only the tool groups you list (account, database, docs).

The full tool table is in the MCP reference. Tool responses also carry a reminder that returned rows are untrusted content.

A safety checklist for any Postgres MCP server

These apply whichever server you pick:

  1. Start read-only. Turn on writes only for a dev project, and only when you need them.
  2. Scope to one project or database. Don't give an assistant your whole account.
  3. Keep tool-call approval on in your client when production data is involved.
  4. Watch for prompt injection. A row in a support_tickets table can contain text that tells the model to run another query. Review what the assistant wants to run next.
  5. Use a limited database role with local servers. Grant SELECT only on the tables the assistant needs.
  6. Know where the data goes. Rows returned by a tool are sent to your AI provider. If those rows hold personal data, that matters for your privacy obligations (see data residency for Postgres in India).

Neon's own docs go further and recommend its MCP server for development and testing, not production. That's sensible advice for every option here.

Where WoWSQL's MCP server is weaker

Know the gaps before you choose it:

  • Fewer tools. There's no migrations tool, no branching, no logs or advisors, and no storage tools. Supabase's and Neon's servers cover more of their platforms.
  • Source available, not OSI open source. The MCP-Server repo is under the Elastic License 2.0. You can read it and run it yourself, but it isn't Apache or MIT.
  • Rate limits by plan. Pro allows 100 MCP requests a minute and Scale allows 250 (see pricing). The Free plan includes the MCP API, but its per-minute limit isn't published.
  • Hosted only for most users. You can run the server process yourself, but it validates tokens against the WoWSQL API, so treat it as a companion to WoWSQL's cloud.

If your database is plain Postgres somewhere else, a local server is the better fit. If your project is on WoWSQL, the hosted server gives you OAuth and scoping with nothing to install.

Related reading

Frequently asked questions

What is the best Postgres MCP server?

It depends on where your database runs. For a database on Supabase, Neon or WoWSQL, use that platform's hosted server. For self-managed Postgres, a maintained local server such as Postgres MCP Pro is a better choice than the archived reference server.

Is the official Postgres MCP server still maintained?

No. The reference postgres server from the modelcontextprotocol project now lives in the servers-archived repository, which says its servers are no longer maintained.

Does WoWSQL's MCP server need an API key?

No. It uses OAuth 2.0 with PKCE. Your client opens a browser consent screen in the WoWSQL app and stores the token it gets back.

Can I stop an AI assistant from changing my data?

Yes. Add read_only=true to the MCP URL, and execute_sql will reject mutating statements. Combine it with project_ref and keep tool approval switched on in your client.

Can WoWSQL's MCP server manage storage buckets?

No. The current server registers no storage tools, and features=storage is ignored.

Create a free project · MCP docs · Pricing