MySQL database MCP server: list databases/tables, inspect schema, run queries and CRUD with approval-gated delete/drop. Works with Claude Code, Cursor and other MCP clients.
Server has 11 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (positive), but most are generic and under 100 chars, lacking context on WHEN to use them or WHAT they return. No output schemas documented. Tool naming is reasonable (verb_noun pattern) but descriptions fail to explain state changes, prerequisites, or error recovery. No tool annotations (readOnlyHint/destructiveHint). Error handling exists but responses are generic. Security concern: execute_sql and delete_data lack proper safeguards despite destructive risk.
创建新表
删除表中的数据(需要授权)。此操作需要用户明确批准。
查看表结构和字段信息
删除表(需要授权)。此操作不可逆,需要用户明确批准。
执行自定义SQL语句(通用工具)
获取表的详细信息,包括索引、约束等
插入数据到表中
列出所有可用的数据库
No output schemas documented. LLMs cannot predict response structure, forcing them to parse unstructured JSON and plan downstream calls blindly.
Parameter descriptions missing or minimal. 'database' param appears in 9 tools with identical 1-line description; no guidance on format, constraints, or when it's required vs optional.
execute_sql is dangerously generic, accepts any SQL (INSERT, UPDATE, DELETE, DROP) with no validation. Conflicts with specialized tools (insert, update, delete_data, drop_table). LLM will be confused about which to use.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
列出指定数据库中的所有表
执行SELECT查询语句
更新表中的数据
Destructive tools (delete_data, drop_table, execute_sql) lack tool annotations (destructiveHint). No dry-run or confirmation mechanism. Agents cannot safely preview consequences before executing.
Tool descriptions are too brief (avg 40-60 chars). Missing context on WHEN to use each tool, WHAT it returns, and error recovery paths. Descriptions should be 50-200 chars with actionable guidance.