A2A MCP News
PostgreSQL MCP 服务器 logo
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