PostgreSQL模型上下文协议工具
启用AI代理通过模型上下文协议与PostgreSQL数据库交互,提供数据库模式探索、表结构检查和SQL查询执行功能。
服务介绍
PostgreSQL MCP 服务器
使用 Model Context Protocol (MCP) Python SDK 实现的 PostgreSQL MCP 服务器 - 这是一个开放协议,可以实现 LLM 应用程序与外部数据源之间的无缝集成。此服务器允许 AI 代理通过标准化接口与 PostgreSQL 数据库进行交互。
功能
- 列出数据库模式
- 列出模式中的表
- 描述表结构
- 列出表约束和关系
- 获取外键信息
- 执行 SQL 查询
前提条件
- Python 3.x
- PostgreSQL 数据库服务器
- 访问 PostgreSQL 数据库
安装
- 克隆此仓库:
git clone <repository-url>
cd mcp-postgres
- 创建并激活虚拟环境(推荐):
python -m venv venv
source venv/bin/activate # On Windows, use: venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
使用
- 通过提供 PostgreSQL 连接字符串启动 MCP 服务器:
python postgres_server.py "postgresql://username:password@host:port/database"
- 服务器提供以下工具:
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
在此授予任何人免费获取此软件及其相关文档文件(“软件”)副本的权利,不受限制地使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向其提供软件的人这样做,但须遵守以下条件:
上述版权声明和此许可声明应包含在软件的所有副本或重要部分中。
本软件按“原样”提供,不附带任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有者均不对因使用本软件或与本软件相关的任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他情况下产生的。