Supabase
MCP server for interacting with the Supabase platform
作者提供的说明(英文原文)
Python MCP server for PostgreSQL database inspection and querying
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
POSTGRES_HOST, POSTGRES_PORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB, POSTGRES_READ_QUERY_LIMIT标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"postgresql": {
"command": "uvx",
"args": [
"mdev-postgresql-mcp-server"
],
"env": {
"POSTGRES_HOST": "your-value",
"POSTGRES_PORT": "your-value",
"POSTGRES_USER": "your-value",
"POSTGRES_PASSWORD": "your-value",
"POSTGRES_DB": "your-value",
"POSTGRES_READ_QUERY_LIMIT": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add postgresql --env POSTGRES_HOST=your-value --env POSTGRES_PORT=your-value --env POSTGRES_USER=your-value --env POSTGRES_PASSWORD=your-value --env POSTGRES_DB=your-value --env POSTGRES_READ_QUERY_LIMIT=your-value -- uvx mdev-postgresql-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"postgresql": {
"command": "uvx",
"args": [
"mdev-postgresql-mcp-server"
],
"env": {
"POSTGRES_HOST": "your-value",
"POSTGRES_PORT": "your-value",
"POSTGRES_USER": "your-value",
"POSTGRES_PASSWORD": "your-value",
"POSTGRES_DB": "your-value",
"POSTGRES_READ_QUERY_LIMIT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"postgresql": {
"type": "stdio",
"command": "uvx",
"args": [
"mdev-postgresql-mcp-server"
],
"env": {
"POSTGRES_HOST": "your-value",
"POSTGRES_PORT": "your-value",
"POSTGRES_USER": "your-value",
"POSTGRES_PASSWORD": "your-value",
"POSTGRES_DB": "your-value",
"POSTGRES_READ_QUERY_LIMIT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
POSTGRES_READ_QUERY_LIMIT env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 musaddiq-dev 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:POSTGRES_HOST, POSTGRES_PORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.2)于6个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有: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 Python Model Context Protocol (MCP) server for inspecting and querying PostgreSQL databases from MCP-compatible clients. It provides schema discovery, safe read-only query execution, query explanation, table previews, index analysis, relationship inspection, and PostgreSQL resources for table metadata.
postgresql_execute_read_query runs with PostgreSQL read-only transaction mode, caps returned rows by POSTGRES_READ_QUERY_LIMIT, and rolls back after execution. The server also includes postgresql_execute_write_query, which only accepts a single INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, or TRUNCATE statement and can modify data/schema if the connected database user has permission. Do not auto-approve write-capable tools in your MCP client. For public or shared use, run the server with a dedicated read-only PostgreSQL user.
When published to PyPI, install or run the server like a standard Python MCP package:
uvx mdev-postgresql-mcp-server
For local development from source:
git clone https://github.com/musaddiq-dev/postgresql-mcp-server.git
cd postgresql-mcp-server python -m venv .venv source .venv/bin/activate pip install -e .
Copy the example environment file and update it with your database connection details.
cp .env.example .env
| Variable | Description | Required | Default |
|---|---|---|---|
POSTGRES_HOST | PostgreSQL host | Yes | localhost |
POSTGRES_PORT | PostgreSQL port | Yes | 5432 |
POSTGRES_USER | PostgreSQL username | Yes | None |
POSTGRES_PASSWORD | PostgreSQL password | No | None |
POSTGRES_DB | PostgreSQL database name | Yes | None |
LOG_LEVEL | Python logging level written to stderr | No | INFO |
POSTGRES_READ_QUERY_LIMIT | Maximum rows returned by read queries | No | 1000 |
Example read-only user:
CREATE USER mcp_readonly WITH PASSWORD 'change-me';
GRANT CONNECT ON DATABASE your_database TO mcp_readonly; GRANT USAGE ON SCHEMA public TO mcp_readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO mcp_readonly;
mdev-postgresql-mcp-server
From a local checkout before PyPI publication, run:
python -m postgresql_mcp_server.server
For published installs, prefer uvx. MCP servers using stdio must write protocol messages only to stdout; this server writes logs to stderr through Python logging.
Most MCP clients accept this mcpServers JSON shape:
{
"mcpServers": { "postgresql": { "command": "uvx", "args": ["mdev-postgresql-mcp-server"], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_PORT": "5432", "POSTGRES_USER": "mcp_readonly", "POSTGRES_PASSWORD": "change-me", "POSTGRES_DB": "your_database" } } } }
For local development from this repository, use the installed console script path instead:
{
"mcpServers": { "postgresql": { "command": "/absolute/path/to/postgresql-mcp-server/.venv/bin/mdev-postgresql-mcp-server", "args": [], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_PORT": "5432", "POSTGRES_USER": "mcp_readonly", "POSTGRES_PASSWORD": "change-me", "POSTGRES_DB": "your_database" } } } }
claude mcp add postgresql \
--env POSTGRES_HOST=localhost \ --env POSTGRES_PORT=5432 \ --env POSTGRES_USER=mcp_readonly \ --env POSTGRES_PASSWORD=change-me \ --env POSTGRES_DB=your_database \ -- uvx mdev-postgresql-mcp-server
VS Code uses the same command/args/env model in its MCP configuration:
{
"servers": { "postgresql": { "type": "stdio", "command": "uvx", "args": ["mdev-postgresql-mcp-server"], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_PORT": "5432", "POSTGRES_USER": "mcp_readonly", "POSTGRES_PASSWORD": "change-me", "POSTGRES_DB": "your_database" } } } }
| Tool | Purpose | Safety |
|---|---|---|
postgresql_list_tables | List public base tables | Read-only |
postgresql_describe_table | Show columns and metadata for a table | Read-only |
postgresql_execute_read_query | Run bounded SQL under read-only transaction mode | Read-only |
postgresql_execute_write_query | Run a single approved modifying SQL statement and commit | Destructive |
postgresql_explain_query | Return PostgreSQL EXPLAIN output for a single query | Read-only |
postgresql_get_database_summary | Return database version and table count | Read-only |
postgresql_get_relationships | Inspect foreign-key relationships | Read-only |
postgresql_analyze_indexes | Inspect indexes and sizes | Read-only |
postgresql_preview_table | Return up to 10 rows from a table | Read-only |
postgresql_search_sql_definitions | Search public SQL routines/functions | Read-only |
postgres://list_tables returns public table names.postgres://schema/{table_name} returns a generated schema statement for a table.Without a database, verify syntax with:
python -m py_compile src/postgresql_mcp_server/server.py
With a configured database, start the server and use your MCP client to call list_tables.
This server is published through the standard Python MCP distribution path:
mdev-postgresql-mcp-serverio.github.musaddiq-dev/postgresql-mcp-serveruvxstdioThe mcp-name marker at the top of this README is required for MCP Registry ownership verification. Users should prefer uvx mdev-postgresql-mcp-server in local MCP client configurations.
.env or MCP client configs containing credentials.execute_write_query as destructive and require explicit user approval in your MCP client.MIT