使用说明
PostgreSQL MCP服务器🐘
强健的 模型上下文协议(MCP) PostgreSQL数据库的服务器。该服务器允许AI助手(如Claude、Antigravity或VS Code扩展)安全地与PostgreSQL数据交互、执行查询和检查模式。
🌟 特性
- 直接数据库访问:使用连接字符串连接到任何PostgreSQL数据库。
- 架构检查:轻松查看表、列、约束和索引。
- 全文搜索:在表中的所有文本列中搜索内容。
- 性能分析:运行
EXPLAIN查看查询执行计划。 - 安全第一:单独的只读工具(
SELECT)以及修改查询。
🛠️ 可用工具
| 工具 | 说明 |
|---|---|
list_tables |
列出中的所有表 public 模式。 |
describe_table |
获取表的详细架构信息(列、类型、默认值)。 |
list_indexes |
查看特定表上的所有索引。 |
list_constraints |
查看主键、外键和其他约束。 |
search_in_table |
在表的任何文本列中搜索文本字符串。 |
run_read_only_query |
执行安全 SELECT 查询。阻止修改命令。 |
run_modification_query |
执行 INSERT, UPDATE, DELETE, CREATE 命令。 |
explain_query |
获取JSON执行计划以进行性能调优。 |
🚀 安装和设置
1.先决条件
- Node.js(v18或更高版本)
- 正在运行的PostgreSQL数据库
2.安装
克隆此存储库并安装依赖项:
git clone <your-repo-url>
cd mcp-postgre-server
npm install
3.配置(.env)
创建 .env 根目录中的文件,用于存储数据库凭据。
重要:永远不要承诺你的真实 .env 文件到版本控制。
cp .env.example .env
编辑 .env 并设置您的 DATABASE_URL:
# Format: postgresql://USER:PASSWORD@HOST:PORT/DATABASE
DATABASE_URL=postgresql://myuser:mypassword@localhost:5432/mydatabase
4.建造
编译TypeScript代码:
npm run build
🔌 连接到客户端
VS码(克劳德/MCP扩展)和反重力
要将此服务器与MCP兼容的客户端一起使用,请将以下配置添加到MCP设置文件中(例如。, mcp_config.json 或VS代码扩展设置)。
配置路径(示例):
- 窗户:
%APPDATA%\Code\User\globalStorage\mcp-server\mcp_settings.json(因扩展而异) - 反重力:
c:\Users\<User>\.gemini\antigravity\mcp_config.json
JSON配置:
{
"mcpServers": {
"postgre-server": {
"command": "node",
"args": ["D:\\Path\\To\\mcp-postgre-server\\build\\index.js"],
"env": {
"DATABASE_URL": "postgresql://myuser:mypassword@localhost:5432/mydatabase"
}
}
}
}
备注:您可以设置
DATABASE_URL在.env文件(如果您从正确的工作目录运行服务器)或直接将其传递到envJSON配置的一部分,如上所示。对于绝对路径,使用JSON配置通常更可靠。
🔒 安全
- 只读执行:The
run_read_only_query该工具执行基本检查以防止INSERT/UPDATE/DELETE关键字。 - 输入净化:表名在搜索工具中进行验证,以防止SQL注入。