项目简介

pgEdge PostgreSQL MCP 服务器是一个完整的 MCP 协议实现,专门为 PostgreSQL 数据库设计。它允许像 Claude Desktop 这样的 MCP 客户端通过自然语言与数据库交互,自动将用户的问题转换为 SQL 查询并返回结果。

主要功能

  • SQL 查询执行:支持自然语言到 SQL 的转换和执行
  • 只读保护:所有查询都在只读事务中运行,防止数据修改
  • 数据库资源访问:提供 PostgreSQL 统计信息和系统状态
  • 智能工具集:包括模式分析、混合搜索(BM25+MMR)、嵌入生成等
  • 多模式支持:支持 Stdio、HTTP、HTTPS 等多种传输协议
  • 安全认证:支持 API 令牌和用户认证
  • 知识库构建:可创建可搜索的文档数据库
  • Web 管理界面:基于 React 的现代化 UI
  • Docker 部署:完整的容器化部署方案
  • 实时监控:提供数据库连接状态和系统信息

安装步骤

从源码安装

git clone https://github.com/pgEdge/pgedge-postgres-mcp
cd pgedge-postgres-mcp
make build

配置 Claude Desktop

在 Claude Desktop 配置文件中添加以下内容:

{
  "mcpServers": {
    "pgedge": {
      "command": "/绝对路径/to/bin/pgedge-postgres-mcp",
      "env": {
        "PGHOST": "localhost",
        "PGPORT": "5432",
        "PGDATABASE": "数据库名",
        "PGUSER": "用户名"
    }
  }
}

注意:密码建议使用安全的 '.pgpass' 文件管理。

服务器配置

HTTP 模式启动

# 开发环境(无认证)
./bin/pgedge-postgres-mcp -http -no-auth

# 生产环境(推荐)
./bin/pgedge-postgres-mcp -http -auth-token-file tokens.json

# HTTPS 模式
./bin/pgedge-postgres-mcp -http -tls -cert server.crt -key server.key

Docker 部署

cp .env.example .env
# 编辑 .env 文件配置数据库连接和 API 密钥
docker-compose up -d

基本使用方法

启动配置好的 MCP 服务器后,在 Claude Desktop 中即可:

  1. 查询数据库信息:"显示我数据库中的所有表"
  2. 数据统计:"找出销售额最高的10个客户"
  3. 系统监控:"查看当前数据库连接状态"

服务器会自动处理自然语言到 SQL 的转换,执行查询并返回格式化的结果。

示例查询

  • "这个数据库中有哪些表?"
  • "显示最近10个订单"
  • "哪些客户下了超过5个订单?"

信息

分类

数据库与文件