Skip to content

Commit 47247bc

Browse files
committed
chore: installation
1 parent 8999d7b commit 47247bc

File tree

2 files changed

+17
-23
lines changed

2 files changed

+17
-23
lines changed

docs/blog/state-of-postgres-mcp-servers-2025.mdx

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,22 @@ title: "The State of Postgres MCP Servers (2025)"
44

55
![mcp-vs-postgres](https://raw.githubusercontent.com/bytebase/dbhub/main/docs/images/blog/state-of-postgres-mcp-servers-2025/mcp-vs-postgres.webp)
66

7-
MCP is drowning in builders but starving for users. PostgreSQL has millions of users but few new tools being built.
8-
The intersection—Postgres MCP server—is where both problems get solved. When Anthropic launched MCP in November 2024,
9-
Postgres was among the original six reference implementations. A year later, with MCP now joined by OpenAI, Google, and
10-
Microsoft, the question is: which Postgres MCP server should you choose?
7+
MCP is drowning in builders but starving for users. PostgreSQL has millions of users but few new tools being built.
8+
The intersection—Postgres MCP servers—is where both problems get solved. When Anthropic launched MCP in November 2024,
9+
Postgres was among the original six reference implementations. A year later, with MCP now adopted by OpenAI, Google, and
10+
Microsoft, let's take a look at the current landscape.
1111

12-
## The Contenders
12+
## SQL Injection Upgraded
1313

14-
If you are looking for a Postgres MCP server, you are likely searching by GitHub star count. These four have the most (as of Dec 20, 2025):
14+
Remember SQL injection? Untrusted user input mixed with SQL commands, executed by the database. Prompt injection is the same problem, one layer up: untrusted user input mixed with AI instructions, executed by the LLM.
1515

16-
- **[MCP Toolbox for Databases](https://github.com/googleapis/genai-toolbox)** (11.8k stars) — Google's MCP Toolbox supporting multiple databases with OAuth, connection pooling, and OpenTelemetry observability.
17-
- **[Supabase MCP](https://github.com/supabase-community/supabase-mcp)** (2.3k stars) — Built for the Supabase ecosystem, offering deep platform integration including edge functions, migrations, and branching.
18-
- **[DBHub](https://github.com/bytebase/dbhub)** (1.7k stars) — Bytebase's minimal, token-efficient server supporting multiple databases including Postgres.
19-
- **[Postgres MCP Pro](https://github.com/crystaldba/postgres-mcp)** (1.6k stars) — Crystal DBA's performance-focused server with index tuning, query plan analysis, and database health monitoring.
16+
In July 2025, a [Supabase MCP vulnerability](https://www.generalanalysis.com/blog/supabase-mcp-blog) proved this isn't theoretical. The attack: embed SQL commands in a support ticket, let an AI assistant read it, watch it execute with full database access and exfiltrate data.
2017

21-
| Server | Maintainer | License | Language |
22-
|--------|------------|---------|----------|
23-
| MCP Toolbox for Databases | Google | Apache-2.0 | Go |
24-
| Supabase MCP | Supabase | Apache-2.0 | TypeScript |
25-
| DBHub | Bytebase | MIT | TypeScript |
26-
| Postgres MCP Pro | Crystal DBA | MIT | Python |
18+
Simon Willison called it the ["lethal trifecta"](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/)—access to private data + exposure to untrusted content + ability to externally communicate in one tool. Supabase added read-only defaults and protective prompting, then admitted **"prompt injection is generally an unsolved problem."** The [HN thread](https://news.ycombinator.com/item?id=44502318) consensus: asking LLMs nicely isn't a security boundary.
2719

20+
Every Postgres MCP server ships with unfixable vulnerabilities. The question is what limits the damage:
2821

29-
Let's dig into each from four dimensions:
30-
31-
1. **Installation** — How easy is it to get started?
32-
1. **Tools** — What capabilities does the server expose?
33-
1. **Token Efficiency** — How much context does the server consume?
34-
1. **Auth & Security** — How does it handle authentication and security?
35-
22+
- **Read-only by default**
23+
- **Least privilege credentials**
24+
- **Separation of environments**
25+
- **Audit logging**

docs/docs.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
},
4646
{
4747
"tab": "Blog",
48+
<<<<<<< HEAD
4849
<<<<<<< HEAD
4950
"pages": [
5051
"blog/postgres-mcp-server-review-dbhub",
@@ -58,6 +59,9 @@
5859
"pages": ["blog/state-of-postgres-mcp-servers-2025"]
5960
>>>>>>> 8d4421d (docs: blog)
6061
>>>>>>> d593d1a (docs: blog)
62+
=======
63+
"pages": ["blog/state-of-postgres-mcp-servers-2025", "blog/postgres-mcp-server-review-mcp-toolbox"]
64+
>>>>>>> b1ee20d (chore: installation)
6165
}
6266
]
6367
},

0 commit comments

Comments
 (0)