
PostgreSQL MCP Server (Enhanced)

2025.03.27
5
JavaScript数据库管理PostgreSQL工具数据库
PostgreSQL MCP Server (Enhanced) 是一个基于模型上下文协议(Model Context Protocol)的服务器,提供对PostgreSQL数据库的读写访问能力。该服务器使LLMs(大型语言模型)能够检查数据库模式、执行查询、修改数据以及创建或修改数据库模式对象。它是原始PostgreSQL MCP服务器的增强版本,增加了写操作和模式管理功能。
View on GitHub
Overview
基本能力
产品定位
PostgreSQL MCP Server (Enhanced) 是一个数据库访问和管理工具,专为需要与PostgreSQL数据库交互的LLMs设计。
核心功能
- 数据查询:执行只读SQL查询。
- 数据修改:支持INSERT、UPDATE、DELETE等操作。
- 模式管理:创建和修改表、函数、触发器、索引等数据库对象。
适用场景
- 数据库模式检查和查询。
- 数据修改和管理。
- 数据库模式的设计和优化。
工具列表
- query:执行只读SQL查询。
- execute:执行数据修改SQL语句。
- insert:插入新记录。
- update:更新记录。
- delete:删除记录。
- createTable:创建新表。
- createFunction:创建函数/过程。
- createTrigger:创建触发器。
- createIndex:创建索引。
- alterTable:修改表结构。
常见问题解答
- 安全性:所有数据修改操作使用事务处理,防止SQL注入。
- 许可证:MIT许可证,允许自由使用、修改和分发。
使用教程
使用依赖
- 确保已安装Docker或Node.js(用于NPX方式)。
安装教程
Docker方式
docker build -t mcp/postgres -f Dockerfile .
NPX方式
npx -y @modelcontextprotocol/server-postgres postgresql://localhost/mydb
调试方式
- 查询数据
/query SELECT * FROM users LIMIT 5
- 插入数据
/insert table="users", data={"name": "John Doe", "email": "[email protected]"}
- 更新数据
/update table="users", data={"status": "inactive"}, where="id='123'"
- 创建表
/createTable tableName="tasks", columns=[
{"name": "id", "type": "SERIAL", "constraints": "PRIMARY KEY"},
{"name": "title", "type": "VARCHAR(100)", "constraints": "NOT NULL"},
{"name": "created_at", "type": "TIMESTAMP", "constraints": "DEFAULT CURRENT_TIMESTAMP"}
]