PostgreSQL MCP Server (Enhanced)

PostgreSQL MCP Server (Enhanced)

site icon
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设计。

核心功能

  1. 数据查询:执行只读SQL查询。
  2. 数据修改:支持INSERT、UPDATE、DELETE等操作。
  3. 模式管理:创建和修改表、函数、触发器、索引等数据库对象。

适用场景

  1. 数据库模式检查和查询。
  2. 数据修改和管理。
  3. 数据库模式的设计和优化。

工具列表

  1. query:执行只读SQL查询。
  2. execute:执行数据修改SQL语句。
  3. insert:插入新记录。
  4. update:更新记录。
  5. delete:删除记录。
  6. createTable:创建新表。
  7. createFunction:创建函数/过程。
  8. createTrigger:创建触发器。
  9. createIndex:创建索引。
  10. alterTable:修改表结构。

常见问题解答

  1. 安全性:所有数据修改操作使用事务处理,防止SQL注入。
  2. 许可证:MIT许可证,允许自由使用、修改和分发。

使用教程

使用依赖

  1. 确保已安装Docker或Node.js(用于NPX方式)。

安装教程

Docker方式

docker build -t mcp/postgres -f Dockerfile .

NPX方式

npx -y @modelcontextprotocol/server-postgres postgresql://localhost/mydb

调试方式

  1. 查询数据
/query SELECT * FROM users LIMIT 5
  1. 插入数据
/insert table="users", data={"name": "John Doe", "email": "[email protected]"}
  1. 更新数据
/update table="users", data={"status": "inactive"}, where="id='123'"
  1. 创建表
/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"}
]

许可证

该项目遵循 Other 开源许可条款,请参阅 Other 了解完整条款。