返回 MCP 目录
public公开dns本地运行

PostgreSQL Explorer

PostgreSQL MCP服务器是一个基于Model Context Protocol (MCP)的实现,允许AI代理通过标准化接口与PostgreSQL数据库交互。

article

README

🚀 PostgreSQL MCP 服务器

PostgreSQL MCP 服务器使用 Model Context Protocol (MCP) Python SDK 实现。MCP 作为一个开放协议,能让 LLM 应用程序与外部数据源实现无缝集成。该服务器允许 AI 代理通过标准化接口与 PostgreSQL 数据库进行交互,为数据交互提供了便利。

🚀 快速开始

使用此 PostgreSQL MCP 服务器,可让 AI 代理通过标准化接口与 PostgreSQL 数据库交互。你可以按照以下步骤进行操作:

  1. 满足先决条件,确保有 Python 3.x、PostgreSQL 数据库服务器以及访问数据库的权限。
  2. 选择合适的安装方式进行安装。
  3. 按照使用方法启动服务器并使用相关工具进行操作。

✨ 主要特性

  • 🔍 列出数据库架构
  • 📋 在架构中列出表
  • 📊 描述表结构
  • 🔗 列出表的约束和关系
  • 🔑 获取外键信息
  • 📝 执行 SQL 查询

📦 安装指南

使用 Smithery 自动安装

通过 Smithery 可自动安装 PostgreSQL MCP Server for Claude Desktop:

npx -y @smithery/cli install @gldc/mcp-postgres --client claude

手动安装

  1. 克隆此仓库:
git clone <repository-url>
cd mcp-postgres
  1. 创建并激活虚拟环境(推荐):
python -m venv venv
source venv/bin/activate  # 在 Windows 上使用:venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt

💻 使用示例

基础用法

  1. 提供 PostgreSQL 连接字符串启动 MCP 服务器:
python postgres_server.py "postgresql://username:password@host:port/database"
  1. 该服务器提供以下工具:
  • query:执行 SQL 查询
  • list_schemas:列出所有可用的架构
  • list_tables:在特定架构中列出所有表
  • describe_table:获取表结构的详细信息
  • get_foreign_keys:获取表的外键关系
  • find_relationships:发现表的显式和隐含关系

高级用法

与 mcp.json 配置

要将此服务器集成到 MCP 兼容工具(如 Cursor)中,请将其添加到您的 ~/.cursor/mcp.json

{
  "servers": {
    "postgres": {
      "command": "/path/to/venv/bin/python",
      "args": [
        "/path/to/postgres_server.py",
        "postgresql://username:password@host:5432/database?ssl=true"
      ]
    }
  }
}

替换:

  • /path/to/venv 为您的虚拟环境路径
  • /path/to/postgres_server.py 为服务器脚本的绝对路径
  • 连接字符串为您的 PostgreSQL 数据库凭证

⚠️ 重要提示

确保 mcp.json 文件的安全性,因为它包含敏感的数据库凭据。

📚 详细文档

先决条件

  • Python 3.x
  • PostgreSQL 数据库服务器
  • 访问 PostgreSQL 数据库的权限

安全提示

  • 绝对不要在代码中暴露敏感的数据库凭据
  • 使用环境变量或安全配置文件存储连接字符串
  • 考虑使用连接池以提高资源管理效率
  • 实施适当的访问控制和身份验证

贡献

欢迎贡献!请参考项目仓库了解如何参与。

相关项目

📄 许可证

版权 © 2023 您的姓名。保留所有权利。

根据以下许可协议授权:

[TO BE ADDED]

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端