Back to MCP directory
publicPublicdnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client