返回 MCP 目录
public公开dns本地运行

enhanced-postgres-mcp-server

PostgreSQL MCP服务器增强版,提供数据库读写访问和模式管理功能,支持查询、数据修改及表结构操作。

article

README

🚀 PostgreSQL 模型上下文协议 (MCP) 服务器(增强版)

PostgreSQL 模型上下文协议 (MCP) 服务器(增强版)是一个强大的模型上下文协议服务器,它能为大型语言模型 (LLMs) 提供对 PostgreSQL 数据库的读取和写入访问。LLMs 借助该服务器可轻松检查数据库架构、执行查询、修改数据以及创建或修改数据库架构对象。

⚠️ 重要提示

这是原始 PostgreSQL MCP 服务器(由 Anthropic 开发)的增强版本。原始服务器仅提供只读访问,而此增强版本添加了写入功能和架构管理功能。

🚀 快速开始

本服务器为大型语言模型与 PostgreSQL 数据库交互提供便利,支持多种数据库操作,如查询、插入、更新、删除等。

✨ 主要特性

  • 提供对 PostgreSQL 数据库的读写访问。
  • 支持大型语言模型检查数据库架构、执行查询、修改数据和管理数据库架构对象。
  • 增强版添加了写入功能和架构管理功能。
  • 数据修改操作使用事务,确保数据安全。
  • 操作返回执行的 SQL 语句,保证透明度。
  • 使用参数化查询防止 SQL 注入。

📦 安装指南

文档未提供安装步骤,暂不展示。

💻 使用示例

基础用法

查询数据

/query SELECT * FROM users LIMIT 5

此示例展示了如何使用 /query 工具执行只读 SQL 查询,从 users 表中选取前 5 条记录。

插入数据

/insert table="users", data={"name": "John Doe", "email": "john@example.com"}

该示例演示了如何使用 /insert 工具向 users 表中插入一条新记录。

更新数据

/update table="users", data={"status": "inactive"}, where="id='123'"

此示例展示了如何使用 /update 工具更新 users 表中 id123 的记录的 status 字段。

高级用法

创建函数和触发器

/createFunction name="update_timestamp", parameters="", returnType="TRIGGER", language="plpgsql", body="BEGIN NEW.updated_at = NOW(); RETURN NEW; END;"

该示例展示了如何使用 /createFunction 工具创建一个名为 update_timestamp 的函数,用于更新记录的 updated_at 字段。

📚 详细文档

组件

工具

| 工具名称 | 功能描述 | 输入参数 | 输出结果 | | ---- | ---- | ---- | ---- | | query | 执行针对连接到数据库的只读 SQL 查询 | sql(类型:字符串) | 查询结果或错误信息 | | insert | 向指定表中插入新数据 | table(类型:字符串)、data(类型:对象) | 插入的 SQL 语句或错误信息 | | update | 更新指定表中的数据 | table(类型:字符串)、data(类型:对象)、where(类型:字符串) | 更新的 SQL 语句或错误信息 | | delete | 删除指定表中的数据 | table(类型:字符串)、where(类型:字符串) | 删除的 SQL 语句或错误信息 |

资源

| 资源路径 | 功能描述 | | ---- | ---- | | /query [SQL 查询] | 执行只读 SQL 查询 | | /insert table="表名", data={"字段1": "值1", "字段2": "值2"} | 向指定表中插入新数据 | | /update table="表名", data={"字段1": "新值1", "字段2": "新值2"}, where="条件" | 更新指定表中的数据 |

🔧 技术细节

安全注意事项

  1. 所有数据修改操作均使用事务,并带有正确的提交/回滚处理,确保数据的一致性和完整性。
  2. 每个操作都会返回执行的 SQL 语句,方便用户查看和审计,保证操作的透明度。
  3. 服务器在插入/更新操作中使用参数化查询,有效防止 SQL 注入攻击,保障数据库安全。

📄 许可证

此 MCP 服务器根据 MIT 许可证发布。这意味着您可以自由地使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。有关详细信息,请参见项目存储库中的 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端