PostgreSQL MCP 服务器

PostgreSQL MCP 服务器是一个强大的模型上下文协议服务器,允许AI助手安全地与PostgreSQL数据库交互,执行查询和检查模式。

  • by longgoll
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 longgoll/mcp-postgreSql-server

使用说明

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 文件(如果您从正确的工作目录运行服务器)或直接将其传递到 env JSON配置的一部分,如上所示。对于绝对路径,使用JSON配置通常更可靠。

🔒 安全

  • 只读执行:The run_read_only_query 该工具执行基本检查以防止 INSERT/UPDATE/DELETE 关键字。
  • 输入净化:表名在搜索工具中进行验证,以防止SQL注入。

📜 许可证