P

PostgreSQL模型上下文协议工具

@gldc/mcp-postgres
0 Stars 139 次浏览 gldc 更新于 2026-08-23

启用AI代理通过模型上下文协议与PostgreSQL数据库交互,提供数据库模式探索、表结构检查和SQL查询执行功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

PostgreSQL MCP 服务器

使用 Model Context Protocol (MCP) Python SDK 实现的 PostgreSQL MCP 服务器 - 这是一个开放协议,可以实现 LLM 应用程序与外部数据源之间的无缝集成。此服务器允许 AI 代理通过标准化接口与 PostgreSQL 数据库进行交互。

功能

  • 列出数据库模式
  • 列出模式中的表
  • 描述表结构
  • 列出表约束和关系
  • 获取外键信息
  • 执行 SQL 查询

前提条件

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

安装

  1. 克隆此仓库:
git clone <repository-url>
cd mcp-postgres
  1. 创建并激活虚拟环境(推荐):
python -m venv venv
source venv/bin/activate  # On Windows, use: 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 文件,因为它包含敏感的数据库凭据。

安全

  • 永不在代码中暴露敏感的数据库凭据
  • 使用环境变量或安全配置文件来存储数据库连接字符串
  • 考虑使用连接池以更好地管理资源
  • 实施适当的访问控制和用户认证

贡献

欢迎贡献!请随时提交 Pull Request。

相关项目

许可证

MIT 许可证

版权所有 (c) 2025 gldc

在此授予任何人免费获取此软件及其相关文档文件(“软件”)副本的权利,不受限制地使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向其提供软件的人这样做,但须遵守以下条件:

上述版权声明和此许可声明应包含在软件的所有副本或重要部分中。

本软件按“原样”提供,不附带任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有者均不对因使用本软件或与本软件相关的任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他情况下产生的。