Supabase
MCP server for interacting with the Supabase platform
作者提供的说明(英文原文)
MCP server for read-only PostgreSQL database queries in Claude Desktop
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"read-only-local-postgres": {
"command": "npx",
"args": [
"-y",
"@hovecapital/read-only-postgres-mcp-server"
]
}
}
}在终端中运行这条命令
claude mcp add read-only-local-postgres -- npx -y @hovecapital/read-only-postgres-mcp-server粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"read-only-local-postgres": {
"command": "npx",
"args": [
"-y",
"@hovecapital/read-only-postgres-mcp-server"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"read-only-local-postgres": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hovecapital/read-only-postgres-mcp-server"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过域名 hove.capital 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0)于9个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP server for interacting with the Supabase platform
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A Model Context Protocol (MCP) server that enables Claude Desktop to interact with PostgreSQL databases through natural language queries.
READ ONLY transactionsclaude mcp add postgres -s user -- npx -y @hovecapital/read-only-postgres-mcp-server
Then set your database environment variables:
export DB_HOST=localhost
export DB_PORT=5432 export DB_DATABASE=your_database_name export DB_USERNAME=your_username export DB_PASSWORD=your_password
Done! Restart Claude Code and ask: "What tables are in my database?"
1. Open your config file:
# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
notepad %APPDATA%\Claude\claude_desktop_config.json
2. Add this configuration:
{
"mcpServers": { "postgres": { "command": "npx", "args": ["-y", "@hovecapital/read-only-postgres-mcp-server"], "env": { "DB_HOST": "localhost", "DB_PORT": "5432", "DB_DATABASE": "your_database_name", "DB_USERNAME": "your_username", "DB_PASSWORD": "your_password" } } } }
3. Save, restart Claude Desktop, and test!
This server is published in the Model Context Protocol Registry as capital.hove/read-only-local-postgres-mcp-server.
claude mcp add postgres -s user -- npx -y @hovecapital/read-only-postgres-mcp-server
Then configure your database credentials using environment variables. Restart Claude Code and you're done!
Benefits:
For Claude Desktop:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "postgres": { "command": "npx", "args": ["-y", "@hovecapital/read-only-postgres-mcp-server"], "env": { "DB_HOST": "localhost", "DB_PORT": "5432", "DB_DATABASE": "your_database_name", "DB_USERNAME": "your_username", "DB_PASSWORD": "your_password" } } } }
For Claude Code:
Edit ~/.config/claude-code/settings.json (macOS/Linux) or %APPDATA%\claude-code\settings.json (Windows):
{
"mcp": { "servers": { "postgres": { "command": "npx", "args": ["-y", "@hovecapital/read-only-postgres-mcp-server"], "env": { "DB_HOST": "localhost", "DB_PORT": "5432", "DB_DATABASE": "your_database_name", "DB_USERNAME": "your_username", "DB_PASSWORD": "your_password" } } } } }
npm install -g @hovecapital/read-only-postgres-mcp-server
If you're using Claude Code, you can easily install this MCP server:
# Clone the repository
git clone https://github.com/hovecapital/read-only-local-postgres-mcp-server.git cd read-only-local-postgres-mcp-server
npm install npm run build
Then configure Claude Code by adding to your MCP settings.
Save the repository to a directory on your system:
mkdir ~/mcp-servers/postgres
cd ~/mcp-servers/postgres git clone https://github.com/hovecapital/read-only-local-postgres-mcp-server.git .
npm install
npm run build
Note: If you installed via Option 1 (MCP Registry with npx), you've already configured everything! This section is for users who chose Options 2, 3, or 4 (npm or manual installation).
If you're using Claude Code with a manual installation, add the PostgreSQL server to your MCP settings:
~/.config/claude-code/settings.json on macOS/Linux or %APPDATA%\claude-code\settings.json on Windows){
"mcp": { "servers": { "postgres": { "command": "node", "args": ["/absolute/path/to/read-only-local-postgres-mcp-server/dist/index.js"], "env": { "DB_HOST": "localhost", "DB_PORT": "5432", "DB_DATABASE": "your_database_name", "DB_USERNAME": "your_username", "DB_PASSWORD": "your_password" } } } } }
If you're using Claude Desktop with a manual installation, open your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the PostgreSQL server configuration:
{
"mcpServers": { "postgres": { "command": "node", "args": ["/absolute/path/to/read-only-local-postgres-mcp-server/dist/index.js"], "env": { "DB_HOST": "localhost", "DB_PORT": "5432", "DB_DATABASE": "your_database_name", "DB_USERNAME": "your_username", "DB_PASSWORD": "your_password" } } } }
If you're using mise for Node.js version management, make sure to use the full path to the Node.js executable in your configuration.
| Variable | Description | Default |
|---|---|---|
DB_HOST | PostgreSQL server hostname | localhost |
DB_PORT | PostgreSQL server port | 5432 |
DB_DATABASE | Database name | postgres |
DB_USERNAME | PostgreSQL username | postgres |
DB_PASSWORD | PostgreSQL password | (empty) |
DB_SSL | Enable SSL connection | false |
DB_ALLOWED_HOSTS | Comma-separated host:port pairs that runtime connection strings may target, in addition to DB_HOST:DB_PORT | (empty) |
This MCP server exposes three tools that Claude can use to interact with PostgreSQL databases.
connectConnect to a PostgreSQL database using a connection string. The connection persists for subsequent queries until changed or disconnected. The target must be DB_HOST:DB_PORT or listed in DB_ALLOWED_HOSTS.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
connectionString | string | Yes | PostgreSQL connection string |
Connection String Format:
postgres://username:password@host:port/database?sslmode=require
postgresql://username:password@host:port/database
SSL Modes Supported:
sslmode=require - Require SSL (recommended for remote connections)sslmode=verify-full - Require SSL with certificate verificationExample Usage (natural language):
"Connect to postgres://myuser:mypass@db.example.com:5432/production"
"Connect to this database: postgres://admin:secret@localhost/analytics"
Response:
{
"status": "connected", "host": "db.example.com", "port": 5432, "database": "production", "user": "myuser", "ssl": true }
disconnectDisconnect from the current runtime database and revert to the default environment-configured connection.
Parameters: None
Example Usage (natural language):
"Disconnect from the current database"
"Go back to the default database"
Response:
{
"status": "disconnected", "message": "Reverted to default environment connection", "host": "localhost", "database": "postgres" }
queryRun a read-only SQL query against the currently connected database. Optionally override the connection for a single query.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
sql | string | Yes | SQL query to execute (SELECT only) |
connectionString | string | No | Override connection for this query only |
Example Usage (natural language):
"Show me all tables in the database"
"SELECT * FROM users LIMIT 10" "Run this query on postgres://other:pass@host/db: SELECT count(*) FROM orders"
Response:
[
{ "id": 1, "name": "Alice", "email": "alice@example.com" }, { "id": 2, "name": "Bob", "email": "bob@example.com" } ]
When using this MCP server, Claude can:
User: "What tables are in my database?"
Claude: [Uses query tool with SQL: "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'"]
User: "Connect to postgres://user:pass@newhost/newdb and show me the users table"
Claude: [Uses connect tool first, then query tool]
User: "How many records are in the orders table on postgres://user:pass@analytics/warehouse?"
Claude: [Uses query tool with connectionString parameter]
User: "Go back to my local database"
Claude: [Uses disconnect tool]
Basic queries (uses default/active connection):
"Show me all tables in my database"
"What's the structure of the users table?" "Get the first 10 records from the products table" "How many orders were placed last month?" "Show me users with email addresses ending in @gmail.com"
Dynamic connection examples:
"Connect to postgres://analyst:password@analytics.example.com:5432/warehouse"
"Now show me all the tables" "What's the total revenue in the sales table?" "Disconnect and go back to my local database"
One-off queries to different databases:
"Run SELECT count(*) FROM users on postgres://admin:secret@prod.example.com/app"
"Check the orders table on my staging database: postgres://dev:dev@staging/app"
Claude will automatically convert your natural language requests into appropriate SQL queries and execute them against your database.
The server enforces read-only access on all connections (both environment-configured and runtime dynamic connections) in three layers:
BEGIN READ ONLY, and the connection is closed afterwards, so nothing is ever committed. PostgreSQL itself rejects INSERT, UPDATE, DELETE, MERGE, DDL, SELECT INTO, nextval(), large-object writes and any writ只显示了开头部分;其余内容请在仓库中阅读