MCP server providing tools to interact with PlanetScale databases, including query execution, insights, logs, and cluster management
The PlanetScale MCP server has 9 tools with solid naming conventions and mostly strong descriptions. Tool names follow the verb_noun pattern (execute_read_query, get_insights, list_cluster_sizes, search_documentation), which aligns with best practices. The execute_read_query tool has an exceptionally detailed description (323 chars) covering what it does, timeout constraints, and RLS caveats. However, critical issues emerge: 7 of 9 tools lack visible input schemas in the provided source code, making it impossible to verify parameter types, constraints, enums, or output documentation. The write_query, get_insights, get_postgres_logs, list_cluster_sizes, payment_methods, query_errors, and query_tags tools show only file paths with no schema definitions. Without visible schemas, those tools cannot score above 30-50 per the hard rules. execute_read_query and search_documentation have documented input schemas with proper types and descriptions, but 7 tools are effectively blind to evaluation. The server lacks per-tool output schema documentation. Error handling is mentioned only in execute_read_query (50-second timeout, RLS warnings); others provide no guidance on recovery or error categorization.
Execute a read-only SQL query against a PlanetScale database. Write operations are rejected by the database role. This tool creates short-lived credentials and executes the query securely. Queries have a maximum execution time of 50 seconds — if a query exceeds this limit it will be cancelled, so ensure queries are optimized. For Postgres and Neki, this tool uses an ephemeral pg_read_all_data role that does not bypass row-level security (RLS); zero-row or zero-count results on RLS-protected tables may mean rows are hidden by policy, and the response may include warnings when that risk is detected. For Postgres and Neki only: optionally specify postgres_database_name when the user wants to query a non-default database.
7 of 9 tools lack visible input schema definitions in provided source. Cannot verify parameter types, constraints, defaults, or output structures.
7 tools have no visible description in the source code listing.
No output schemas documented for any tool. LLMs cannot infer what fields to expect or which IDs to extract for downstream chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 42 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 63 | - | v1 |
Error handling and recovery guidance absent from most tools. Only execute_read_query documents timeout behavior and RLS warnings.
execute_write_query lacks confirmation or dry-run capability for destructive operations. Agents may accidentally modify or delete data.
Pagination and result limits not documented. Tools like list_cluster_sizes and get_postgres_logs do not describe page size caps or pagination behavior.