针对 PostgreSQL 数据库的增强版 AI 代理模型上下文协议 (MCP) 服务器。
更多关于 pg-mcp 项目的详情,请访问:
PG-MCP 是一个用于 PostgreSQL 数据库的 模型上下文协议 的服务器实现。它提供了一个全面的 API,使 AI 代理能够通过 MCP 的资源导向架构发现、连接、查询并理解 PostgreSQL 数据库。
此实现基于并扩展了 参考 Postgres MCP 实现,具有以下关键增强功能:
内置的 PostgreSQL 扩展上下文信息,例如:
可以通过 YAML 配置文件轻松添加其他扩展。
# 克隆仓库
git clone https://github.com/stuzero/pg-mcp-server.git
cd pg-mcp-server
# 使用 Docker Compose 构建并运行
docker-compose up -d
# 克隆仓库
git clone https://github.com/stuzero/pg-mcp-server.git
cd pg-mcp-server
# 安装依赖项并创建虚拟环境 (.venv)
uv sync
# 激活虚拟环境
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 运行服务器
python -m server.app
仓库中包含测试脚本以验证服务器功能:
# 基本服务器功能测试
python test.py "postgresql://用户名:密码@主机名:端口/数据库"
# 使用 Claude 的自然语言到 SQL 转换
python example-clients/claude_cli.py "按总销售额显示前五名客户"
claude_cli.py 脚本需要环境变量:
# .env 文件
DATABASE_URL=postgresql://用户名:密码@主机名:端口/数据库
ANTHROPIC_API_KEY=你的 anthropic api 密钥
PG_MCP_URL=http://localhost:8000/sse
用于代理的示例提示:
使用 PostgreSQL MCP 服务器分析数据库。
可用工具:
- connect:注册数据库连接字符串并获取连接 ID
- disconnect:关闭数据库连接
- pg_query:使用连接 ID 执行 SQL 查询
- pg_explain:获取查询执行计划
你可以通过以下方式探索架构资源:
pgmcp://{conn_id}/schemas
pgmcp://{conn_id}/schemas/{schema}/tables
pgmcp://{conn_id}/schemas/{schema}/tables/{table}/columns
完整的数据库描述可以在以下资源中找到:
pgmcp://{conn_id}/
此服务器基于:
欢迎贡献!扩展领域包括: