PostgreSQL (hardened, read-only)
io.github.Eszetael/postgres-mcp-hardened · Status: active
If you find your own account name here: write informally to German.saas@web.de, stating the identifier concerned. No reason has to be given. How to object
- Registry name
io.github.Eszetael/postgres-mcp-hardened- Package coordinate
npm:postgres-mcp-hardened- Version
0.1.9- Listed in the registry
- 2026-08-18
- Changed in the registry
- 2026-08-18
- First seen by tracevero
- 2026-08-10
- Vendor's website
- https://github.com/Eszetael/postgres-mcp-hardened
Read-only PostgreSQL over MCP. Writes refused at the parsed SQL, plus a READ ONLY transaction.
Vendor's own description, untranslated and unverified
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin. What the confidence levels mean
Measured values
| Credentials required | yes Raw declaration – Required secret variables (raw): DATABASE_URL, DATABASE_URL Raw declaration – Required secret headers (raw): confirmed absent Source: MCP-Register · collected on 2026-08-10 · derived |
|---|---|
| Execution location | local Raw declaration – Transports (raw): stdio, streamable-http Source: MCP-Register · collected on 2026-08-10 · derived |
| Path argument present | no Raw declaration – Path arguments (raw): confirmed absent Raw declaration – Path environment variables (raw): confirmed absent Source: MCP-Register · collected on 2026-08-10 · derived |
| Repository URL listed | yes Raw declaration – Repository (raw): https://github.com/Eszetael/postgres-mcp-hardened Source: MCP-Register · collected on 2026-08-10 · derived |
| Field of use | Databases Raw declaration – Description (raw): Read-only PostgreSQL over MCP. Writes refused at the parsed SQL, plus a READ ONLY transaction. Source: MCP-Register · collected on 2026-08-26 · derived |
| Version | 0.1.9 Source: MCP-Register · collected on 2026-08-19 · self-declared |
Position within the holdings
How many of the 25,100 published entries carry the same measured value. A reference figure, not an assessment.
- Credentials requiredyes4,365 of 25,100 carry this value (17 %)View these entries
- Execution locationlocal12,344 of 25,100 carry this value (49 %)View these entries
- Path argument presentno24,857 of 25,100 carry this value (99 %)View these entries
- Repository URL listedyes19,482 of 25,100 carry this value (78 %)View these entries
- Field of useDatabases234 of 25,100 carry this value (0.9 %)View these entries
All 5 values together are carried by 36 of 25,100 entries.
This entry appears in these selections
- MCP servers for databases234
- MCP servers requiring credentials4,365
- Locally executed MCP servers12,344
- MCP servers with a repository URL19,482
- Local MCP servers with a repository URL11,717
- Local MCP servers requiring credentials2,979
- MCP servers over stdio and streamable-http1,242
- MCP servers with credentials and a repository URL3,612
- MCP servers available as a package only10,841
- MCP servers with npx as their only runtime hint1,101
The source's raw values24
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin.
| Description (raw) | Read-only PostgreSQL over MCP. Writes refused at the parsed SQL, plus a READ ONLY transaction. Source: MCP-Register · collected on 2026-08-26 · self-declared |
|---|---|
| Environment variables (raw) | DATABASE_URL, MCP_STATEMENT_TIMEOUT, MCP_ALLOW_TABLES, MCP_AUDIT_LOG, DATABASE_URL, MCP_ADDR Source: MCP-Register · collected on 2026-08-10 · self-declared |
| Required secret variables (raw) | DATABASE_URL, DATABASE_URL Source: MCP-Register · collected on 2026-08-10 · self-declared |
| Transports (raw) | stdio, streamable-http Source: MCP-Register · collected on 2026-08-10 · self-declared |
| Path arguments (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-10 · self-declared |
| Repository (raw) | https://github.com/Eszetael/postgres-mcp-hardened Source: MCP-Register · collected on 2026-08-10 · self-declared |
| Package registries (raw) | npm, oci Source: MCP-Register · collected on 2026-08-10 · self-declared |
| Required secret headers (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Path environment variables (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote URLs (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote hosts (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Registry status message (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| First listed in the registry (raw) | 2026-08-18 Source: MCP-Register · collected on 2026-08-19 · self-declared |
| Last changed in the registry (raw) | 2026-08-18 Source: MCP-Register · collected on 2026-08-19 · self-declared |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Delivery form (raw) | paket Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository platform (raw) | github Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository subfolder (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Package identifiers (raw) | ghcr.io/eszetael/postgres-mcp-hardened:0.1.9, postgres-mcp-hardened Source: MCP-Register · collected on 2026-08-19 · self-declared |
| Package versions (raw) | 0.1.9 Source: MCP-Register · collected on 2026-08-19 · self-declared |
| Runtime hints (raw) | npx Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Environment variable formats (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Environment variable descriptions (raw) | DATABASE_URL=Connection string for a role that cannot write. · DATABASE_URL=Connection string for the role the server connects as. Use a role that cannot write — the server refuses writes twice, but a read-only role is the layer that does not depend on us being correct. `--print-setup-sql` prints the SQL that creates one. · MCP_ADDR=Address to bind, default 127.0.0.1:8080. · MCP_ALLOW_TABLES=Comma-separated allowlist. A table off the list is refused by name, and hiding it inside a CTE, a view or a join does not help. · MCP_AUDIT_LOG=Path to the tamper-evident audit log. Entries are chained by hash and survive a restart; `--verify-audit` checks the chain against an off-host anchor. · MCP_STATEMENT_TIMEOUT=Server-side statement timeout, e.g. `5s`. A question that would pin the database is cancelled by PostgreSQL, not by hope. Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Icon formats (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
Changes
| 2026-08-26 | Field of use: – → Databases |
|---|---|
| 2026-08-26 | Description (raw): – → Read-only PostgreSQL over MCP. Writes refused at the parsed SQL, plus a READ ONLY transaction. |
| 2026-08-19 | Version: 0.1.6 → 0.1.9 |
| 2026-08-19 | Last changed in the registry (raw): 2026-08-15 → 2026-08-18 |
| 2026-08-19 | First listed in the registry (raw): 2026-08-15 → 2026-08-18 |
| 2026-08-19 | Package versions (raw): 0.1.6 → 0.1.9 |
| 2026-08-19 | Package identifiers (raw): ghcr.io/eszetael/postgres-mcp-hardened:0.1.6, postgres-mcp-hardened → ghcr.io/eszetael/postgres-mcp-hardened:0.1.9, postgres-mcp-hardened |
| 2026-08-16 | Version: 0.1.5 → 0.1.6 |
| 2026-08-16 | Last changed in the registry (raw): – → 2026-08-15 |
| 2026-08-16 | First listed in the registry (raw): – → 2026-08-15 |
These are the 10 most recent changes to this entry. Full history
tracevero · https://tracevero.com/mcp/io-github-eszetael-postgres-mcp-hardened