用途:MCP Percona PG 是一个 MCP 服务器,面向 Kubernetes 上由 Percona Operator for PostgreSQL v2 管理的 PostgreSQL 与 PgBouncer 集群。它让 MCP 客户端能够以自然语言操作集群,例如“把 dev-pg 扩展到 3 个副本”“将连接池切换为事务模式”“把 prod-pg 恢复到 UTC 12:00”。
主要能力:
- 发现与状态:列出集群、按集群汇总状态、读取原始 .status(包含 Patroni 成员、PostgreSQL/PgBouncer 就绪情况)、连接端点、备份与恢复记录。
- 连接池:读取并更新 PgBouncer 的 pool_mode 以及全局池参数(如 default_pool_size、max_client_conn 等)。
- PostgreSQL 调优:通过 spec.patroni.dynamicConfiguration 读取与合并参数,这是唯一对 Patroni 安全的方式。
- 生命周期:扩展 PostgreSQL/PgBouncer、暂停/恢复、切换内置扩展、按需备份。
- 灾难恢复与恢复:恢复/时间点恢复(PITR)、提升备库、主版本升级,每项均单独授权控制。
工具分类:
- 只读(read-only +):list_contexts、list_clusters、get_cluster、get_cluster_status、get_connection_info、get_pgbouncer_config、get_pg_parameters、list_backups、list_restores。
- 写入(read-write +):scale_cluster、set_pgbouncer_config、set_pg_parameters、pause_cluster、toggle_builtin_extension、create_backup。
- 管理(admin):restore_cluster(需 PERCONA_ALLOW_RESTORE)、upgrade_cluster(需 PERCONA_ALLOW_UPGRADE)、promote_standby、delete_backup / delete_cluster(需 PERCONA_ALLOW_DELETE)。
使用方式: 该服务器已发布在 npm 上,包名为 @dockndevai/mcp-percona-pg,无需克隆或构建,MCP 客户端可通过 npx 按需运行。建议以只读模式启动;所有变量参见 .env.example,各客户端完整指南见 docs/CLIENTS.md。
- Claude Code(CLI):按文档添加配置。
- Claude Desktop、Cursor、Windsurf:在 claude_desktop_config.json、.cursor/mcp.json 或 ~/.codeium/windsurf/mcp_config.json 中使用相同的配置块。
- OpenAI Codex CLI:在 ~/.codex/config.toml 中配置。
示例提示:
- “列出 PostgreSQL 集群并显示 dev-pg 的状态。”
- “dev-pg 使用什么 pool_mode,默认池有多大?”→ get_pgbouncer_config
- “把 dev-pg 的 PgBouncer 设为事务池,default_pool_size 设为 25。”(需要 read-write)
- “把 dev-pg 的 shared_buffers 提升到 512MB。”(需要 read-write)
- “将 dev-pg 完整备份到 repo1。”(需要 read-write)
- “将 dev-pg 恢复到 2026-08-30 12:00:00+00。”(需要 admin + PERCONA_ALLOW_RESTORE + 确认)
适用场景: 适合需要通过 MCP 客户端自动化运维 Percona Operator for PostgreSQL 集群的团队,尤其是需要安全地执行调优、备份恢复和灾难恢复操作的场景。
限制与前置条件:
- 需要运行 Percona Operator for PostgreSQL v2(pgv2.percona.com/v2)的 Kubernetes 集群。
- 需要服务器可读取的 kube-config。为安全起见,建议使用限定到 Operator 命名空间及所需 pgv2.percona.com 资源的 ServiceAccount/RBAC。
- 开发场景可从源码运行:优先使用已发布包;从克隆运行的方式见仓库文档。
- 该服务器提供 server.json 用于官方 MCP 注册表,以及 mcpName 用于 npm 所有权校验,另见 PUBLISHING.md。
- 官方资料未提供具体的收费、价格、性能指标或使用效果数据。