---
bezeichner: "io.github.antonorlov/mcp-postgres-server"
art: "mcp_server"
slug: "io-github-antonorlov-mcp-postgres-server"
paketkoordinate: "npm:mcp-postgres-server"
status: "aktiv"
homepage: "https://github.com/antonorlov/mcp-postgres-server#readme"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.antonorlov"
registerseite: "https://tracevero.com/mcp/io-github-antonorlov-mcp-postgres-server"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: true
quelloffen_einsehbar: true
einsatzgebiet: "infrastruktur"
roh_beschreibung: "MCP server for PostgreSQL: local, Docker, RDS, Neon, Supabase, or behind an SSH bastion."
version: "0.3.1"
roh_umgebungsvariablen: "DATABASE_URL, PG_HOST, PG_PORT, PG_USER, PG_PASSWORD, PG_DATABASE, PG_ALLOW_WRITE, PG_SSLMODE, PG_SSL_CA, PG_ENABLE_RUNTIME_CONNECT, PG_MAX_RESULT_BYTES, PG_STATEMENT_TIMEOUT, PG_CONNECT_TIMEOUT, PG_SSH_HOST, PG_SSH_PORT, PG_SSH_USER, PG_SSH_PRIVATE_KEY, PG_SSH_PASSPHRASE, PG_SSH_AGENT, PG_SSH_PASSWORD, PG_SSH_FINGERPRINT, PG_SSH_KEEPALIVE_INTERVAL"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/antonorlov/mcp-postgres-server"
roh_paketquellen: "npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: "PG_SSH_PRIVATE_KEY, PG_SSL_CA"
roh_remote_adressen: ""
roh_remote_hosts: ""
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-09-14"
roh_aktualisiert_am: "2026-09-14"
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: "mcp-postgres-server"
roh_paketversionen: "0.3.1"
roh_laufzeithinweise: "npx"
roh_umgebungsformate: "boolean, filepath, number, string"
roh_umgebungsbeschreibungen: "DATABASE_URL=Full connection string (preferred). Supports sslmode in the URL. · PG_ALLOW_WRITE=When true, execute performs writes and reads are sent directly. Off (default) is read-only: execute refuses writes and each read runs in a READ ONLY transaction. · PG_CONNECT_TIMEOUT=Timeout in milliseconds for a single connect attempt (raise it for slow links or SSH tunnels). · PG_DATABASE=Database name. · PG_ENABLE_RUNTIME_CONNECT=Register the connect_db tool (runtime credential switching). · PG_HOST=Database host (fallback when DATABASE_URL is not set). · PG_MAX_RESULT_BYTES=Byte budget for a query result sent to the model. Whole rows are kept while they fit; over the budget returnedRows < rowCount and truncated is true. · PG_PASSWORD=Database password. · PG_PORT=Database port. · PG_SSH_AGENT=true to use the ambient agent (SSH_AUTH_SOCK), or an explicit socket path / Windows named pipe. · PG_SSH_FINGERPRINT=Pinned host-key fingerprint (SHA256:...). Host-key verification is mandatory and set only this way: without it the tunnel refuses to connect. Get it with ssh-keygen -lF host. · PG_SSH_HOST=SSH bastion host. Setting it enables tunneling: the server reaches the database only through an SSH tunnel to this host. Needs the ssh2 optional dependency. · PG_SSH_KEEPALIVE_INTERVAL=SSH keepalive interval in ms; the tunnel drops after 3 unanswered keepalives, and the next call reconnects. · PG_SSH_PASSPHRASE=Passphrase for the private key, if encrypted. · PG_SSH_PASSWORD=SSH login password. Opt-in; a key or agent takes precedence. Prefer keys, a bastion often disables password auth. · PG_SSH_PORT=SSH bastion port. · PG_SSH_PRIVATE_KEY=Path to a private key file. If unset, auth falls back like ssh: a running agent (SSH_AUTH_SOCK), then a default key (~/.ssh/id_ed25519, id_rsa, id_ecdsa). · PG_SSH_USER=SSH username. · PG_SSLMODE=TLS mode. require/allow/prefer encrypt without verifying the certificate; verify-ca/verify-full verify it (supply a CA via PG_SSL_CA). Unlike libpq, allow/prefer do not fall back to plaintext, so a server without TLS needs disable. · PG_SSL_CA=Path to a CA certificate file. Setting it by itself implies verify-full. · PG_STATEMENT_TIMEOUT=Statement timeout in milliseconds, applied to every session. · PG_USER=Database user."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"mcp-postgres-server\",\"version\":\"0.3.1\",\"runtimeHint\":\"npx\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"DATABASE_URL\",\"description\":\"Full connection string (preferred). Supports sslmode in the URL.\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"PG_HOST\",\"description\":\"Database host (fallback when DATABASE_URL is not set).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_PORT\",\"description\":\"Database port.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"PG_USER\",\"description\":\"Database user.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_PASSWORD\",\"description\":\"Database password.\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"PG_DATABASE\",\"description\":\"Database name.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_ALLOW_WRITE\",\"description\":\"When true, execute performs writes and reads are sent directly. Off (default) is read-only: execute refuses writes and each read runs in a READ ONLY transaction.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSLMODE\",\"description\":\"TLS mode. require/allow/prefer encrypt without verifying the certificate; verify-ca/verify-full verify it (supply a CA via PG_SSL_CA). Unlike libpq, allow/prefer do not fall back to plaintext, so a server without TLS needs disable.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSL_CA\",\"description\":\"Path to a CA certificate file. Setting it by itself implies verify-full.\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"PG_ENABLE_RUNTIME_CONNECT\",\"description\":\"Register the connect_db tool (runtime credential switching).\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"PG_MAX_RESULT_BYTES\",\"description\":\"Byte budget for a query result sent to the model. Whole rows are kept while they fit; over the budget returnedRows < rowCount and truncated is true.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"PG_STATEMENT_TIMEOUT\",\"description\":\"Statement timeout in milliseconds, applied to every session.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"PG_CONNECT_TIMEOUT\",\"description\":\"Timeout in milliseconds for a single connect attempt (raise it for slow links or SSH tunnels).\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSH_HOST\",\"description\":\"SSH bastion host. Setting it enables tunneling: the server reaches the database only through an SSH tunnel to this host. Needs the ssh2 optional dependency.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSH_PORT\",\"description\":\"SSH bastion port.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSH_USER\",\"description\":\"SSH username.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSH_PRIVATE_KEY\",\"description\":\"Path to a private key file. If unset, auth falls back like ssh: a running agent (SSH_AUTH_SOCK), then a default key (~/.ssh/id_ed25519, id_rsa, id_ecdsa).\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSH_PASSPHRASE\",\"description\":\"Passphrase for the private key, if encrypted.\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"PG_SSH_AGENT\",\"description\":\"true to use the ambient agent (SSH_AUTH_SOCK), or an explicit socket path / Windows named pipe.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSH_PASSWORD\",\"description\":\"SSH login password. Opt-in; a key or agent takes precedence. Prefer keys, a bastion often disables password auth.\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"PG_SSH_FINGERPRINT\",\"description\":\"Pinned host-key fingerprint (SHA256:...). Host-key verification is mandatory and set only this way: without it the tunnel refuses to connect. Get it with ssh-keygen -lF host.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"PG_SSH_KEEPALIVE_INTERVAL\",\"description\":\"SSH keepalive interval in ms; the tunnel drops after 3 unanswered keepalives, and the next call reconnects.\",\"format\":\"number\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false}],\"remotes\":[]}"
---

# PostgreSQL

## Measured values

| Property | Value | Source | Collected on | Level of trust | Raw declaration |
| --- | --- | --- | --- | --- | --- |
| Required secrets declared | false | MCP-Register | 2026-09-15T01:17:01.369Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Execution location | lokal | MCP-Register | 2026-09-15T01:17:01.369Z | abgeleitet | roh_transportarten: stdio |
| Path argument present | true | MCP-Register | 2026-09-15T01:17:01.369Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: PG_SSH_PRIVATE_KEY, PG_SSL_CA |
| Repository URL listed | true | MCP-Register | 2026-09-15T01:17:01.369Z | abgeleitet | roh_repository_url: https://github.com/antonorlov/mcp-postgres-server |
| Field of use, derived from the vendor description | datenbank | MCP-Register | 2026-09-15T01:17:01.369Z | abgeleitet | roh_beschreibung: MCP server for PostgreSQL: local, Docker, RDS, Neon, Supabase, or behind an SSH bastion. |
| Field of use, derived from the vendor description | infrastruktur | MCP-Register | 2026-09-15T01:17:01.369Z | abgeleitet | roh_beschreibung: MCP server for PostgreSQL: local, Docker, RDS, Neon, Supabase, or behind an SSH bastion. |
| Description (raw) | MCP server for PostgreSQL: local, Docker, RDS, Neon, Supabase, or behind an SSH bastion. | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Declared version | 0.3.1 | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Environment variables (raw) | DATABASE_URL, PG_HOST, PG_PORT, PG_USER, PG_PASSWORD, PG_DATABASE, PG_ALLOW_WRITE, PG_SSLMODE, PG_SSL_CA, PG_ENABLE_RUNTIME_CONNECT, PG_MAX_RESULT_BYTES, PG_STATEMENT_TIMEOUT, PG_CONNECT_TIMEOUT, PG_SSH_HOST, PG_SSH_PORT, PG_SSH_USER, PG_SSH_PRIVATE_KEY, PG_SSH_PASSPHRASE, PG_SSH_AGENT, PG_SSH_PASSWORD, PG_SSH_FINGERPRINT, PG_SSH_KEEPALIVE_INTERVAL | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Required secret variables (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Transports (raw) | stdio | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Path arguments (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Repository (raw) | https://github.com/antonorlov/mcp-postgres-server | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Package registries (raw) | npm | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Required secret headers (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Path environment variables (raw) | PG_SSH_PRIVATE_KEY, PG_SSL_CA | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Remote URLs (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Remote hosts (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Registry status message (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| First listed in the registry (raw) | 2026-09-14 | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Last changed in the registry (raw) | 2026-09-14 | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Delivery form (raw) | paket | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Repository platform (raw) | github | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Repository subfolder (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Package identifiers (raw) | mcp-postgres-server | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Package versions (raw) | 0.3.1 | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Runtime hints (raw) | npx | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Environment variable formats (raw) | boolean, filepath, number, string | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Environment variable descriptions (raw) | DATABASE_URL=Full connection string (preferred). Supports sslmode in the URL. · PG_ALLOW_WRITE=When true, execute performs writes and reads are sent directly. Off (default) is read-only: execute refuses writes and each read runs in a READ ONLY transaction. · PG_CONNECT_TIMEOUT=Timeout in milliseconds for a single connect attempt (raise it for slow links or SSH tunnels). · PG_DATABASE=Database name. · PG_ENABLE_RUNTIME_CONNECT=Register the connect_db tool (runtime credential switching). · PG_HOST=Database host (fallback when DATABASE_URL is not set). · PG_MAX_RESULT_BYTES=Byte budget for a query result sent to the model. Whole rows are kept while they fit; over the budget returnedRows < rowCount and truncated is true. · PG_PASSWORD=Database password. · PG_PORT=Database port. · PG_SSH_AGENT=true to use the ambient agent (SSH_AUTH_SOCK), or an explicit socket path / Windows named pipe. · PG_SSH_FINGERPRINT=Pinned host-key fingerprint (SHA256:...). Host-key verification is mandatory and set only this way: without it the tunnel refuses to connect. Get it with ssh-keygen -lF host. · PG_SSH_HOST=SSH bastion host. Setting it enables tunneling: the server reaches the database only through an SSH tunnel to this host. Needs the ssh2 optional dependency. · PG_SSH_KEEPALIVE_INTERVAL=SSH keepalive interval in ms; the tunnel drops after 3 unanswered keepalives, and the next call reconnects. · PG_SSH_PASSPHRASE=Passphrase for the private key, if encrypted. · PG_SSH_PASSWORD=SSH login password. Opt-in; a key or agent takes precedence. Prefer keys, a bastion often disables password auth. · PG_SSH_PORT=SSH bastion port. · PG_SSH_PRIVATE_KEY=Path to a private key file. If unset, auth falls back like ssh: a running agent (SSH_AUTH_SOCK), then a default key (~/.ssh/id_ed25519, id_rsa, id_ecdsa). · PG_SSH_USER=SSH username. · PG_SSLMODE=TLS mode. require/allow/prefer encrypt without verifying the certificate; verify-ca/verify-full verify it (supply a CA via PG_SSL_CA). Unlike libpq, allow/prefer do not fall back to plaintext, so a server without TLS needs disable. · PG_SSL_CA=Path to a CA certificate file. Setting it by itself implies verify-full. · PG_STATEMENT_TIMEOUT=Statement timeout in milliseconds, applied to every session. · PG_USER=Database user. | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Icon formats (raw) |  | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"mcp-postgres-server","version":"0.3.1","runtimeHint":"npx","transport":"stdio","environment":[{"name":"DATABASE_URL","description":"Full connection string (preferred). Supports sslmode in the URL.","format":"string","required":false,"secret":true},{"name":"PG_HOST","description":"Database host (fallback when DATABASE_URL is not set).","format":"string","required":false,"secret":false},{"name":"PG_PORT","description":"Database port.","format":"number","required":false,"secret":false},{"name":"PG_USER","description":"Database user.","format":"string","required":false,"secret":false},{"name":"PG_PASSWORD","description":"Database password.","format":"string","required":false,"secret":true},{"name":"PG_DATABASE","description":"Database name.","format":"string","required":false,"secret":false},{"name":"PG_ALLOW_WRITE","description":"When true, execute performs writes and reads are sent directly. Off (default) is read-only: execute refuses writes and each read runs in a READ ONLY transaction.","format":"boolean","required":false,"secret":false},{"name":"PG_SSLMODE","description":"TLS mode. require/allow/prefer encrypt without verifying the certificate; verify-ca/verify-full verify it (supply a CA via PG_SSL_CA). Unlike libpq, allow/prefer do not fall back to plaintext, so a server without TLS needs disable.","format":"string","required":false,"secret":false},{"name":"PG_SSL_CA","description":"Path to a CA certificate file. Setting it by itself implies verify-full.","format":"filepath","required":false,"secret":false},{"name":"PG_ENABLE_RUNTIME_CONNECT","description":"Register the connect_db tool (runtime credential switching).","format":"boolean","required":false,"secret":false},{"name":"PG_MAX_RESULT_BYTES","description":"Byte budget for a query result sent to the model. Whole rows are kept while they fit; over the budget returnedRows < rowCount and truncated is true.","format":"number","required":false,"secret":false},{"name":"PG_STATEMENT_TIMEOUT","description":"Statement timeout in milliseconds, applied to every session.","format":"number","required":false,"secret":false},{"name":"PG_CONNECT_TIMEOUT","description":"Timeout in milliseconds for a single connect attempt (raise it for slow links or SSH tunnels).","format":"number","required":false,"secret":false},{"name":"PG_SSH_HOST","description":"SSH bastion host. Setting it enables tunneling: the server reaches the database only through an SSH tunnel to this host. Needs the ssh2 optional dependency.","format":"string","required":false,"secret":false},{"name":"PG_SSH_PORT","description":"SSH bastion port.","format":"number","required":false,"secret":false},{"name":"PG_SSH_USER","description":"SSH username.","format":"string","required":false,"secret":false},{"name":"PG_SSH_PRIVATE_KEY","description":"Path to a private key file. If unset, auth falls back like ssh: a running agent (SSH_AUTH_SOCK), then a default key (~/.ssh/id_ed25519, id_rsa, id_ecdsa).","format":"filepath","required":false,"secret":false},{"name":"PG_SSH_PASSPHRASE","description":"Passphrase for the private key, if encrypted.","format":"string","required":false,"secret":true},{"name":"PG_SSH_AGENT","description":"true to use the ambient agent (SSH_AUTH_SOCK), or an explicit socket path / Windows named pipe.","format":"string","required":false,"secret":false},{"name":"PG_SSH_PASSWORD","description":"SSH login password. Opt-in; a key or agent takes precedence. Prefer keys, a bastion often disables password auth.","format":"string","required":false,"secret":true},{"name":"PG_SSH_FINGERPRINT","description":"Pinned host-key fingerprint (SHA256:...). Host-key verification is mandatory and set only this way: without it the tunnel refuses to connect. Get it with ssh-keygen -lF host.","format":"string","required":false,"secret":false},{"name":"PG_SSH_KEEPALIVE_INTERVAL","description":"SSH keepalive interval in ms; the tunnel drops after 3 unanswered keepalives, and the next call reconnects.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[]} | MCP-Register | 2026-09-15T01:17:01.369Z | selbstauskunft |  |

## Links

- Namespace: [[namensraum/io-github-antonorlov|io.github.antonorlov]]

---

- Registry page: <https://tracevero.com/mcp/io-github-antonorlov-mcp-postgres-server>
- Retrieved on: 2026-10-10
