项目简介
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 中即可:
- 查询数据库信息:"显示我数据库中的所有表"
- 数据统计:"找出销售额最高的10个客户"
- 系统监控:"查看当前数据库连接状态"
服务器会自动处理自然语言到 SQL 的转换,执行查询并返回格式化的结果。
示例查询
- "这个数据库中有哪些表?"
- "显示最近10个订单"
- "哪些客户下了超过5个订单?"
信息
分类
数据库与文件