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 表中 id 为 123 的记录的 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="条件" | 更新指定表中的数据 |
🔧 技术细节
安全注意事项
- 所有数据修改操作均使用事务,并带有正确的提交/回滚处理,确保数据的一致性和完整性。
- 每个操作都会返回执行的 SQL 语句,方便用户查看和审计,保证操作的透明度。
- 服务器在插入/更新操作中使用参数化查询,有效防止 SQL 注入攻击,保障数据库安全。
📄 许可证
此 MCP 服务器根据 MIT 许可证发布。这意味着您可以自由地使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。有关详细信息,请参见项目存储库中的 LICENSE 文件。
扫码联系在线客服