addrbookFor publishers
← The evidence ledger

Evidence row 33313

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.antonorlov/mcp-postgres-server
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
8c8790d4e81af44d3fd3ce096806d55e118bd2695040a55ae5faff2bfab2da10
Leaf
0x0080c07f953e6835b884989543300115e0f78d2f6467e281cbff51a17acb90f7

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/antonorlov/mcp-postgres-server"
    ]
  ],
  "name": "PostgreSQL",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-09-14T20:23:00.55789Z",
        "status": "active",
        "statusChangedAt": "2026-09-14T20:23:00.55789Z",
        "updatedAt": "2026-09-14T20:23:00.55789Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "MCP server for PostgreSQL: local, Docker, RDS, Neon, Supabase, or behind an SSH bastion.",
      "name": "io.github.antonorlov/mcp-postgres-server",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Full connection string (preferred). Supports sslmode in the URL.",
              "format": "string",
              "isSecret": true,
              "name": "DATABASE_URL",
              "placeholder": "postgres://user:password@localhost:5432/mydb?sslmode=require"
            },
            {
              "description": "Database host (fallback when DATABASE_URL is not set).",
              "format": "string",
              "name": "PG_HOST"
            },
            {
              "default": "5432",
              "description": "Database port.",
              "format": "number",
              "name": "PG_PORT"
            },
            {
              "description": "Database user.",
              "format": "string",
              "name": "PG_USER"
            },
            {
              "description": "Database password.",
              "format": "string",
              "isSecret": true,
              "name": "PG_PASSWORD"
            },
            {
              "description": "Database name.",
              "format": "string",
              "name": "PG_DATABASE"
            },
            {
              "choices": [
                "false",
                "true"
              ],
              "default": "false",
              "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",
              "name": "PG_ALLOW_WRITE"
            },
            {
              "choices": [
                "disable",
                "allow",
                "prefer",
                "require",
                "verify-ca",
                "verify-full"
              ],
              "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",
              "name": "PG_SSLMODE"
            },
            {
              "description": "Path to a CA certificate file. Setting it by itself implies verify-full.",
              "format": "filepath",
              "name": "PG_SSL_CA"
            },
            {
              "choices": [
                "false",
                "true"
              ],
              "default": "false",
              "description": "Register the connect_db tool (runtime credential switching).",
              "format": "boolean",
              "name": "PG_ENABLE_RUNTIME_CONNECT"
            },
            {
              "default": "32768",
              "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",
              "name": "PG_MAX_RESULT_BYTES"
            },
            {
              "default": "30000",
              "description": "Statement timeout in milliseconds, applied to every session.",
              "format": "number",
              "name": "PG_STATEMENT_TIMEOUT"
            },
            {
              "default": "10000",
              "description": "Timeout in milliseconds for a single connect attempt (raise it for slow links or SSH tunnels).",
              "format": "number",
              "name": "PG_CONNECT_TIMEOUT"
            },
            {
              "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",
              "name": "PG_SSH_HOST"
            },
            {
              "default": "22",
              "description": "SSH bastion port.",
              "format": "number",
              "name": "PG_SSH_PORT"
            },
            {
              "description": "SSH username.",
              "format": "string",
              "name": "PG_SSH_USER"
            },
            {
              "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",
              "name": "PG_SSH_PRIVATE_KEY"
            },
            {
              "description": "Passphrase for the private key, if encrypted.",
              "format": "string",
              "isSecret": true,
              "name": "PG_SSH_PASSPHRASE"
            },
            {
              "description": "true to use the ambient agent (SSH_AUTH_SOCK), or an explicit socket path / Windows named pipe.",
              "format": "string",
              "name": "PG_SSH_AGENT"
            },
            {
              "description": "SSH login password. Opt-in; a key or agent takes precedence. Prefer keys, a bastion often disables password auth.",
              "format": "string",
              "isSecret": true,
              "name": "PG_SSH_PASSWORD"
            },
            {
              "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",
              "name": "PG_SSH_FINGERPRINT",
              "placeholder": "SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            },
            {
              "default": "15000",
              "description": "SSH keepalive interval in ms; the tunnel drops after 3 unanswered keepalives, and the next call reconnects.",
              "format": "number",
              "name": "PG_SSH_KEEPALIVE_INTERVAL"
            }
          ],
          "identifier": "mcp-postgres-server",
          "registryBaseUrl": "https://registry.npmjs.org",
          "registryType": "npm",
          "runtimeHint": "npx",
          "transport": {
            "type": "stdio"
          },
          "version": "0.3.1"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/antonorlov/mcp-postgres-server"
      },
      "title": "PostgreSQL",
      "version": "0.3.1",
      "websiteUrl": "https://github.com/antonorlov/mcp-postgres-server#readme"
    }
  },
  "source": "mcp_registry",
  "summary": "MCP server for PostgreSQL: local, Docker, RDS, Neon, Supabase, or behind an SSH bastion."
}

What the leaf hashes

{"body":"8c8790d4e81af44d3fd3ce096806d55e118bd2695040a55ae5faff2bfab2da10","id":33313,"kind":"listing","method":"baseline/1","observed_us":1793025368611008,"prev":null,"subject":"mcp_registry:io.github.antonorlov/mcp-postgres-server","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x0080cf7ecfea832bcb21dd21edf0ec8a3f99e741111109605ebfad8e29af1cb0
  2. 0x0fc28d238f17c2cd18ff2fb1e0878c9359312c48ff89986f44c2af508d10c838
  3. 0x1b6b39b8dea1ae2936f2fc419d0a02549da637c6adc0938ae79b8071d25943e4
  4. 0x5172e2729be12843e1d0796a6e0c7c20334624064950330f1c0e74c7131dfee9
  5. 0x52bcb371851d8afc75fd2d77b335f2d5a45fe0ce1d422b27d2ba287a9956800a
  6. 0x4abfc259b08721b2b7afbfe6057687c9fcdc698a4b60666bf5a54d78e4526d2f
  7. 0x90bdd9d40e561d797a16753a816d07fed5b3b77ae6f6b474c4b5c6beeb8e61e9
  8. 0x12d249bf5f532ff92b96ceb0fd0748c9febc64187affd5ea5862bcd18b82759c
  9. 0x4f4b1a402d7ba339698163cfae2b6e599b72ed6018d3e89e3cd40d060b77051e
  10. 0x1edd2dc9dd36bef0d66bcca09e9894f11e3093f06b9f8a9284ef28d89ac3a155
  11. 0x27552701eb5162e9111d06653c360295d04e5cdfe261fe843f9c0fb27ab44c3b
  12. 0x9d52e830c7a3480876eca1592c3b5c4a56ee3a8c6fdd4e37c57710b7654e36c7
  13. 0x92ff7d176556ddbe3d885e2ab73948b14a6aa3568a8fd237427d4f8415235a23
  14. 0xd1d3499072edb10edc68f84bcae2365d2ab534df689250cab18c751b6f13b6ff
  15. 0x7ddc2fead128357f881b63e6c7c26d7fbbb84fca6c7c8e0bbfe386de86ca8d39
  16. 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON