---
bezeichner: "io.github.arzharch/pgops-mcp"
art: "mcp_server"
slug: "io-github-arzharch-pgops-mcp"
paketkoordinate: "pypi:pgops-mcp"
status: "aktiv"
homepage: "https://github.com/arzharch/pgops-mcp"
erhebungsstand: "2026-10-11T01:17:01.851Z"
namensraum: "io.github.arzharch"
registerseite: "https://tracevero.de/mcp/io-github-arzharch-pgops-mcp"
abgerufen_am: "2026-10-11"
zugangsdaten_erforderlich: true
ausfuehrungsort: "lokal"
dateisystem_pfadargument: false
quelloffen_einsehbar: true
einsatzgebiet: "datenbank"
roh_beschreibung: "Safe, audited PostgreSQL operations for AI agents: queries, migrations, EXPLAIN, containers"
version: "0.1.9"
roh_umgebungsvariablen: "PGOPS_DSN, PGOPS_READONLY_DSN, PGOPS_READ_ONLY, PGOPS_APPROVAL_MODE, PGOPS_AUDIT_LOG, PGOPS_DEFAULT_TIMEOUT_MS, PGOPS_MAX_TIMEOUT_MS, PGOPS_DEFAULT_ROW_LIMIT, PGOPS_DSN, PGOPS_READ_ONLY, PGOPS_AUDIT_LOG"
roh_geheime_pflichtvariablen: "PGOPS_DSN, PGOPS_DSN"
roh_transportarten: "stdio, stdio"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/arzharch/pgops-mcp"
roh_paketquellen: "oci, pypi"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: ""
roh_remote_adressen: ""
roh_remote_hosts: ""
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-09-01"
roh_aktualisiert_am: "2026-09-01"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "ghcr.io/arzharch/pgops-mcp:0.1.9, pgops-mcp"
roh_paketversionen: "0.1.9"
roh_laufzeithinweise: "uvx"
roh_umgebungsformate: ""
roh_umgebungsbeschreibungen: "PGOPS_APPROVAL_MODE=Set to 1 to register container.restart and container.exec. Off by default: Docker socket access is root-equivalent on the host. · PGOPS_AUDIT_LOG=Path to the append-only JSONL audit log. · PGOPS_AUDIT_LOG=Path to the audit log inside the container. Mount a volume at this path or the log dies with the container. · PGOPS_DEFAULT_ROW_LIMIT=Rows returned by query.read when the caller does not specify a limit. · PGOPS_DEFAULT_TIMEOUT_MS=Statement timeout applied to every query unless a tool call overrides it. · PGOPS_DSN=PostgreSQL connection string for the database to operate on. · PGOPS_DSN=PostgreSQL connection string. From inside a container, localhost is the container itself — use host.docker.internal or the compose service name. · PGOPS_MAX_TIMEOUT_MS=Ceiling a caller-supplied timeout is clamped to. · PGOPS_READONLY_DSN=Optional 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_ONLY=Set to 1 to withhold every mutating tool. · PGOPS_READ_ONLY=Set to 1 to withhold every mutating tool. Write tools are not registered at all, so an agent cannot call them."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"pypi\",\"identifier\":\"pgops-mcp\",\"version\":\"0.1.9\",\"runtimeHint\":\"uvx\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"PGOPS_DSN\",\"description\":\"PostgreSQL connection string for the database to operate on.\",\"required\":true,\"secret\":true},{\"name\":\"PGOPS_READONLY_DSN\",\"description\":\"Optional 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.\",\"required\":false,\"secret\":true},{\"name\":\"PGOPS_READ_ONLY\",\"description\":\"Set to 1 to withhold every mutating tool. Write tools are not registered at all, so an agent cannot call them.\",\"required\":false,\"secret\":false},{\"name\":\"PGOPS_APPROVAL_MODE\",\"description\":\"Set to 1 to register container.restart and container.exec. Off by default: Docker socket access is root-equivalent on the host.\",\"required\":false,\"secret\":false},{\"name\":\"PGOPS_AUDIT_LOG\",\"description\":\"Path to the append-only JSONL audit log.\",\"required\":false,\"secret\":false},{\"name\":\"PGOPS_DEFAULT_TIMEOUT_MS\",\"description\":\"Statement timeout applied to every query unless a tool call overrides it.\",\"required\":false,\"secret\":false},{\"name\":\"PGOPS_MAX_TIMEOUT_MS\",\"description\":\"Ceiling a caller-supplied timeout is clamped to.\",\"required\":false,\"secret\":false},{\"name\":\"PGOPS_DEFAULT_ROW_LIMIT\",\"description\":\"Rows returned by query.read when the caller does not specify a limit.\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false},{\"registryType\":\"oci\",\"identifier\":\"ghcr.io/arzharch/pgops-mcp:0.1.9\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"PGOPS_DSN\",\"description\":\"PostgreSQL connection string. From inside a container, localhost is the container itself — use host.docker.internal or the compose service name.\",\"required\":true,\"secret\":true},{\"name\":\"PGOPS_READ_ONLY\",\"description\":\"Set to 1 to withhold every mutating tool.\",\"required\":false,\"secret\":false},{\"name\":\"PGOPS_AUDIT_LOG\",\"description\":\"Path to the audit log inside the container. Mount a volume at this path or the log dies with the container.\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false}],\"remotes\":[]}"
---

# pgops

## Gemessene Werte

| Merkmal | Wert | Quelle | Erhoben am | Vertrauensgrad | Rohangabe |
| --- | --- | --- | --- | --- | --- |
| Pflicht-Geheimnisse deklariert | true | MCP-Register | 2026-08-27T01:17:01.696Z | abgeleitet | roh_geheime_pflichtvariablen: PGOPS_DSN, PGOPS_DSN; roh_geheime_pflichtkopfzeilen: |
| Ausführungsort | lokal | MCP-Register | 2026-08-27T01:17:01.696Z | abgeleitet | roh_transportarten: stdio, stdio |
| Pfadargument vorhanden | false | MCP-Register | 2026-08-27T01:17:01.696Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: |
| Repository-Adresse geführt | true | MCP-Register | 2026-08-27T01:17:01.696Z | abgeleitet | roh_repository_url: https://github.com/arzharch/pgops-mcp |
| Einsatzgebiet, aus der Anbieterbeschreibung abgeleitet | datenbank | MCP-Register | 2026-08-27T01:17:01.696Z | abgeleitet | roh_beschreibung: Safe, audited PostgreSQL operations for AI agents: queries, migrations, EXPLAIN, containers |
| Beschreibung (Rohangabe) | Safe, audited PostgreSQL operations for AI agents: queries, migrations, EXPLAIN, containers | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Deklarierte Version | 0.1.9 | MCP-Register | 2026-09-02T01:17:01.834Z | selbstauskunft |  |
| Umgebungsvariablen (Rohangabe) | PGOPS_DSN, PGOPS_READONLY_DSN, PGOPS_READ_ONLY, PGOPS_APPROVAL_MODE, PGOPS_AUDIT_LOG, PGOPS_DEFAULT_TIMEOUT_MS, PGOPS_MAX_TIMEOUT_MS, PGOPS_DEFAULT_ROW_LIMIT, PGOPS_DSN, PGOPS_READ_ONLY, PGOPS_AUDIT_LOG | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Geheime Pflichtvariablen (Rohangabe) | PGOPS_DSN, PGOPS_DSN | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Transportarten (Rohangabe) | stdio, stdio | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Pfadargumente (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Repository (Rohangabe) | https://github.com/arzharch/pgops-mcp | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Paketquellen (Rohangabe) | oci, pypi | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Geheime Pflichtkopfzeilen (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Pfad-Umgebungsvariablen (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Remote-Adressen (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Remote-Hosts (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Statusmeldung des Registers (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Im Register eingetragen am (Rohangabe) | 2026-09-01 | MCP-Register | 2026-09-02T01:17:01.834Z | selbstauskunft |  |
| Im Register geändert am (Rohangabe) | 2026-09-01 | MCP-Register | 2026-09-02T01:17:01.834Z | selbstauskunft |  |
| Schemafassung des Rohsatzes (Rohangabe) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Bereitstellungsform (Rohangabe) | paket | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Repository-Plattform (Rohangabe) | github | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Repository-Unterordner (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Paketbezeichner (Rohangabe) | ghcr.io/arzharch/pgops-mcp:0.1.9, pgops-mcp | MCP-Register | 2026-09-02T01:17:01.834Z | selbstauskunft |  |
| Paketversionen (Rohangabe) | 0.1.9 | MCP-Register | 2026-09-02T01:17:01.834Z | selbstauskunft |  |
| Laufzeithinweise (Rohangabe) | uvx | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Formate der Umgebungsvariablen (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Beschreibungen der Umgebungsvariablen (Rohangabe) | PGOPS_APPROVAL_MODE=Set to 1 to register container.restart and container.exec. Off by default: Docker socket access is root-equivalent on the host. · PGOPS_AUDIT_LOG=Path to the append-only JSONL audit log. · PGOPS_AUDIT_LOG=Path to the audit log inside the container. Mount a volume at this path or the log dies with the container. · PGOPS_DEFAULT_ROW_LIMIT=Rows returned by query.read when the caller does not specify a limit. · PGOPS_DEFAULT_TIMEOUT_MS=Statement timeout applied to every query unless a tool call overrides it. · PGOPS_DSN=PostgreSQL connection string for the database to operate on. · PGOPS_DSN=PostgreSQL connection string. From inside a container, localhost is the container itself — use host.docker.internal or the compose service name. · PGOPS_MAX_TIMEOUT_MS=Ceiling a caller-supplied timeout is clamped to. · PGOPS_READONLY_DSN=Optional 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_ONLY=Set to 1 to withhold every mutating tool. · PGOPS_READ_ONLY=Set to 1 to withhold every mutating tool. Write tools are not registered at all, so an agent cannot call them. | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Symbolformate (Rohangabe) |  | MCP-Register | 2026-08-27T01:17:01.696Z | selbstauskunft |  |
| Verbindungswege (Quellstruktur) | {"packages":[{"registryType":"pypi","identifier":"pgops-mcp","version":"0.1.9","runtimeHint":"uvx","transport":"stdio","environment":[{"name":"PGOPS_DSN","description":"PostgreSQL connection string for the database to operate on.","required":true,"secret":true},{"name":"PGOPS_READONLY_DSN","description":"Optional 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.","required":false,"secret":true},{"name":"PGOPS_READ_ONLY","description":"Set to 1 to withhold every mutating tool. Write tools are not registered at all, so an agent cannot call them.","required":false,"secret":false},{"name":"PGOPS_APPROVAL_MODE","description":"Set to 1 to register container.restart and container.exec. Off by default: Docker socket access is root-equivalent on the host.","required":false,"secret":false},{"name":"PGOPS_AUDIT_LOG","description":"Path to the append-only JSONL audit log.","required":false,"secret":false},{"name":"PGOPS_DEFAULT_TIMEOUT_MS","description":"Statement timeout applied to every query unless a tool call overrides it.","required":false,"secret":false},{"name":"PGOPS_MAX_TIMEOUT_MS","description":"Ceiling a caller-supplied timeout is clamped to.","required":false,"secret":false},{"name":"PGOPS_DEFAULT_ROW_LIMIT","description":"Rows returned by query.read when the caller does not specify a limit.","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"oci","identifier":"ghcr.io/arzharch/pgops-mcp:0.1.9","transport":"stdio","environment":[{"name":"PGOPS_DSN","description":"PostgreSQL connection string. From inside a container, localhost is the container itself — use host.docker.internal or the compose service name.","required":true,"secret":true},{"name":"PGOPS_READ_ONLY","description":"Set to 1 to withhold every mutating tool.","required":false,"secret":false},{"name":"PGOPS_AUDIT_LOG","description":"Path to the audit log inside the container. Mount a volume at this path or the log dies with the container.","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[]} | MCP-Register | 2026-09-08T01:17:01.649Z | selbstauskunft |  |

## Verweise

- Namensraum: [[namensraum/io-github-arzharch|io.github.arzharch]]

---

- Registerseite: <https://tracevero.de/mcp/io-github-arzharch-pgops-mcp>
- Abgerufen am: 2026-10-11
