MCP server for TiDB Cloud API integration, enabling LLMs to manage TiDB Cloud resources like clusters, branches, and execute SQL queries
TiDB Cloud MCP server has 16 tools with basic structure but significant gaps in parameter descriptions, output schema documentation, and error handling guidance. Tool naming is generally good (verb_noun pattern), but many parameters lack descriptions, and output schemas are not visible in the provided code. Descriptions are present but often generic. No error recovery guidance visible. Security consideration: database tools accept arbitrary SQL which could be dangerous without strong input validation. The server has reasonable organization but falls short of production-grade quality.
Create a database user
Execute write SQL (INSERT, UPDATE, DELETE, CREATE, ALTER, DROP)
Execute read-only SQL (SELECT, SHOW, DESCRIBE, EXPLAIN)
Remove a database user
List all databases
List tables in a database
Create a new branch (max 5 per org)
Create a new Serverless cluster
Database tools (show_databases, show_tables, db_query, db_execute) use non-standard naming inconsistent with TiDB Cloud cluster/branch tools. 'show_' and 'db_' prefixes are SQL-derived, not action verbs. Should be 'list_databases', 'list_tables', 'execute_query', 'execute_statement' to maintain consistency and clarity.
db_query and db_execute accept free-form SQL strings with no input validation hints or constraints visible in schema. This is a SQL injection vector if the LLM is tricked into passing malicious payloads. No input sanitization, parameterization, or query validation guidance documented.
Output schemas not visible in source code. Tools like tidbcloud_list_clusters and tidbcloud_get_cluster presumably return JSON responses, but the structure (field names, types, pagination details) is not documented in the provided source snippets. LLMs cannot plan downstream calls without knowing what fields are available.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | <=2025-11-25 | v2 |
Delete a branch (irreversible)
Delete a cluster (irreversible)
Get branch details and connection endpoint
Get details about a specific cluster (including connection endpoint)
List all branches for a cluster
List all Serverless clusters in your organization
List all available regions for cluster creation
Update cluster configuration
'config' parameter in tidbcloud_create_cluster and tidbcloud_update_cluster is typed as 'object' with no description of valid keys, constraints, or examples. This is too vague, LLMs cannot infer what configuration options are available or their valid values.
No error handling guidance visible. Tools for destructive operations (delete_cluster, delete_branch) have no documented confirmation flow or recovery steps if deletion fails. No guidance for LLM on what to do if API returns 404, 403, or 500.
Parameters in tidbcloud_list_clusters (pageSize, pageToken) lack detailed description. What is the valid range for pageSize? What format should pageToken follow? These details force LLMs to guess or consult API docs.
Database user credentials (username, password) in db_create_user are exposed as tool parameters. Per security best practices, credentials should use server-side secret injection or a vault, not parameter passing, to avoid leaking into logs and traces.