list_contexts
List kube-config contexts
List the contexts (clusters) available in the loaded kube-config.
Takes no parameters.

io.github.dockndevaiPublished by GitHub account dockndevaiv0.3.3Updated Oct 26, 2026
Manage Percona PostgreSQL + PgBouncer on Kubernetes — safe-by-default access modes and guards.
Inspect Percona PostgreSQL and PgBouncer clusters on Kubernetes through the Percona Operator, with read-only defaults and guarded write actions.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
A Model Context Protocol server for the Percona Operator for PostgreSQL. It lets an MCP-capable client (Claude Desktop, Claude Code, Cursor, …) operate PostgreSQL + PgBouncer clusters on Kubernetes — topology, connection pooling, tuning, backups/PITR, DR, extensions, and lifecycle — with behaviour controlled entirely by flags.
It drives the operator's custom resources (PerconaPGCluster, PerconaPGBackup, PerconaPGRestore, PerconaPGUpgrade) through your kube-config, so the model works the way you already do: "scale dev-pg to 3 replicas", "switch pooling to transaction mode", "restore prod-pg to 12:00 UTC".
Safe by default: it starts read-only, can be scoped to an allowlist of namespaces and clusters, protects critical clusters from mutation, gates restore / upgrade / delete behind separate opt-ins, and requires typed confirmation for high-impact actions. It never reads or returns database credentials.
.status (Patroni members, PostgreSQL/PgBouncer readiness), connection endpoints, backups and restores.pool_mode and the global pool tunables (default_pool_size, max_client_conn, …).spec.patroni.dynamicConfiguration (the only Patroni-safe path).Read (read-only+): list_contexts, list_clusters, get_cluster, get_cluster_status, get_connection_info, get_pgbouncer_config, get_pg_parameters, list_backups, list_restores
Write (read-write+): scale_cluster, set_pgbouncer_config, set_pg_parameters, pause_cluster, toggle_builtin_extension, create_backup
Admin (admin): restore_cluster (needs PERCONA_ALLOW_RESTORE), upgrade_cluster (needs PERCONA_ALLOW_UPGRADE), promote_standby, delete_backup / delete_cluster (need PERCONA_ALLOW_DELETE)
Published on npm as @dockndevai/mcp-percona-pg. No clone or build needed — your MCP client runs it on demand with npx. Start in read-only mode; see .env.example for every variable and docs/CLIENTS.md for the full per-client guide.
Claude Code (CLI)
Claude Desktop · Cursor · Windsurf — same block in claude_desktop_config.json, .cursor/mcp.json, or ~/.codeium/windsurf/mcp_config.json:
OpenAI Codex CLI — in ~/.codex/config.toml:
dev-pg."dev-pg using, and how big is the default pool?" → get_pgbouncer_configdev-pg PgBouncer to transaction pooling with default_pool_size 25." (needs read-write)shared_buffers to 512MB on dev-pg." (needs read-write)dev-pg to repo1." (needs read-write)dev-pg to 2026-08-30 12:00:00+00." (needs admin + PERCONA_ALLOW_RESTORE + confirmation)pgv2.percona.com/v2).pgv2.percona.com resources you want the agent to see.Prefer the published package above. To run from a clone:
This server ships a server.json for the official MCP registry and an mcpName for npm ownership validation. See PUBLISHING.md.
MIT
Source: README.md at commit 98d0aa5
List kube-config contexts
List the contexts (clusters) available in the loaded kube-config.
Takes no parameters.
List PostgreSQL clusters
List PerconaPGCluster resources (PostgreSQL + PgBouncer). Omit `namespace` to list across all namespaces. Results are filtered by the namespace/cluster allowlists; protected clusters are flagged.
contextnamespaceGet cluster (summary)
Summary of a PerconaPGCluster: state, PostgreSQL size, PgBouncer, version, standby, host.
namerequiredcontextnamespaceGet cluster status (raw)
The full `.status` of a PerconaPGCluster — Patroni members, PostgreSQL/PgBouncer readiness, host, and conditions.
namerequiredcontextnamespaceGet connection info
Connection endpoints for a cluster: the primary/replica Service hosts, port, and the declared users (names only — passwords live in Secrets and are never returned).
namerequiredcontextnamespaceGet PgBouncer config
The PgBouncer settings for a cluster: replicas, pool_mode, and the global pool tunables.
namerequiredcontextnamespaceGet PostgreSQL parameters
The tuned PostgreSQL parameters from `spec.patroni.dynamicConfiguration.postgresql.parameters` (the only correct place to set them — direct postgresql.conf edits are reverted by Patroni).
namerequiredcontextnamespaceList backups
List PerconaPGBackup resources in a namespace, with their state, repo, and completion time.
contextnamespaceList restores
List PerconaPGRestore resources in a namespace, with their target cluster and state.
contextnamespace90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
claude mcp add percona-pg -e PERCONA_MODE="read-only" -e PERCONA_NAMESPACE="postgres-operator" -- npx -y @dockndevai/mcp-percona-pg{ "mcpServers": { "percona-pg": { "command": "npx", "args": ["-y", "@dockndevai/mcp-percona-pg"], "env": { "PERCONA_MODE": "read-only", "PERCONA_NAMESPACE": "postgres-operator" } } }}[mcp_servers.percona-pg]command = "npx"args = ["-y", "@dockndevai/mcp-percona-pg"]env = { PERCONA_MODE = "read-only", PERCONA_NAMESPACE = "postgres-operator" }npm installnpm run buildnode dist/index.js # with the environment variables setnpm run devnpm test # security policy + annotationsnpm run typecheck