PostgreSQL MCP 服务器
使用模型上下文协议 (MCP) Python SDK 实现的 PostgreSQL MCP 服务器。MCP 是一种开放协议,可实现 LLM 应用程序与外部数据源之间的无缝集成。该服务器允许 AI 代理通过标准化接口与 PostgreSQL 数据库交互。
特征
- 列出数据库架构
- 列出架构内的表
- 描述表结构
- 列出表约束和关系
- 获取外键信息
- 执行 SQL 查询
先决条件
- Python 3.x
- PostgreSQL 数据库服务器
- 访问 PostgreSQL 数据库
安装
- 克隆此存储库:
Copy
- 创建并激活虚拟环境(推荐):
Copy
- 安装依赖项:
Copy
用法
- 通过提供 PostgreSQL 连接字符串来启动 MCP 服务器:
Copy
- 该服务器提供以下工具:
query
:对数据库执行 SQL 查询list_schemas
:列出所有可用的模式list_tables
:列出特定模式中的所有表describe_table
:获取有关表结构的详细信息get_foreign_keys
:获取表的外键关系find_relationships
:发现表的显式和隐式关系
使用 mcp.json 进行配置
要将此服务器与 MCP 兼容工具(如 Cursor)集成,请将其添加到您的~/.cursor/mcp.json
:
Copy
代替:
/path/to/venv
替换为您的虚拟环境路径/path/to/postgres_server.py
包含服务器脚本的绝对路径- 包含 PostgreSQL 数据库凭据的连接字符串
注意:请确保正确保护您的mcp.json
文件,因为它包含敏感的数据库凭据。
安全
- 切勿在代码中暴露敏感的数据库凭据
- 使用环境变量或安全配置文件作为数据库连接字符串
- 考虑使用连接池来更好地管理资源
- 实施适当的访问控制和用户身份验证
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
相关项目
执照
MIT 许可证
版权所有 (c) 2025 gldc
特此授予获得此软件和相关文档文件(“软件”)副本的任何人免费许可,以无限制方式处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或销售软件副本的权利,并允许向其提供软件的人员这样做,但须遵守以下条件:
上述版权声明和本许可声明均应包含在软件的所有副本或实质性部分中。
本软件按“原样”提供,不附带任何形式的明示或暗示保证,包括但不限于适销性、适用于特定用途和非侵权性的保证。在任何情况下,作者或版权所有者均不对因本软件或使用或以其他方式处理本软件而引起的或与之相关的任何索赔、损害或其他责任承担责任,无论是合同、侵权或其他诉讼。
This server cannot be installed
使 AI 代理能够通过模型上下文协议与 PostgreSQL 数据库交互,提供数据库模式探索、表结构检查和 SQL 查询执行功能。