pgops
Safe, audited PostgreSQL operations for AI agents: queries, migrations, EXPLAIN, containers
The current version, v0.1.2, was published to the official MCP registry on 2026-08-26. It is distributed as pgops-mcp on PyPI and as the Docker image ghcr.io/arzharch/pgops-mcp:0.1.2, filed under Databases by this index, and declares 8 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using pgops in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireVerdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-08-27).
Contracts can change after screening, with no version bump. The gate pins pgops’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
PGOPS_DSNPostgreSQL connection string for the database to operate on.
PGOPS_READONLY_DSNOptional separate DSN for the read-only pool. Use a role with no write grants to enforce read-only at the database rather than only in the server.
PGOPS_READ_ONLYSet to 1 to withhold every mutating tool. Write tools are not registered at all, so an agent cannot call them.
PGOPS_APPROVAL_MODESet to 1 to register container.restart and container.exec. Off by default: Docker socket access is root-equivalent on the host.
PGOPS_AUDIT_LOGPath to the append-only JSONL audit log.
PGOPS_DEFAULT_TIMEOUT_MSStatement timeout applied to every query unless a tool call overrides it.
PGOPS_MAX_TIMEOUT_MSCeiling a caller-supplied timeout is clamped to.
PGOPS_DEFAULT_ROW_LIMITRows returned by query.read when the caller does not specify a limit.
PGOPS_DSNPostgreSQL connection string. From inside a container, localhost is the container itself — use host.docker.internal or the compose service name.
PGOPS_READ_ONLYSet to 1 to withhold every mutating tool.
PGOPS_AUDIT_LOGPath to the audit log inside the container. Mount a volume at this path or the log dies with the container.
Self-hosted homelab log intelligence over MCP, CLI, and REST with SQLite/FTS.
Provision PostgreSQL, manage Apache Kafka, and deploy apps with Aiven - all from your AI assistant.
Persistent memory for AI coding agents: one Rust binary, one local SQLite database.