
PostgreSQL Model Context Protocol (PG-MCP) Server

2025.04.18
434
Python数据库服务AI代理支持数据库
PostgreSQL Model Context Protocol (PG-MCP) Server 是一个为PostgreSQL数据库设计的MCP服务器,专为AI代理提供增强功能。它通过MCP的资源导向架构,为AI代理提供发现、连接、查询和理解PostgreSQL数据库的全面API。该服务器扩展了参考Postgres MCP实现,增加了多数据库支持、丰富的目录信息、扩展上下文、查询解释等关键功能。
View on GitHub
Overview
基本能力
产品定位
PG-MCP Server 是一个专为PostgreSQL数据库设计的MCP服务器,旨在为AI代理提供数据库连接、查询和理解的增强功能。
核心功能
- 连接管理:包括连接工具、断开工具和连接池。
- 查询工具:支持执行SQL查询和分析查询执行计划。
- 模式发现资源:列出模式、表、列、约束和索引的详细信息。
- 数据访问资源:提供表数据样本和近似行计数。
- 扩展上下文:内置PostGIS和pgvector等扩展的上下文信息。
适用场景
- AI代理需要与PostgreSQL数据库交互的场景。
- 需要多数据库同时连接和管理的场景。
- 需要丰富数据库目录信息和扩展上下文的场景。
工具列表
- connect:注册PostgreSQL连接字符串并获取安全连接ID。
- disconnect:显式关闭数据库连接。
- pg_query:使用连接ID执行只读SQL查询。
- pg_explain:以JSON格式分析查询执行计划。
常见问题解答
- 安全性:服务器默认以只读模式运行,连接详细信息不会在资源URL中暴露。
- 扩展性:可以通过YAML配置文件轻松添加更多扩展上下文。
使用教程
使用依赖
- Python 3.13+
- PostgreSQL数据库
安装教程
使用Docker
git clone https://github.com/stuzero/pg-mcp-server.git
cd pg-mcp
docker-compose up -d
手动安装
git clone https://github.com/stuzero/pg-mcp-server.git
cd pg-mcp-server
uv sync
source .venv/bin/activate # On Windows: .venv\Scripts\activate
python -m server.app
调试方式
python test.py "postgresql://username:password@hostname:port/database"
python example-clients/claude_cli.py "Show me the top 5 customers by total sales"
.env文件示例:
DATABASE_URL=postgresql://username:password@hostname:port/database
ANTHROPIC_API_KEY=your-anthropic-api-key
PG_MCP_URL=http://localhost:8000/sse