
mcp-server3
PostgreSQL MCP 服务器
Postgres MCP Pro 是一个功能强大的 PostgreSQL 模型上下文协议(MCP)服务器,为AI智能体提供可配置的读写访问、高级性能分析、索引调优、执行计划解释以及安全的SQL执行功能。
概述
PostgreSQL MCP(通常被称为 Postgres MCP Pro)是一个开源的 模型上下文协议 (MCP) 服务器,旨在为 AI 代理提供对 PostgreSQL 数据库的安全且智能的访问。
它远超基础的查询执行功能,提供了可配置的只读或读写模式、全面的性能诊断、自动化索引推荐以及生产级别的安全特性。其构建目标是支持完整的开发生命周期——从模式探索和编码,到测试、部署及持续维护。
流行的实现包括原始的 Anthropic 参考版本(现已因安全考虑被弃用/归档)、社区分支,以及增强版本如 Crystal DBA 的 Postgres MCP Pro。
特性
- 可配置的访问模式:严格的只读事务(防止修改)或具有事务安全性的受控读写模式。
- 模式与数据探索:列出表、检查模式、列、索引、约束,并运行基于自然语言的查询。
- 性能分析:对缓冲区缓存、VACUUM 状态、复制延迟、连接利用率、序列限制等进行健康检查。
- 索引调优与执行计划:先进的索引推荐引擎,测试数千种组合;支持假设性索引和详细的查询执行计划。
- 安全的 SQL 执行:只读封装器、查询验证,以及对危险操作的安全防护。
- AI 代理优化:专为低令牌使用、清晰输出格式以及与 Claude、Cursor、Gemini 和其他 MCP 客户端无缝集成而设计的工具。
- Docker 与简易部署:提供官方 Docker 镜像,确保一致且无依赖的运行环境。
- 可扩展性:支持社区版 PostgreSQL、RDS、Aurora 以及大多数 PostgreSQL v12+ 实例。
使用场景
- AI 辅助数据库开发:让你的 AI 代理探索模式、建议最优查询或用自然语言生成迁移脚本。
- 性能调优:询问“分析慢查询”或“为此表推荐索引”——获得带有执行计划的可操作性见解。
- 生产监控:运行健康检查、检测膨胀,或监控 VACUUM/AUTOVACUUM 状态,无需手动编写 SQL。
- 安全数据分析:授予只读访问权限用于报告、分析或客户支持代理,而不危及数据完整性。
- 完整开发工作流:从初始项目设置和测试,到部署和持续优化——全部由对话式 AI 驱动。
安装与快速开始
使用 Docker(推荐)
拉取并运行官方镜像:
docker run -p 8080:8080 crystaldba/postgres-mcp --connection-string "postgresql://user:pass@localhost:5432/mydb"
Python / uv 安装
uv pip install postgres-mcp
uv run postgres-mcp "postgresql://user:password@localhost:5432/dbname"
客户端配置(Claude Desktop、Cursor 等)
将相应命令/参数指向正在运行的服务器,添加到您的 MCP 配置(例如 ~/.cursor/mcp.json 或 Claude 设置)中。
完整的文档、连接示例和安全最佳实践可在代码仓库中查看。
安全注意事项
- 对于不受信的代理,建议优先使用只读模式。
- 原始的 Anthropic 参考实现存在已知的 SQL 注入漏洞(已在后续分叉和版本中修复)。
- 始终使用具备最小权限用户的连接字符串,并考虑网络层级的访问限制。
相关链接
- GitHub(Postgres MCP Pro):crystaldba/postgres-mcp
- 其他值得注意的实现:pgEdge Postgres MCP、AWS Labs Aurora MCP 及各种社区分叉版本。
- 模型上下文协议:官方 MCP 规范。
Postgres MCP 将您的数据库转变为 AI 代理的一线工具,让智能化的数据交互变得像与助手聊天一样简单。
Tags
mcppostgresqlpostgresmcp-serversql数据库ai智能体索引调优性能分析claudecursor