PG Mcp Server

PG Mcp Server

PG-MCP是一个专为PostgreSQL设计的模型上下文协议服务器,提供AI代理增强功能,支持多数据库连接、查询执行与解释、模式发现及扩展上下文支持,帮助用户更高效地探索和操作数据库。

161 浏览
2025-12-15 发布

详细介绍

PG-MCP(PostgreSQL Model Context Protocol Server)是一个专为PostgreSQL数据库设计的服务器,基于Model Context Protocol(MCP)协议,为AI代理提供数据库连接、查询和模式发现功能。它通过API和SSE接口,帮助AI系统更好地理解、操作和优化PostgreSQL数据库,适用于自然语言转SQL、数据库模式分析、智能数据探索等场景。

核心功能

PG-MCP具备多项核心功能,使其成为PostgreSQL数据库操作的强大工具:

  • 多数据库连接管理:支持同时连接多个PostgreSQL数据库,提供连接池和生命周期管理。
  • 查询执行与解释:支持SQL查询执行,并提供查询执行计划的分析功能,帮助优化查询性能。
  • 模式发现:自动发现数据库中的模式、表、列及其描述信息,便于AI理解数据库结构。
  • 扩展上下文支持:内置对PostGIS、pgvector等PostgreSQL扩展的支持,提供专业知识和最佳实践。
  • 安全连接机制:使用一次性连接ID替代真实凭据,增强安全性。
  • API与SSE接口:提供RESTful API和SSE接口,便于与AI代理集成。

安装方法

PG-MCP可以通过Docker或手动方式安装,以下是两种安装方式的详细步骤:

使用Docker安装

git clone https://github.com/stuzero/pg-mcp-server.git

cd pg-mcp-server

docker-compose up -d

手动安装

git clone https://github.com/stuzero/pg-mcp-server.git

cd pg-mcp-server

uv sync

source .venv/bin/activate  # Windows: .venv\Scripts\activate

python -m server.app

安装完成后,可以通过访问 http://localhost:8000/docs 查看交互式API文档。

使用方法

PG-MCP提供了多种命令行工具和API接口,便于用户与数据库进行交互。

连接数据库

connect postgresql://user:pass@host:port/db

执行SQL查询

pg_query SELECT * FROM customers LIMIT 10

分析查询执行计划

pg_explain SELECT COUNT(*) FROM orders;

访问数据库模式信息

pgmcp://{conn_id}/schemas

使用示例

以下是几个PG-MCP的典型使用场景和示例:

数据库模式分析

让AI代理了解数据库结构和关系。

pgmcp://{conn_id}/schemas

返回包含表名、行数和描述的表格。

自然语言转SQL

将用户自然语言问题转换为SQL查询。

pg_query SELECT customer_id, SUM(amount) FROM sales GROUP BY customer_id ORDER BY SUM(amount) DESC LIMIT 5

生成并执行SQL查询。

查询优化

分析查询性能并提供优化建议。

pg_explain SELECT * FROM orders WHERE customer_id=123

返回查询计划并建议在customer_id上创建索引。

使用场景

PG-MCP适用于多种AI与数据库交互的场景,包括:

  • 自然语言转SQL查询
  • 数据库模式分析与可视化
  • 智能数据探索与查询优化
  • AI代理与PostgreSQL数据库的集成

注意事项

在使用PG-MCP时,需要注意以下几点:

  • 目前仅支持PostgreSQL数据库。
  • 默认为只读模式,如需写操作需额外配置。
  • 需要Python 3.13+环境。
  • 建议在安全网络环境中使用,以确保数据库连接的安全。

PG-MCP通过提供丰富的数据库连接、查询和模式发现功能,为AI代理与PostgreSQL数据库的交互提供了强大的支持,是数据库智能操作的理想工具。

postgis pgvector sql-ai db-ai fastapi

相关服务推荐

查看更多