{
  "data": {
    "a": {
      "slug": "planetscale-mcp",
      "name": "PlanetScale MCP Server",
      "vendor": "PlanetScale",
      "vendorUrl": "https://planetscale.com",
      "kind": "mcp",
      "category": "data",
      "summary": "PlanetScale's hosted MCP server connects agents to PlanetScale Postgres, Vitess and Neki databases. Its 25 tools cover organisations, branches, schema, read and write SQL, Insights data, Postgres logs, invoices and documentation search, with OAuth or a service token.",
      "url": "https://www.anchorterminal.com/tools/planetscale-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/planetscale-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/planetscale-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/planetscale-mcp.json",
      "repo": "https://github.com/planetscale/mcp-server",
      "license": "Proprietary hosted service under PlanetScale's Terms of Service. The 13 tools in planetscale/mcp-server are Apache-2.0",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.pscale.dev/mcp/planetscale",
      "packages": [],
      "auth": "mixed",
      "authNotes": "OAuth by default. Each MCP client registers as an OAuth application and the person signs in and chooses no, read-only or full access per organisation or per database, with payment-method access set separately. For CI and headless clients a service token secret (`pscale_tkn_`) goes in an `Authorization: Bearer` header, with permissions granted on the token in organisation settings. Claude.ai, Claude for desktop, Claude Managed Agents and Notion accept OAuth only. Access is self-serve after a person signs up.",
      "pricing": "paid",
      "pricingNotes": "No charge for the MCP server was found beyond the database plan, and a PlanetScale database is needed for most tools. No free tier or trial was found, and all plans need a payment method on file. Clusters are priced by month, from $5 for a single-node Postgres PS-5 in AWS us-east-1, with storage, backups and egress billed separately (https://planetscale.com/pricing.md, checked 2026-10-09).",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the MCP docs, the pricing page or the tool source (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 25,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://planetscale.com/docs/mcp-server",
      "llmsTxt": "https://planetscale.com/docs/llms.txt",
      "openapi": "https://planetscale.com/docs/openapi.yaml",
      "registryName": "io.github.planetscale/mcp-server",
      "capabilities": [
        "db.sql",
        "db.admin"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "read-only-mode",
        "paid",
        "postgres",
        "mysql",
        "llms-txt",
        "openapi",
        "status-page",
        "soc2",
        "database"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.4,
        "grade": "B",
        "agentReady": false,
        "rank": 292,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 80,
          "payments": 15,
          "reliability": 63,
          "schema": 82,
          "security": 77,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "OAuth scopes set no, read-only or full database access per organisation or database, each query runs on a credential created and deleted for that call, and an insights-only endpoint drops both SQL tools. Destructive statements are gated by a flag the model sets itself, no rate limit was found, and every plan needs a card.",
        "bestFor": "Agents that inspect and tune an existing PlanetScale database, using Insights, schema recommendations, error patterns and logs, with SQL when granted.",
        "strengths": [
          "OAuth scopes grant no, read-only or full access per organisation or per database, and administrators can cap query access for all members since 8 October 2026",
          "Each query uses a database credential created for that call and deleted afterwards, and read queries run under a reader role",
          "An insights-only endpoint omits `planetscale_execute_read_query` and `planetscale_execute_write_query`",
          "The 13 tools published as source carry `readOnlyHint` and `destructiveHint`, checked by a test in the repository",
          "Published SLA of 99.99 per cent for single-region and 99.999 per cent for multi-region clusters, with service credits"
        ],
        "weaknesses": [
          "DELETE and DDL confirmation is a `confirm_destructive` flag the model sets, not a prompt the client shows the person",
          "The write-query check matches the start of the statement by regular expression, so a statement behind a leading comment or a type it does not list is not matched, per the source",
          "No rate limit for the MCP server or the API was found. The OpenAPI file lists 429 with no figures",
          "No free tier. The billing docs say every plan needs a payment method on file",
          "The hosted server and 12 of its 25 tools are closed. The repository has no tags, changelog or CI workflow",
          "PlanetScale's website terms forbid robots and other automatic retrieval of the site. Recorded as a fact, and it matters before any probe is run"
        ],
        "agentNotes": [
          "Use `https://mcp.pscale.dev/mcp/planetscale-insights-only` when the task needs no SQL. It omits both query tools",
          "Pass `organization`, `database` and `branch` on every query call. Record them in `AGENTS.md` to skip the listing calls",
          "Show the person the exact DELETE or DDL statement and get approval before setting `confirm_destructive: true`",
          "Keep queries under 50 seconds and add your own `LIMIT`. The query tools cancel at 50 seconds and return every row",
          "For a service token send `Authorization: Bearer pscale_tkn_...` with the secret only. The `id:secret` form is rejected"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.4
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 80,
          "payments": 15,
          "reliability": 63,
          "schema": 82,
          "security": 77,
          "transparency": 66
        },
        "provenanceScore": 73
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http \"planetscale\" https://mcp.pscale.dev/mcp/planetscale",
        "config": {
          "mcpServers": {
            "planetscale": {
              "url": "https://mcp.pscale.dev/mcp/planetscale"
            }
          }
        },
        "headless": {
          "mcpServers": {
            "planetscale": {
              "headers": {
                "Authorization": "Bearer ${env:PLANETSCALE_API_TOKEN}"
              },
              "url": "https://mcp.pscale.dev/mcp/planetscale"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/db.sql",
        "tool": "https://letme.dev/planetscale-mcp"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Postgres PS-5, single node",
          "unit": "month",
          "usd": 5,
          "note": "AWS us-east-1, storage, backups and egress extra"
        },
        {
          "item": "Postgres PS-5, primary and two replicas",
          "unit": "month",
          "usd": 15,
          "note": "AWS us-east-1, storage, backups and egress extra"
        },
        {
          "item": "Vitess PS-10, primary and two replicas",
          "unit": "month",
          "usd": 39,
          "note": "AWS us-east-1, storage extra"
        }
      ],
      "provenance": {
        "legalEntity": "PlanetScale, Inc.",
        "domain": "planetscale.com",
        "domainRegistered": "2011-10-06",
        "endpointOnVendorDomain": false,
        "terms": "https://planetscale.com/legal/agreement",
        "privacy": "https://planetscale.com/legal/privacy",
        "statusPage": "https://www.planetscalestatus.com",
        "changelog": "https://planetscale.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The MCP server answers at mcp.pscale.dev, a second domain. PlanetScale's own docs name the host, and its response headers name Gram, Speakeasy's hosting platform.",
          "`terms` is the Terms of Service (last updated 25 August 2026), which the Website Terms of Service name as governing the product. The website terms at /legal/siteterms are a separate document.",
          "The Privacy Policy (last updated 23 July 2026) names PlanetScale Inc. and says data processed for a customer as a processor is governed by the DPA, which was not read.",
          "planetscale.com/.well-known/security.txt returns 404. The docs publish a vulnerability disclosure policy with security@planetscale.com.",
          "The site footer and the terms name PlanetScale, Inc., 535 Mission Street, San Francisco.",
          "RDAP for planetscale.com gives a registration date of 2011-10-06 and Squarespace Domains II LLC as registrar.",
          "robots.txt on planetscale.com allows every path with `Content-Signal: ai-input=yes`. robots.txt on mcp.pscale.dev, www.planetscalestatus.com and registry.modelcontextprotocol.io answered 404, and on rdap.verisign.com 400."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/planetscale-mcp.json",
      "live": {
        "slug": "planetscale-mcp",
        "probe": {
          "target": "https://mcp.pscale.dev/mcp/planetscale",
          "method": "mcp-initialize",
          "lastAt": "2026-10-10T02:07:20.717498127Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 491,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 478,
          "p95ms24h": 565,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.planetscalestatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:06:24.093500184Z"
        },
        "githubStars": 5,
        "pages": [
          {
            "url": "https://planetscale.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:26.437312947Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "20717b5a337c"
          },
          {
            "url": "https://planetscale.com/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:32.591327194Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "11e88e07e991"
          },
          {
            "url": "https://planetscale.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:30.563115979Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cfed82900758"
          },
          {
            "url": "https://planetscale.com/legal/agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:28.549006312Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e5e3ad1fe941"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.pscale.dev/mcp/planetscale",
          "checkedAt": "2026-10-09T21:40:47.427881901Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-10-09T21:40:47.427881901Z"
        },
        "updatedAt": "2026-10-10T02:07:20.717498127Z"
      }
    },
    "answer": "PlanetScale MCP Server scores 66.4 (B) on agent readiness against Postgres MCP Pro's 36.7 (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",
      "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": 36.7,
        "grade": "F",
        "agentReady": false,
        "rank": 928,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 8,
          "payments": 60,
          "reliability": 41,
          "schema": 56,
          "security": 26,
          "transparency": 61
        },
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.7
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 8,
          "payments": 60,
          "reliability": 41,
          "schema": 56,
          "security": 26,
          "transparency": 65
        },
        "provenanceScore": 57
      },
      "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": 57
      },
      "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-10-09T17:13:57.419478099Z"
          },
          {
            "registry": "pypi",
            "name": "postgres-mcp",
            "version": "0.3.0",
            "released": "2025-05-16",
            "seenAt": "2026-10-09T17:13:57.212139151Z"
          }
        ],
        "githubStars": 3385,
        "pypiWeekly": 134621,
        "securityTxt": {
          "url": "https://crystaldba.ai/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-09T15:39:59.154726754Z"
        },
        "domain": {
          "domain": "crystaldba.ai",
          "registered": "2024-11-25",
          "source": "https://rdap.identitydigital.services/rdap/domain/crystaldba.ai",
          "checkedAt": "2026-10-04T13:04:31.914251523Z"
        },
        "updatedAt": "2026-10-09T17:13:57.419478099Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "PlanetScale",
        "b": "Crystal DBA",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.pscale.dev/mcp/planetscale",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "stdio, SSE (legacy)",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under PlanetScale's Terms of Service. The 13 tools in planetscale/mcp-server are Apache-2.0",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "25",
        "b": "9",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "io.github.planetscale/mcp-server",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-08",
        "b": "2025-05-16",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "3.2k stars, 229k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "PlanetScale MCP Server scores 66.4 (B) on agent readiness against Postgres MCP Pro's 36.7 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, PlanetScale MCP Server or Postgres MCP Pro?"
      },
      {
        "answer": "PlanetScale MCP Server takes an API key or an OAuth sign-in. Postgres MCP Pro needs no key.",
        "question": "Do PlanetScale MCP Server and Postgres MCP Pro need an API key?"
      },
      {
        "answer": "PlanetScale MCP Server has a hosted endpoint at https://mcp.pscale.dev/mcp/planetscale. Postgres MCP Pro runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call PlanetScale MCP Server and Postgres MCP Pro without installing anything?"
      },
      {
        "answer": "No open-source release is listed for PlanetScale MCP Server. Postgres MCP Pro is open source (MIT).",
        "question": "Are PlanetScale MCP Server and Postgres MCP Pro open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 63 against 41",
          "Schema \u0026 documentation, 82 against 56",
          "Agent ergonomics, 74 against 57",
          "Security \u0026 auth, 77 against 26",
          "Maintenance \u0026 community, 80 against 8",
          "Transparency \u0026 trust, 70 against 61"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where Postgres MCP Pro loses 8 points for them"
        ],
        "goodFor": "Agents that inspect and tune an existing PlanetScale database, using Insights, schema recommendations, error patterns and logs, with SQL when granted.",
        "slug": "planetscale-mcp",
        "watchFor": "DELETE and DDL confirmation is a `confirm_destructive` flag the model sets, not a prompt the client shows the person"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 15"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "db.sql",
      "name": "SQL databases"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-planetscale-mcp.json",
        "title": "ClickHouse MCP Server vs PlanetScale MCP Server",
        "url": "https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-planetscale-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/planetscale-mcp-vs-postgres-reference-server-archived.json",
        "title": "PlanetScale MCP Server vs PostgreSQL (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-snowflake-managed.json",
        "title": "PlanetScale MCP Server vs Snowflake-managed MCP server",
        "url": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-snowflake-managed"
      },
      {
        "json": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-supabase-mcp.json",
        "title": "PlanetScale MCP Server vs Supabase API + MCP",
        "url": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-supabase-mcp"
      },
      {
        "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-planetscale-mcp.json",
        "title": "MongoDB MCP Server vs PlanetScale MCP Server",
        "url": "https://www.anchorterminal.com/compare/mongodb-mcp-vs-planetscale-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/planetscale-mcp-vs-redis-mcp.json",
        "title": "PlanetScale MCP Server vs Redis MCP",
        "url": "https://www.anchorterminal.com/compare/planetscale-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"
      }
    ],
    "scores": [
      {
        "by": 22,
        "edge": "planetscale-mcp",
        "key": "reliability",
        "name": "Reliability",
        "planetscale-mcp": 63,
        "postgres-mcp-pro": 41,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "planetscale-mcp",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "planetscale-mcp": 82,
        "postgres-mcp-pro": 56,
        "weight": 13
      },
      {
        "by": 17,
        "edge": "planetscale-mcp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "planetscale-mcp": 74,
        "postgres-mcp-pro": 57,
        "weight": 13
      },
      {
        "by": 51,
        "edge": "planetscale-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "planetscale-mcp": 77,
        "postgres-mcp-pro": 26,
        "weight": 14
      },
      {
        "by": 45,
        "edge": "postgres-mcp-pro",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "planetscale-mcp": 15,
        "postgres-mcp-pro": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 72,
        "edge": "planetscale-mcp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "planetscale-mcp": 80,
        "postgres-mcp-pro": 8,
        "weight": 7
      },
      {
        "by": 9,
        "edge": "planetscale-mcp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "planetscale-mcp": 70,
        "postgres-mcp-pro": 61,
        "weight": 7
      }
    ],
    "summary": "PlanetScale MCP Server scores 66.4 (B) on agent readiness against Postgres MCP Pro's 36.7 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing. Both do sql databases.",
    "verdicts": {
      "planetscale-mcp": "OAuth scopes set no, read-only or full database access per organisation or database, each query runs on a credential created and deleted for that call, and an insights-only endpoint drops both SQL tools. Destructive statements are gated by a flag the model sets itself, no rate limit was found, and every plan needs a card.",
      "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/planetscale-mcp-vs-postgres-mcp-pro",
    "json": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro.md",
    "slim": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro.min.md"
  },
  "markdown": "PlanetScale MCP Server scores 66.4 (B) on agent readiness against Postgres MCP Pro's 36.7 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing. Both do sql databases.\n\n- PlanetScale MCP Server: grade B, 66.4/100, rank #292 of 950. Markdown https://www.anchorterminal.com/tools/planetscale-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/planetscale-mcp.json\n- Postgres MCP Pro: grade F, 36.7/100, rank #928 of 950. 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 43 databases comparisons: https://www.anchorterminal.com/compare/data/index.md\n\n## Which one, for what\n\n### PlanetScale MCP Server (B)\n\nGood for: Agents that inspect and tune an existing PlanetScale database, using Insights, schema recommendations, error patterns and logs, with SQL when granted.\n\nAhead on:\n- Reliability, 63 against 41\n- Schema \u0026 documentation, 82 against 56\n- Agent ergonomics, 74 against 57\n- Security \u0026 auth, 77 against 26\n- Maintenance \u0026 community, 80 against 8\n- Transparency \u0026 trust, 70 against 61\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where Postgres MCP Pro loses 8 points for them\n\nWatch for: DELETE and DDL confirmation is a `confirm_destructive` flag the model sets, not a prompt the client shows the person\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 15\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## Score by category\n\n| Category | Weight | PlanetScale MCP Server | Postgres MCP Pro | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 41 | PlanetScale MCP Server +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 56 | PlanetScale MCP Server +26 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 57 | PlanetScale MCP Server +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 26 | PlanetScale MCP Server +51 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 60 | Postgres MCP Pro +45 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 8 | PlanetScale MCP Server +72 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 61 | PlanetScale MCP Server +9 |\n| Negative events | ≤15 | 0 | -8 | |\n| **Total** | | **66.4 · B** | **36.7 · F** | |\n\n## Facts side by side\n\n| Fact | PlanetScale MCP Server | Postgres MCP Pro |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | PlanetScale | Crystal DBA |\n| Hosted endpoint | `https://mcp.pscale.dev/mcp/planetscale` | no (local only) |\n| Transports | Streamable HTTP | stdio, SSE (legacy) |\n| Auth | OAuth or key | None |\n| Pricing | Paid | Free |\n| x402 | no | no |\n| Licence | Proprietary hosted service under PlanetScale's Terms of Service. The 13 tools in planetscale/mcp-server are Apache-2.0 | MIT |\n| Tools exposed | 25 | 9 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | no |\n| MCP registry | `io.github.planetscale/mcp-server` | not listed |\n| Last release | 2026-10-08 | 2025-05-16 |\n| Terms last updated | no date given | no document linked |\n| Privacy policy last updated | no date given | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | none | 3.2k stars, 229k PyPI/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## Verdicts\n\n**PlanetScale MCP Server.** OAuth scopes set no, read-only or full database access per organisation or database, each query runs on a credential created and deleted for that call, and an insights-only endpoint drops both SQL tools. Destructive statements are gated by a flag the model sets itself, no rate limit was found, and every plan needs a card.\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### PlanetScale MCP Server\n\n1. Use `https://mcp.pscale.dev/mcp/planetscale-insights-only` when the task needs no SQL. It omits both query tools\n2. Pass `organization`, `database` and `branch` on every query call. Record them in `AGENTS.md` to skip the listing calls\n3. Show the person the exact DELETE or DDL statement and get approval before setting `confirm_destructive: true`\n4. Keep queries under 50 seconds and add your own `LIMIT`. The query tools cancel at 50 seconds and return every row\n5. For a service token send `Authorization: Bearer pscale_tkn_...` with the secret only. The `id:secret` form is rejected\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, PlanetScale MCP Server or Postgres MCP Pro?\n\nPlanetScale MCP Server scores 66.4 (B) on agent readiness against Postgres MCP Pro's 36.7 (F), and leads in 6 of 7 scored categories. Postgres MCP Pro leads on payments \u0026 pricing.\n\n### Do PlanetScale MCP Server and Postgres MCP Pro need an API key?\n\nPlanetScale MCP Server takes an API key or an OAuth sign-in. Postgres MCP Pro needs no key.\n\n### Can an agent call PlanetScale MCP Server and Postgres MCP Pro without installing anything?\n\nPlanetScale MCP Server has a hosted endpoint at https://mcp.pscale.dev/mcp/planetscale. Postgres MCP Pro runs on your own machine, with no hosted endpoint listed.\n\n### Are PlanetScale MCP Server and Postgres MCP Pro open source?\n\nNo open-source release is listed for PlanetScale 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/planetscale-mcp-vs-postgres-mcp-pro.json, and with the fewest tokens: https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"planetscale-mcp\", \"b\": \"postgres-mcp-pro\"}`. From a terminal: `anchor compare planetscale-mcp postgres-mcp-pro`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/planetscale-mcp.json and https://www.anchorterminal.com/api/v1/tools/postgres-mcp-pro.json\n\n## Other comparisons with PlanetScale MCP Server or Postgres MCP Pro\n\n- [ClickHouse MCP Server vs PlanetScale MCP Server](https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-planetscale-mcp.md)\n- [ClickHouse MCP Server vs Postgres MCP Pro](https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-postgres-mcp-pro.md)\n- [PlanetScale MCP Server vs PostgreSQL (archived MCP reference server)](https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-reference-server-archived.md)\n- [PlanetScale MCP Server vs Snowflake-managed MCP server](https://www.anchorterminal.com/compare/planetscale-mcp-vs-snowflake-managed.md)\n- [PlanetScale MCP Server vs Supabase API + MCP](https://www.anchorterminal.com/compare/planetscale-mcp-vs-supabase-mcp.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 PlanetScale MCP Server](https://www.anchorterminal.com/compare/mongodb-mcp-vs-planetscale-mcp.md)\n- [MongoDB MCP Server vs Postgres MCP Pro](https://www.anchorterminal.com/compare/mongodb-mcp-vs-postgres-mcp-pro.md)\n- [PlanetScale MCP Server vs Redis MCP](https://www.anchorterminal.com/compare/planetscale-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)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "PlanetScale MCP Server vs Postgres MCP Pro",
        "url": ""
      }
    ],
    "description": "PlanetScale scores 66.4 (B) to Postgres MCP Pro's 36.7 (F) for sql databases. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "PlanetScale MCP Server B 66.4",
      "Postgres MCP Pro F 36.7",
      "scores"
    ],
    "h1": "PlanetScale MCP Server vs Postgres MCP Pro",
    "image": "https://www.anchorterminal.com/assets/og/compare-planetscale-mcp-vs-postgres-mcp-pro.png",
    "path": "/compare/planetscale-mcp-vs-postgres-mcp-pro",
    "published": "2026-10-01",
    "section": "tools",
    "title": "PlanetScale vs Postgres MCP Pro for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/planetscale-mcp-vs-postgres-mcp-pro"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 830
  },
  "version": 1
}
