{
  "data": {
    "a": {
      "slug": "neon-mcp",
      "name": "Neon MCP Server",
      "vendor": "Neon (Databricks)",
      "vendorUrl": "https://neon.com/docs/ai/neon-mcp-server",
      "kind": "mcp",
      "category": "data",
      "summary": "Neon's official remote MCP server at mcp.neon.tech/mcp lets agents manage Neon Postgres projects, branches, roles and computes, run SQL and migrations on temporary branches, and configure Neon Auth, Data API and storage, through OAuth or an API key.",
      "url": "https://www.anchorterminal.com/tools/neon-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/neon-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/neon-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/neon-mcp.json",
      "dns": "neon-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/neondatabase/mcp-server-neon",
      "license": "MIT",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.neon.tech/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.1 with dynamic client registration or Client ID Metadata Documents, advertising `read` and `write` scopes; the consent screen lets the user untick writes and pick one project, a Postgres role and tool categories, or a parameterised URL fixes that grant. A Neon API key in a Bearer header also works, with readonly, projectId, category and roleName read from the URL on each request. The `neon mcp` CLI command can mint a key for the server. The local stdio package is deprecated.",
      "pricing": "freemium",
      "pricingNotes": "The MCP server is free; Neon usage is billed. The Free plan is $0 with no card (100 projects, 100 CU-hours and 0.5 GB storage per project, 1 GB storage). Launch and Scale are pay as you go, compute $0.106 a CU-hour on Launch and $0.222 on Scale, storage $0.35 a GB-month.",
      "priceSummary": "$0.106 / unit",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP server, docs or pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 138,
      "popularity": {
        "githubStars": 663,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://neon.com/docs/ai/neon-mcp-server",
      "llmsTxt": "https://neon.com/llms.txt",
      "openapi": "https://neon.com/docs/reference/api-reference",
      "registryName": "com.neon/mcp",
      "capabilities": [
        "db.sql",
        "db.admin"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "remote-mcp",
        "oauth",
        "mcp-registry",
        "llms-txt",
        "openapi",
        "postgres",
        "read-only-mode",
        "branching",
        "databricks"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72.5,
        "grade": "BB",
        "agentReady": true,
        "rank": 124,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 40,
          "reliability": 72,
          "schema": 90,
          "security": 69,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "OAuth with read or write scopes, per-project and per-role grants, read-only SQL in READ ONLY transactions, and migrations tried on temporary branches. With no grant it lists 138 tools, the README advises against production use, and it sends account name and email to Segment with no opt-out for hosted users.",
        "bestFor": "Agents building on Neon Postgres in development, especially branch-per-change workflows. supabase-mcp and planetscale-mcp are the nearest listings; Neon itself advises against pointing it at production.",
        "strengths": [
          "OAuth 2.1 with read and write scopes, and grants fixed to one project, one Postgres role and chosen categories",
          "Read-only mode runs SQL in READ ONLY transactions and withholds connection strings",
          "Migrations and query tuning run on a temporary branch before they touch the main one",
          "Descriptions say how to resolve IDs and which tools must never run without the user",
          "MIT source, dated CHANGELOG and com.neon/mcp in the official registry at 2.0.0"
        ],
        "weaknesses": [
          "138 tools listed when no category or project is set",
          "The README says it isn't recommended for production databases",
          "Segment receives account ID, name and email on connect, with no opt-out on the hosted server",
          "The MCP server has no status component and no stated release stage",
          "No security.txt on neon.com"
        ],
        "agentNotes": [
          "Connect with ?category=querying\u0026category=schema\u0026projectId=... or untick Allow writes at consent to cut 138 tools to a handful",
          "Use prepare_database_migration and complete_database_migration for schema changes, and ask the user before completing",
          "Pass branch IDs (br-...), not names; call list_branches to resolve a name",
          "On 429 back off exponentially, and on 423 Locked wait for the running operation to finish"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 72.5
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 40,
          "reliability": 72,
          "schema": 90,
          "security": 69,
          "transparency": 79
        },
        "provenanceScore": 71,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http neon https://mcp.neon.tech/mcp",
        "config": {
          "mcpServers": {
            "Neon": {
              "url": "https://mcp.neon.tech/mcp?readonly=true"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/db.sql",
        "tool": "https://letme.dev/neon-mcp"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Compute, Launch",
          "unit": "compute-unit",
          "usd": 0.106,
          "note": "Per CU-hour"
        },
        {
          "item": "Compute, Scale",
          "unit": "compute-unit",
          "usd": 0.222,
          "note": "Per CU-hour"
        },
        {
          "item": "Storage",
          "unit": "gb-month",
          "usd": 0.35,
          "note": "Launch and Scale"
        }
      ],
      "provenance": {
        "legalEntity": "Neon, LLC (subsidiary of Databricks, Inc.)",
        "domain": "neon.com",
        "domainRegistered": "1994-08-18",
        "endpointOnVendorDomain": false,
        "terms": "https://neon.com/terms-of-service",
        "privacy": "https://neon.com/privacy-policy",
        "statusPage": "https://neonstatus.com",
        "changelog": "https://github.com/neondatabase/mcp-server-neon/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The MCP endpoint is on mcp.neon.tech, Neon's older domain, while docs and legal pages are on neon.com.",
          "The Neon product schedule, last updated 14 October 2026, is between Databricks, Inc., the parent company of Neon, LLC, and the customer. The privacy notice is Databricks', last updated 9 January 2026.",
          "neon.com/security lists annual SOC 2 Type II audits with a public SOC 3 report, ISO 27001, ISO 27701, HIPAA, GDPR and CCPA.",
          "neon.com/.well-known/security.txt returns 404.",
          "neon.com/robots.txt allows all and carries Content-Signal ai-train=yes, search=yes, ai-input=yes. mcp.neon.tech has no robots.txt.",
          "RDAP gives neon.com a registration date of 18 August 1994; the domain predates Neon."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/neon-mcp.json",
      "live": {
        "slug": "neon-mcp",
        "probe": {
          "target": "https://mcp.neon.tech/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:20:41.671256944Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 183,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 144,
          "p95ms24h": 365,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://neonstatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:15.209607696Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.neon/mcp",
            "version": "2.0.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          }
        ],
        "githubStars": 663,
        "securityTxt": {
          "url": "https://neon.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:24.319288694Z"
        },
        "llmsTxt": {
          "url": "https://neon.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:18.8105724Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/neondatabase/mcp-server-neon/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:07.888479491Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "22d617e6b187"
          },
          {
            "url": "https://neon.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:57.338873736Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c96cd96f185b"
          },
          {
            "url": "https://neon.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:59.695502864Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d25bd3a3dc6e"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.neon.tech/mcp",
          "checkedAt": "2026-11-07T01:52:00.41377208Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-10-03T22:16:15.261722522Z"
        },
        "updatedAt": "2026-11-07T18:20:41.671256944Z"
      }
    },
    "answer": "Neon MCP Server scores 72.5 (BB) on agent readiness against Postgres MCP Pro's 37 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing.",
    "b": {
      "slug": "postgres-mcp-pro",
      "name": "Postgres MCP Pro",
      "vendor": "Crystal DBA",
      "vendorUrl": "https://www.crystaldba.ai",
      "kind": "mcp",
      "category": "data",
      "summary": "PostgreSQL server with configurable read/write access plus DBA tooling (index tuning with hypopg, EXPLAIN analysis, top-query and workload analysis, health checks).",
      "url": "https://www.anchorterminal.com/tools/postgres-mcp-pro",
      "markdownUrl": "https://www.anchorterminal.com/tools/postgres-mcp-pro.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/postgres-mcp-pro.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/postgres-mcp-pro.json",
      "dns": "postgres-mcp-pro.grade.anchorterminal.com",
      "repo": "https://github.com/crystaldba/postgres-mcp",
      "license": "MIT",
      "transports": [
        "stdio",
        "sse"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "postgres-mcp"
        },
        {
          "registry": "oci",
          "name": "crystaldba/postgres-mcp"
        }
      ],
      "auth": "none",
      "authNotes": "No MCP-level auth; connects with a Postgres DATABASE_URI (environment variable or argument). The default access mode is unrestricted. --access-mode=restricted parses each statement against an allowlist, forces read-only transactions and stops queries after 30 seconds; an open report (#178) shows it can still read server files through a function in the FROM clause.",
      "pricing": "free",
      "pricingNotes": "Open source; no hosted offering.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payments.",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": 3200,
        "npmWeekly": null,
        "pypiWeekly": 228655,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://github.com/crystaldba/postgres-mcp#readme",
      "capabilities": [
        "db.sql",
        "db.admin"
      ],
      "tags": [
        "community",
        "local",
        "open-source",
        "python",
        "read-only-mode"
      ],
      "lastRelease": "2025-05-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 37,
        "grade": "F",
        "agentReady": false,
        "rank": 1357,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 8,
          "payments": 60,
          "reliability": 41,
          "schema": 56,
          "security": 26,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -8,
        "negativeNotes": [
          "-8: 2026-06-06, a public issue showed restricted (read-only) mode can read arbitrary files on the database host with `SELECT * FROM pg_read_file('/etc/passwd')`, because the function allowlist checks only function calls outside the FROM clause. It needs a role with pg_read_server_files or superuser. Nearly four months later the issue has no maintainer reply and the fix (#200, opened 2026-08-16) is unmerged (https://github.com/crystaldba/postgres-mcp/issues/178; https://github.com/crystaldba/postgres-mcp/pull/200)."
        ],
        "verdict": "Index tuning with hypopg, EXPLAIN with hypothetical indexes, top queries and seven health checks. No release since 0.3.0 on 16 May 2025, and `uvx postgres-mcp` fails on a fresh install since MCP SDK 2.0.",
        "bestFor": "An operator who wants an agent to diagnose and tune a self-managed Postgres, with a pinned install and a low-privilege role.",
        "strengths": [
          "Index tuning with hypopg, EXPLAIN with hypothetical indexes, top queries and seven health checks",
          "Restricted mode parses statements with pglast, blocks `COMMIT`, `ROLLBACK` and `EXPLAIN ANALYZE`, runs read-only and stops queries after 30 seconds",
          "Nine tools at roughly 1,300 tokens of definitions by our estimate",
          "MIT licence, Docker image and CI with lint, type checks and tests against a real Postgres"
        ],
        "weaknesses": [
          "No release since 0.3.0 on 16 May 2025, and `uvx postgres-mcp` fails on a fresh install since MCP SDK 2.0",
          "Unrestricted is the default and every README example uses it",
          "Open restricted-mode bypass (#178) reads server files when the role has pg_read_server_files or superuser",
          "No security policy, no maintainer reply on the security report, 37 open issues and 35 open pull requests",
          "`execute_sql` has no row limit, and the released package carries no tool annotations"
        ],
        "agentNotes": [
          "Launch with `uvx --with 'mcp\u003c2' postgres-mcp`. Plain `uvx postgres-mcp` now fails with \"No module named 'mcp.server.fastmcp'\"",
          "Pass `--access-mode=restricted` explicitly. The default is unrestricted",
          "Connect with a role that lacks superuser and pg_read_server_files. Restricted mode alone doesn't stop server file reads",
          "Put `LIMIT` in every `execute_sql` query. The server returns every row",
          "Don't set `analyze: true` on `explain_query` for writes in unrestricted mode. It runs the statement"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 37
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 8,
          "payments": 60,
          "reliability": 41,
          "schema": 56,
          "security": 26,
          "transparency": 65
        },
        "provenanceScore": 64,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add postgres -e DATABASE_URI=${DATABASE_URI} -- uvx --with 'mcp\u003c2' postgres-mcp --access-mode=restricted",
        "config": {
          "mcpServers": {
            "postgres": {
              "args": [
                "--with",
                "mcp\u003c2",
                "postgres-mcp",
                "--access-mode=restricted"
              ],
              "command": "uvx",
              "env": {
                "DATABASE_URI": "${DATABASE_URI}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/db.sql",
        "tool": "https://letme.dev/postgres-mcp-pro"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "Crystal Corp.",
        "domain": "crystaldba.ai",
        "domainRegistered": "2024-11-25",
        "domainNote": "The licence names Crystal Corp. www.crystaldba.ai loaded on 1 October 2026 but showed no terms, privacy policy or contact links. A commenter on issue #187 says Crystal DBA was acquired by Temporal, which we couldn't confirm.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/crystaldba/postgres-mcp/releases",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "score": 64
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/postgres-mcp-pro.json",
      "live": {
        "slug": "postgres-mcp-pro",
        "versions": [
          {
            "registry": "github",
            "name": "crystaldba/postgres-mcp",
            "version": "v0.3.0",
            "released": "2025-05-16",
            "seenAt": "2026-11-06T23:57:33.769190094Z"
          },
          {
            "registry": "pypi",
            "name": "postgres-mcp",
            "version": "0.3.0",
            "released": "2025-05-16",
            "seenAt": "2026-11-06T23:57:33.526788218Z"
          }
        ],
        "githubStars": 3460,
        "pypiWeekly": 149294,
        "securityTxt": {
          "url": "https://crystaldba.ai/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-07T16:01:20.401737924Z"
        },
        "domain": {
          "domain": "crystaldba.ai",
          "registered": "2024-11-25",
          "source": "https://rdap.identitydigital.services/rdap/domain/crystaldba.ai",
          "checkedAt": "2026-11-01T14:22:09.560132777Z"
        },
        "github": {
          "repo": "crystaldba/postgres-mcp",
          "checkedAt": "2026-11-02T08:42:28.299989226Z",
          "stars": 3449,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-08-17T05:06:35Z",
          "openIssues": 55,
          "openPRs": 43,
          "issuesOpened90d": 17,
          "issuesClosed90d": 2,
          "prsMerged90d": 1,
          "ci": {
            "branch": "main",
            "runs": 9,
            "success": 8,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-08-16T05:39:03Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 23,
            "medianDays": 9.3
          }
        },
        "updatedAt": "2026-11-07T16:01:20.401737924Z"
      }
    },
    "edges": [
      {
        "by": 72,
        "category": "maintenance",
        "leads": "neon-mcp",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v2.0.0 on 5 November 2026, one day before this check (30). 1.0.0 (registry, 17 September) and 2.0.0 in the 90 days, two releases (10). 53 open issues and pull requests, with commits most days; reply times weren't measured (15). com.neon/mcp in the official registry, a domain-verified namespace, at 2.0.0 (15). Unit, integration and end-to-end test suites, knip and lint in CI (10). 30 + 10 + 15 + 15 + 10 = 80.",
          "b": "Last release 0.3.0 on 16 May 2025 (0). No release in the last 90 days. Main has a batch of 11 merges from 19 to 22 January 2026 and one commit on 15 August 2026 (0). 37 open issues and 35 open pull requests, a request for a release (#162) open since March 2026 and no maintainer reply on the security report. A commenter on #187 says the project is unmaintained since Crystal DBA's acquisition by Temporal, which we couldn't confirm (5). Not in the official MCP registry. A lookup for io.github.crystaldba/postgres-mcp returns 404 (0). Dependencies were refreshed on main in January, but the published package has the unbounded `mcp` dependency that now breaks it (3)."
        },
        "scores": {
          "a": 80,
          "b": 8
        }
      },
      {
        "by": 43,
        "category": "security",
        "leads": "neon-mcp",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.1 with read and write scopes, per-project and per-role fixed grants, Client ID Metadata Documents and RFC 9207 iss on redirects, or API keys (28). Read-only mode keeps SQL in READ ONLY transactions and withholds connection strings, roleName limits SQL to a role's grants, and destructive tools ask the model to confirm with the user; with an API key anyone who can edit the URL can widen the grant (17). The README warns to review every action and keep the server away from production, but we found no prompt-injection guidance for query results (5). Neon has project audit logs, but we didn't read whether MCP calls appear (5). SOC 2 Type II with a public SOC 3, ISO 27001 and 27701, HIPAA; no security.txt on neon.com (14). 28 + 17 + 5 + 5 + 14 = 69.",
          "b": "One database URI from `DATABASE_URI` or the command line, with whatever privileges its role has. The SSE and HTTP transports have no authentication and bind to localhost by default (10). Restricted mode parses every statement with pglast against an allowlist of statement types and functions, runs it in a read-only transaction and stops it after 30 seconds. But unrestricted is the default, every config example in the README uses it, and #178 (opened 6 June 2026) shows restricted mode reading server files through a function in the FROM clause. The fix (#200) is unmerged (10). The README discusses LLM-generated damage at length but says nothing about instructions hidden in table data, and rows reach the model unmarked (3). Restricted-mode queries are tagged `/* crystaldba */`, so they can be picked out in Postgres logs and pg_stat_statements (3). No SECURITY.md, and the #178 reporter says private advisories aren't enabled (0)."
        },
        "scores": {
          "a": 69,
          "b": 26
        }
      },
      {
        "by": 34,
        "category": "schema",
        "leads": "neon-mcp",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Every tool has a JSON Schema, many generated from the Neon OpenAPI spec (25). neon.com serves llms.txt and Markdown pages (10). Descriptions say when and when not (\"branch_id is a branch id, not a branch name. Call list_branches to resolve a name\", \"NEVER run autonomously\") (18). Typed inputs with enums such as access read_only or read_write, and path arguments checked for . and .. since 2.0.0 (13). Examples in the README and docs, and API 4xx errors classified by kind (11). CHANGELOG with dated releases and a registry version (13). 25 + 10 + 18 + 13 + 11 + 13 = 90.",
          "b": "FastMCP builds typed JSON Schema for all nine tools from Python type hints (25 less 5, since `hypothetical_indexes` is a list of free-form dicts) (20). No llms.txt. The README is Markdown on GitHub with a tool table (5). `explain_query` warns that `analyze` runs the query and `analyze_db_health` lists its checks, but most descriptions are one line (\"List objects in a schema\") and none says when not to use a tool (10). `method` is an enum. `object_type`, `health_type` and `sort_by` are free strings with valid values only in the prose, `limit` has no bounds and `execute_sql` gives `sql` a default of \"all\" (7). `explain_query` carries two worked examples. Errors come back as \"Error: \u003cPostgres message\u003e\" text (9). Semver tags, no changelog (5)."
        },
        "scores": {
          "a": 90,
          "b": 56
        }
      },
      {
        "by": 31,
        "category": "reliability",
        "leads": "neon-mcp",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted reading. neonstatus.com on status.io with components per region, though no MCP component (20). The page shows only the last 30 days, three incidents, a partial disruption of monitoring data on 21 October (1 hour 22 minutes), slow compute starts in us-east-2 on 2 November (2 hours 14 minutes) and 26 minutes of console and API errors on 2 November; August and September weren't readable (15). The Neon API publishes 700 requests a minute with a 40-a-second burst per route (15). 429 with exponential backoff advice and 423 Locked for overlapping operations with retry guidance, but no idempotency keys (12). An uptime SLA on Scale only, with no percentage on the pricing page (5). The docs give the server no status label and the README says it isn't recommended for production (5). 20 + 15 + 15 + 12 + 5 + 5 = 72.",
          "b": "Scored as a local stdio package. postgres-mcp on PyPI and the crystaldba/postgres-mcp Docker image, Python 3.12 or later stated. But PyPI's only current release, 0.3.0 from May 2025, asks for `mcp[cli]\u003e=1.5.0` with no ceiling, and since MCP Python SDK 2.0.0 shipped on 28 July 2026 a fresh `uvx postgres-mcp` pulls it and fails with \"No module named 'mcp.server.fastmcp'\" (#187). The `\u003c2.0` pin landed on main on 15 August and hasn't been released (10). CI runs ruff, pyright and pytest with a Postgres container on every push and pull request, with 25 unit test files. We couldn't see whether main passes (20). 37 open issues, among them the broken install, failures on custom schemas (#181) and two unmerged pull requests for connection-pool leaks (#177, #195) (6). Semver tags with no changelog (5). Pre-1.0 (0)."
        },
        "scores": {
          "a": 72,
          "b": 41
        }
      },
      {
        "by": 22,
        "category": "ergonomics",
        "leads": "neon-mcp",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "138 tools with no grant, far over 30 (5), with category, projectId and readonly to cut the list (plus 10). List tools take limits and cursors from the API, and describe_branch returns a tree (16). API errors return with their kind and status, path errors are tool errors, and unknown categories come back as a notice (16). readOnlyHint and destructiveHint on every definition, and the grant filter tells the model never to run destructive tools autonomously (18). Official TypeScript and Python SDKs for the Neon API; a no-auth tool preview endpoint (14). 15 + 16 + 16 + 18 + 14 = 79.",
          "b": "Nine tools with about 2,500 characters of descriptions, roughly 1,300 tokens of definitions by our estimate (23). `get_top_queries` takes a `limit`, but `execute_sql` returns every row and the index tools append a `_langfuse_trace` block by default unless `POSTGRES_MCP_INCLUDE_LANGFUSE_TRACE=false` (6). Restricted mode explains its refusals (`Only SELECT, ANALYZE, VACUUM, EXPLAIN, SHOW and other read-only statements are allowed`) and its 30-second timeout suggests simplifying the query. Errors arrive as ordinary text rather than flagged tool errors (13). Annotations exist on main since January 2026 but not in the released 0.3.0, and on main `explain_query` claims `readOnlyHint` though `analyze: true` executes the statement in unrestricted mode (5). Sensible defaults, at most one required parameter per tool. Python only, plus Docker (10)."
        },
        "scores": {
          "a": 79,
          "b": 57
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "postgres-mcp-pro",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-unit prices are public, compute per CU-hour and storage per GB-month (20). Free plan with no card (20). A person signs up and authorises in a browser; the CLI can mint a key only after a login (0). 0 + 20 + 20 + 0 = 40.",
          "b": "Free, self-hosted, nothing to buy, so 20 + 20 + 20. No payment protocol (0). The optional `llm` index method needs your own OpenAI key."
        },
        "scores": {
          "a": 40,
          "b": 60
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Neon (Databricks)",
        "b": "Crystal DBA",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.neon.tech/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "stdio, SSE (legacy)",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "138",
        "b": "9",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.neon/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-05",
        "b": "2025-05-16",
        "name": "Last release"
      },
      {
        "a": "2026-10-14",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-01-09",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "663 stars",
        "b": "3.2k stars, 229k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Neon MCP Server scores 72.5 (BB) on agent readiness against Postgres MCP Pro's 37 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Neon MCP Server or Postgres MCP Pro?"
      },
      {
        "answer": "Neon MCP Server uses an OAuth sign-in. Postgres MCP Pro needs no key.",
        "question": "Do Neon MCP Server and Postgres MCP Pro need an API key?"
      },
      {
        "answer": "Neon MCP Server has a hosted endpoint at https://mcp.neon.tech/mcp. Postgres MCP Pro runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Neon MCP Server and Postgres MCP Pro without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Neon MCP Server. Postgres MCP Pro is open source (MIT).",
        "question": "Are Neon MCP Server and Postgres MCP Pro open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 72 against 41",
          "Schema \u0026 documentation, 90 against 56",
          "Agent ergonomics, 79 against 57",
          "Security \u0026 auth, 69 against 26",
          "Maintenance \u0026 community, 80 against 8",
          "Transparency \u0026 trust, 75 against 65"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where Postgres MCP Pro loses 8 points for them"
        ],
        "goodFor": "Agents building on Neon Postgres in development, especially branch-per-change workflows. supabase-mcp and planetscale-mcp are the nearest listings; Neon itself advises against pointing it at production.",
        "slug": "neon-mcp",
        "watchFor": "138 tools listed when no category or project is set"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 40"
        ],
        "also": [
          "No key needed to call it",
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "An operator who wants an agent to diagnose and tune a self-managed Postgres, with a pinned install and a low-privilege role.",
        "slug": "postgres-mcp-pro",
        "watchFor": "No release since 0.3.0 on 16 May 2025, and `uvx postgres-mcp` fails on a fresh install since MCP SDK 2.0"
      }
    ],
    "history": {
      "neon-mcp": null,
      "postgres-mcp-pro": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 36.7,
          "fromGrade": "F",
          "to": 37,
          "toGrade": "F"
        }
      ]
    },
    "job": {
      "capability": "db.sql",
      "name": "SQL databases"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-neon-mcp.json",
        "title": "ClickHouse MCP Server vs Neon MCP Server",
        "url": "https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-neon-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-postgres-mcp-pro.json",
        "title": "ClickHouse MCP Server vs Postgres MCP Pro",
        "url": "https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-postgres-mcp-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dbhub-vs-neon-mcp.json",
        "title": "DBHub vs Neon MCP Server",
        "url": "https://www.anchorterminal.com/compare/dbhub-vs-neon-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dbhub-vs-postgres-mcp-pro.json",
        "title": "DBHub vs Postgres MCP Pro",
        "url": "https://www.anchorterminal.com/compare/dbhub-vs-postgres-mcp-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mcp-toolbox-databases-vs-neon-mcp.json",
        "title": "MCP Toolbox for Databases vs Neon MCP Server",
        "url": "https://www.anchorterminal.com/compare/mcp-toolbox-databases-vs-neon-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mcp-toolbox-databases-vs-postgres-mcp-pro.json",
        "title": "MCP Toolbox for Databases vs Postgres MCP Pro",
        "url": "https://www.anchorterminal.com/compare/mcp-toolbox-databases-vs-postgres-mcp-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/neon-mcp-vs-obsessiondb.json",
        "title": "Neon MCP Server vs ObsessionDB",
        "url": "https://www.anchorterminal.com/compare/neon-mcp-vs-obsessiondb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/neon-mcp-vs-planetscale-mcp.json",
        "title": "Neon MCP Server vs PlanetScale MCP Server",
        "url": "https://www.anchorterminal.com/compare/neon-mcp-vs-planetscale-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-reference-server-archived.json",
        "title": "Neon MCP Server vs PostgreSQL (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/neon-mcp-vs-snowflake-managed.json",
        "title": "Neon MCP Server vs Snowflake-managed MCP server",
        "url": "https://www.anchorterminal.com/compare/neon-mcp-vs-snowflake-managed"
      },
      {
        "json": "https://www.anchorterminal.com/compare/neon-mcp-vs-supabase-mcp.json",
        "title": "Neon MCP Server vs Supabase API + MCP",
        "url": "https://www.anchorterminal.com/compare/neon-mcp-vs-supabase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/obsessiondb-vs-postgres-mcp-pro.json",
        "title": "ObsessionDB vs Postgres MCP Pro",
        "url": "https://www.anchorterminal.com/compare/obsessiondb-vs-postgres-mcp-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro.json",
        "title": "PlanetScale MCP Server vs Postgres MCP Pro",
        "url": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-postgres-reference-server-archived.json",
        "title": "Postgres MCP Pro vs PostgreSQL (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-postgres-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-snowflake-managed.json",
        "title": "Postgres MCP Pro vs Snowflake-managed MCP server",
        "url": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-snowflake-managed"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-supabase-mcp.json",
        "title": "Postgres MCP Pro vs Supabase API + MCP",
        "url": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-supabase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mongodb-mcp-vs-neon-mcp.json",
        "title": "MongoDB MCP Server vs Neon MCP Server",
        "url": "https://www.anchorterminal.com/compare/mongodb-mcp-vs-neon-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mongodb-mcp-vs-postgres-mcp-pro.json",
        "title": "MongoDB MCP Server vs Postgres MCP Pro",
        "url": "https://www.anchorterminal.com/compare/mongodb-mcp-vs-postgres-mcp-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/neon-mcp-vs-redis-mcp.json",
        "title": "Neon MCP Server vs Redis MCP",
        "url": "https://www.anchorterminal.com/compare/neon-mcp-vs-redis-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-redis-mcp.json",
        "title": "Postgres MCP Pro vs Redis MCP",
        "url": "https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-redis-mcp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 31,
        "edge": "neon-mcp",
        "key": "reliability",
        "name": "Reliability",
        "neon-mcp": 72,
        "postgres-mcp-pro": 41,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "neon-mcp",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "neon-mcp": 90,
        "postgres-mcp-pro": 56,
        "weight": 13
      },
      {
        "by": 22,
        "edge": "neon-mcp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "neon-mcp": 79,
        "postgres-mcp-pro": 57,
        "weight": 13
      },
      {
        "by": 43,
        "edge": "neon-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "neon-mcp": 69,
        "postgres-mcp-pro": 26,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "postgres-mcp-pro",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "neon-mcp": 40,
        "postgres-mcp-pro": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 72,
        "edge": "neon-mcp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "neon-mcp": 80,
        "postgres-mcp-pro": 8,
        "weight": 7
      },
      {
        "by": 10,
        "edge": "neon-mcp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "neon-mcp": 75,
        "postgres-mcp-pro": 65,
        "weight": 7
      }
    ],
    "summary": "Neon MCP Server scores 72.5 (BB) on agent readiness against Postgres MCP Pro's 37 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing. Both do sql databases.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "neon-mcp": "OAuth with read or write scopes, per-project and per-role grants, read-only SQL in READ ONLY transactions, and migrations tried on temporary branches. With no grant it lists 138 tools, the README advises against production use, and it sends account name and email to Segment with no opt-out for hosted users.",
      "postgres-mcp-pro": "Index tuning with hypopg, EXPLAIN with hypothetical indexes, top queries and seven health checks. No release since 0.3.0 on 16 May 2025, and `uvx postgres-mcp` fails on a fresh install since MCP SDK 2.0."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-mcp-pro",
    "json": "https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-mcp-pro.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-mcp-pro.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-mcp-pro.min.md"
  },
  "markdown": "Neon MCP Server scores 72.5 (BB) on agent readiness against Postgres MCP Pro's 37 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing. Both do sql databases.\n\n- Neon MCP Server: grade BB, 72.5/100, rank #124 of 1486. Markdown https://www.anchorterminal.com/tools/neon-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/neon-mcp.json\n- Postgres MCP Pro: grade F, 37/100, rank #1357 of 1486. Markdown https://www.anchorterminal.com/tools/postgres-mcp-pro.md · JSON https://www.anchorterminal.com/api/v1/tools/postgres-mcp-pro.json\n- Best database, file and memory tools for AI agents: https://www.anchorterminal.com/best/data/index.md\n- All 97 databases comparisons: https://www.anchorterminal.com/compare/data/index.md\n\n## Which one, for what\n\n### Neon MCP Server (BB)\n\nGood for: Agents building on Neon Postgres in development, especially branch-per-change workflows. supabase-mcp and planetscale-mcp are the nearest listings; Neon itself advises against pointing it at production.\n\nAhead on:\n- Reliability, 72 against 41\n- Schema \u0026 documentation, 90 against 56\n- Agent ergonomics, 79 against 57\n- Security \u0026 auth, 69 against 26\n- Maintenance \u0026 community, 80 against 8\n- Transparency \u0026 trust, 75 against 65\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where Postgres MCP Pro loses 8 points for them\n\nWatch for: 138 tools listed when no category or project is set\n\n### Postgres MCP Pro (F)\n\nGood for: An operator who wants an agent to diagnose and tune a self-managed Postgres, with a pinned install and a low-privilege role.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 40\n\nAlso in its favour:\n- No key needed to call it\n- Runs on your own machine\n- Open source\n\nWatch for: No release since 0.3.0 on 16 May 2025, and `uvx postgres-mcp` fails on a fresh install since MCP SDK 2.0\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Neon MCP Server +72\n\n- Neon MCP Server (80): v2.0.0 on 5 November 2026, one day before this check (30). 1.0.0 (registry, 17 September) and 2.0.0 in the 90 days, two releases (10). 53 open issues and pull requests, with commits most days; reply times weren't measured (15). com.neon/mcp in the official registry, a domain-verified namespace, at 2.0.0 (15). Unit, integration and end-to-end test suites, knip and lint in CI (10). 30 + 10 + 15 + 15 + 10 = 80.\n- Postgres MCP Pro (8): Last release 0.3.0 on 16 May 2025 (0). No release in the last 90 days. Main has a batch of 11 merges from 19 to 22 January 2026 and one commit on 15 August 2026 (0). 37 open issues and 35 open pull requests, a request for a release (#162) open since March 2026 and no maintainer reply on the security report. A commenter on #187 says the project is unmaintained since Crystal DBA's acquisition by Temporal, which we couldn't confirm (5). Not in the official MCP registry. A lookup for io.github.crystaldba/postgres-mcp returns 404 (0). Dependencies were refreshed on main in January, but the published package has the unbounded `mcp` dependency that now breaks it (3).\n\n### Security \u0026 auth: Neon MCP Server +43\n\n- Neon MCP Server (69): OAuth 2.1 with read and write scopes, per-project and per-role fixed grants, Client ID Metadata Documents and RFC 9207 iss on redirects, or API keys (28). Read-only mode keeps SQL in READ ONLY transactions and withholds connection strings, roleName limits SQL to a role's grants, and destructive tools ask the model to confirm with the user; with an API key anyone who can edit the URL can widen the grant (17). The README warns to review every action and keep the server away from production, but we found no prompt-injection guidance for query results (5). Neon has project audit logs, but we didn't read whether MCP calls appear (5). SOC 2 Type II with a public SOC 3, ISO 27001 and 27701, HIPAA; no security.txt on neon.com (14). 28 + 17 + 5 + 5 + 14 = 69.\n- Postgres MCP Pro (26): One database URI from `DATABASE_URI` or the command line, with whatever privileges its role has. The SSE and HTTP transports have no authentication and bind to localhost by default (10). Restricted mode parses every statement with pglast against an allowlist of statement types and functions, runs it in a read-only transaction and stops it after 30 seconds. But unrestricted is the default, every config example in the README uses it, and #178 (opened 6 June 2026) shows restricted mode reading server files through a function in the FROM clause. The fix (#200) is unmerged (10). The README discusses LLM-generated damage at length but says nothing about instructions hidden in table data, and rows reach the model unmarked (3). Restricted-mode queries are tagged `/* crystaldba */`, so they can be picked out in Postgres logs and pg_stat_statements (3). No SECURITY.md, and the #178 reporter says private advisories aren't enabled (0).\n\n### Schema \u0026 documentation: Neon MCP Server +34\n\n- Neon MCP Server (90): Every tool has a JSON Schema, many generated from the Neon OpenAPI spec (25). neon.com serves llms.txt and Markdown pages (10). Descriptions say when and when not (\"branch_id is a branch id, not a branch name. Call list_branches to resolve a name\", \"NEVER run autonomously\") (18). Typed inputs with enums such as access read_only or read_write, and path arguments checked for . and .. since 2.0.0 (13). Examples in the README and docs, and API 4xx errors classified by kind (11). CHANGELOG with dated releases and a registry version (13). 25 + 10 + 18 + 13 + 11 + 13 = 90.\n- Postgres MCP Pro (56): FastMCP builds typed JSON Schema for all nine tools from Python type hints (25 less 5, since `hypothetical_indexes` is a list of free-form dicts) (20). No llms.txt. The README is Markdown on GitHub with a tool table (5). `explain_query` warns that `analyze` runs the query and `analyze_db_health` lists its checks, but most descriptions are one line (\"List objects in a schema\") and none says when not to use a tool (10). `method` is an enum. `object_type`, `health_type` and `sort_by` are free strings with valid values only in the prose, `limit` has no bounds and `execute_sql` gives `sql` a default of \"all\" (7). `explain_query` carries two worked examples. Errors come back as \"Error: \u003cPostgres message\u003e\" text (9). Semver tags, no changelog (5).\n\n### Reliability: Neon MCP Server +31\n\n- Neon MCP Server (72): Hosted reading. neonstatus.com on status.io with components per region, though no MCP component (20). The page shows only the last 30 days, three incidents, a partial disruption of monitoring data on 21 October (1 hour 22 minutes), slow compute starts in us-east-2 on 2 November (2 hours 14 minutes) and 26 minutes of console and API errors on 2 November; August and September weren't readable (15). The Neon API publishes 700 requests a minute with a 40-a-second burst per route (15). 429 with exponential backoff advice and 423 Locked for overlapping operations with retry guidance, but no idempotency keys (12). An uptime SLA on Scale only, with no percentage on the pricing page (5). The docs give the server no status label and the README says it isn't recommended for production (5). 20 + 15 + 15 + 12 + 5 + 5 = 72.\n- Postgres MCP Pro (41): Scored as a local stdio package. postgres-mcp on PyPI and the crystaldba/postgres-mcp Docker image, Python 3.12 or later stated. But PyPI's only current release, 0.3.0 from May 2025, asks for `mcp[cli]\u003e=1.5.0` with no ceiling, and since MCP Python SDK 2.0.0 shipped on 28 July 2026 a fresh `uvx postgres-mcp` pulls it and fails with \"No module named 'mcp.server.fastmcp'\" (#187). The `\u003c2.0` pin landed on main on 15 August and hasn't been released (10). CI runs ruff, pyright and pytest with a Postgres container on every push and pull request, with 25 unit test files. We couldn't see whether main passes (20). 37 open issues, among them the broken install, failures on custom schemas (#181) and two unmerged pull requests for connection-pool leaks (#177, #195) (6). Semver tags with no changelog (5). Pre-1.0 (0).\n\n### Agent ergonomics: Neon MCP Server +22\n\n- Neon MCP Server (79): 138 tools with no grant, far over 30 (5), with category, projectId and readonly to cut the list (plus 10). List tools take limits and cursors from the API, and describe_branch returns a tree (16). API errors return with their kind and status, path errors are tool errors, and unknown categories come back as a notice (16). readOnlyHint and destructiveHint on every definition, and the grant filter tells the model never to run destructive tools autonomously (18). Official TypeScript and Python SDKs for the Neon API; a no-auth tool preview endpoint (14). 15 + 16 + 16 + 18 + 14 = 79.\n- Postgres MCP Pro (57): Nine tools with about 2,500 characters of descriptions, roughly 1,300 tokens of definitions by our estimate (23). `get_top_queries` takes a `limit`, but `execute_sql` returns every row and the index tools append a `_langfuse_trace` block by default unless `POSTGRES_MCP_INCLUDE_LANGFUSE_TRACE=false` (6). Restricted mode explains its refusals (`Only SELECT, ANALYZE, VACUUM, EXPLAIN, SHOW and other read-only statements are allowed`) and its 30-second timeout suggests simplifying the query. Errors arrive as ordinary text rather than flagged tool errors (13). Annotations exist on main since January 2026 but not in the released 0.3.0, and on main `explain_query` claims `readOnlyHint` though `analyze: true` executes the statement in unrestricted mode (5). Sensible defaults, at most one required parameter per tool. Python only, plus Docker (10).\n\n### Payments \u0026 pricing: Postgres MCP Pro +20\n\n- Neon MCP Server (40): No x402, MPP or L402 (0). Per-unit prices are public, compute per CU-hour and storage per GB-month (20). Free plan with no card (20). A person signs up and authorises in a browser; the CLI can mint a key only after a login (0). 0 + 20 + 20 + 0 = 40.\n- Postgres MCP Pro (60): Free, self-hosted, nothing to buy, so 20 + 20 + 20. No payment protocol (0). The optional `llm` index method needs your own OpenAI key.\n\n## Score by category\n\n| Category | Weight | Neon MCP Server | Postgres MCP Pro | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 41 | Neon MCP Server +31 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 90 | 56 | Neon MCP Server +34 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 57 | Neon MCP Server +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 69 | 26 | Neon MCP Server +43 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | Postgres MCP Pro +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 8 | Neon MCP Server +72 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 65 | Neon MCP Server +10 |\n| Negative events | ≤15 | 0 | -8 | |\n| **Total** | | **72.5 · BB** | **37 · F** | |\n\n## Facts side by side\n\n| Fact | Neon MCP Server | Postgres MCP Pro |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | Neon (Databricks) | Crystal DBA |\n| Hosted endpoint | `https://mcp.neon.tech/mcp` | no (local only) |\n| Transports | Streamable HTTP | stdio, SSE (legacy) |\n| Auth | OAuth | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | 138 | 9 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | no |\n| MCP registry | `com.neon/mcp` | not listed |\n| Last release | 2026-11-05 | 2025-05-16 |\n| Terms last updated | 2026-10-14 | no document linked |\n| Privacy policy last updated | 2026-01-09 | no document linked |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | not found in the text | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n| Popularity | 663 stars | 3.2k stars, 229k PyPI/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## How the scores have moved\n\n### Neon MCP Server\n\nNo score change since it was listed.\n\n### Postgres MCP Pro\n\n- +0.3 on 27 October 2026: checklist\n\n## Verdicts\n\n**Neon MCP Server.** OAuth with read or write scopes, per-project and per-role grants, read-only SQL in READ ONLY transactions, and migrations tried on temporary branches. With no grant it lists 138 tools, the README advises against production use, and it sends account name and email to Segment with no opt-out for hosted users.\n\n**Postgres MCP Pro.** Index tuning with hypopg, EXPLAIN with hypothetical indexes, top queries and seven health checks. No release since 0.3.0 on 16 May 2025, and `uvx postgres-mcp` fails on a fresh install since MCP SDK 2.0.\n\n## Before you call either\n\n### Neon MCP Server\n\n1. Connect with ?category=querying\u0026category=schema\u0026projectId=... or untick Allow writes at consent to cut 138 tools to a handful\n2. Use prepare_database_migration and complete_database_migration for schema changes, and ask the user before completing\n3. Pass branch IDs (br-...), not names; call list_branches to resolve a name\n4. On 429 back off exponentially, and on 423 Locked wait for the running operation to finish\n\n### Postgres MCP Pro\n\n1. Launch with `uvx --with 'mcp\u003c2' postgres-mcp`. Plain `uvx postgres-mcp` now fails with \"No module named 'mcp.server.fastmcp'\"\n2. Pass `--access-mode=restricted` explicitly. The default is unrestricted\n3. Connect with a role that lacks superuser and pg_read_server_files. Restricted mode alone doesn't stop server file reads\n4. Put `LIMIT` in every `execute_sql` query. The server returns every row\n5. Don't set `analyze: true` on `explain_query` for writes in unrestricted mode. It runs the statement\n\n## Questions\n\n### Which is better for AI agents, Neon MCP Server or Postgres MCP Pro?\n\nNeon MCP Server scores 72.5 (BB) on agent readiness against Postgres MCP Pro's 37 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing.\n\n### Do Neon MCP Server and Postgres MCP Pro need an API key?\n\nNeon MCP Server uses an OAuth sign-in. Postgres MCP Pro needs no key.\n\n### Can an agent call Neon MCP Server and Postgres MCP Pro without installing anything?\n\nNeon MCP Server has a hosted endpoint at https://mcp.neon.tech/mcp. Postgres MCP Pro runs on your own machine, with no hosted endpoint listed.\n\n### Are Neon MCP Server and Postgres MCP Pro open source?\n\nNo open-source release is listed for Neon MCP Server. Postgres MCP Pro is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-mcp-pro.json, and with the fewest tokens: https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-mcp-pro.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"neon-mcp\", \"b\": \"postgres-mcp-pro\"}`. From a terminal: `anchor compare neon-mcp postgres-mcp-pro`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/neon-mcp.json and https://www.anchorterminal.com/api/v1/tools/postgres-mcp-pro.json\n\n## Other comparisons with Neon MCP Server or Postgres MCP Pro\n\n- [ClickHouse MCP Server vs Neon MCP Server](https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-neon-mcp.md)\n- [ClickHouse MCP Server vs Postgres MCP Pro](https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-postgres-mcp-pro.md)\n- [DBHub vs Neon MCP Server](https://www.anchorterminal.com/compare/dbhub-vs-neon-mcp.md)\n- [DBHub vs Postgres MCP Pro](https://www.anchorterminal.com/compare/dbhub-vs-postgres-mcp-pro.md)\n- [MCP Toolbox for Databases vs Neon MCP Server](https://www.anchorterminal.com/compare/mcp-toolbox-databases-vs-neon-mcp.md)\n- [MCP Toolbox for Databases vs Postgres MCP Pro](https://www.anchorterminal.com/compare/mcp-toolbox-databases-vs-postgres-mcp-pro.md)\n- [Neon MCP Server vs ObsessionDB](https://www.anchorterminal.com/compare/neon-mcp-vs-obsessiondb.md)\n- [Neon MCP Server vs PlanetScale MCP Server](https://www.anchorterminal.com/compare/neon-mcp-vs-planetscale-mcp.md)\n- [Neon MCP Server vs PostgreSQL (archived MCP reference server)](https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-reference-server-archived.md)\n- [Neon MCP Server vs Snowflake-managed MCP server](https://www.anchorterminal.com/compare/neon-mcp-vs-snowflake-managed.md)\n- [Neon MCP Server vs Supabase API + MCP](https://www.anchorterminal.com/compare/neon-mcp-vs-supabase-mcp.md)\n- [ObsessionDB vs Postgres MCP Pro](https://www.anchorterminal.com/compare/obsessiondb-vs-postgres-mcp-pro.md)\n- [PlanetScale MCP Server vs Postgres MCP Pro](https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro.md)\n- [Postgres MCP Pro vs PostgreSQL (archived MCP reference server)](https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-postgres-reference-server-archived.md)\n- [Postgres MCP Pro vs Snowflake-managed MCP server](https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-snowflake-managed.md)\n- [Postgres MCP Pro vs Supabase API + MCP](https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-supabase-mcp.md)\n- [MongoDB MCP Server vs Neon MCP Server](https://www.anchorterminal.com/compare/mongodb-mcp-vs-neon-mcp.md)\n- [MongoDB MCP Server vs Postgres MCP Pro](https://www.anchorterminal.com/compare/mongodb-mcp-vs-postgres-mcp-pro.md)\n- [Neon MCP Server vs Redis MCP](https://www.anchorterminal.com/compare/neon-mcp-vs-redis-mcp.md)\n- [Postgres MCP Pro vs Redis MCP](https://www.anchorterminal.com/compare/postgres-mcp-pro-vs-redis-mcp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Neon MCP Server vs Postgres MCP Pro",
        "url": ""
      }
    ],
    "description": "Neon scores 72.5 (BB) to Postgres MCP Pro's 37 (F) for sql databases. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Neon MCP Server BB 72.5",
      "Postgres MCP Pro F 37",
      "scores"
    ],
    "h1": "Neon MCP Server vs Postgres MCP Pro",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/neon-mcp-vs-postgres-mcp-pro",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Neon vs Postgres MCP Pro for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/neon-mcp-vs-postgres-mcp-pro"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2830
  },
  "version": 1
}
