Mcp_server_postgres

Mcp_server_postgres

🚀 PostgreSQL 模型上下文协议(PG-MCP)服务器

PG-MCP服务器专为PostgreSQL数据库设计,能增强AI代理功能。它借助模型上下文协议(MCP),为AI代理提供强大支持,使其可更好地发现、连接、查询和理解PostgreSQL数据库。

🚀 快速开始

若你想使用PG - MCP服务器,可按以下步骤操作:

安装

先决条件

  • Python 3.13+
  • PostgreSQL数据库

使用Docker

# 克隆仓库
git clone https://github.com/stuzero/pg-mcp.git
cd pg-mcp

# 使用Docker Compose构建并运行
docker-compose up -d

手动安装

# 克隆仓库
git clone https://github.com/stuzero/pg-mcp.git
cd pg-mcp

# 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate  # Windows用户请使用:.venv\Scripts\activate

# 使用uv安装
uv sync --frozen

# 启动服务器
python -m server.app

测试服务器功能

仓库包含测试脚本用于验证服务器功能:

# 基本服务器功能测试
python test.py "postgresql://username:password@hostname:port/database"

# 使用Claude进行自然语言到SQL的转换
python client/claude_cli.py "Show me the top 5 customers by total sales"

✨ 主要特性

完整的服务器实现

作为生产环境使用的SSE传输完整服务器,为生产环境的使用提供了可靠保障。

多数据库支持

可同时连接多个PostgreSQL数据库,满足多样化的业务需求。

丰富的目录信息

提取并暴露数据库目录中的表/列描述,方便用户更好地了解数据库结构。

扩展上下文

提供详细的YAML格式知识,关于PostgreSQL扩展如PostGIS和pgvector,助力用户深入使用数据库扩展功能。

查询解释

内置专门工具用于分析查询执行计划,帮助用户优化查询性能。

robust连接管理

完善的连接生命周期管理及安全的连接ID处理,确保数据库连接的稳定与安全。

💻 使用示例

连接管理

  • Connect 工具:注册PostgreSQL连接字符串并获取一个安全连接ID。
  • Disconnect 工具:显式关闭数据库连接。
  • 连接池:高效的连接管理。

查询工具

  • pg_query:使用连接ID执行只读SQL查询。
  • pg_explain:分析查询执行计划并返回JSON格式结果。

📚 详细文档

PG - MCP是模型上下文协议在PostgreSQL数据库上的一个完整服务器实现,通过MCP的资源导向架构为AI代理提供全面的API,用于发现、连接、查询和理解PostgreSQL数据库。

该实现基于并扩展了参考PostgreSQL MCP实现

模型上下文协议(MCP)服务器的架构

该服务器基于以下组件构建:

  • MCP:模型上下文协议基础。
  • FastMCP:用于MCP的Python库。
  • asyncpg:异步PostgreSQL客户端。
  • YAML:用于扩展上下文信息。
  • 0 关注
  • 0 收藏,16 浏览
  • system 提出于 2025-09-24 02:54

相似服务问题

相关AI产品