Mysql Pro MCP Server
MySQL database operations, anomaly analysis, and health monitoring for MCP clients.
Data last scanned today · Reviewed today
Overview
Mysql Pro MCP Server provides a comprehensive interface for MySQL database management, extending beyond basic CRUD operations to include database health analysis and SQL execution plan insights. It supports multiple transfer modes including STDIO, SSE, and Streamable HTTP, while offering structured permission controls via readonly, writer, and admin roles. The server allows developers to execute complex SQL queries, perform table lock analysis, and even convert Chinese field names to pinyin. It facilitates database maintenance by enabling queries on table structures based on comments and providing tools for monitoring overall database health status.
Our verdict
This server carries a high-risk rating with a security score of 28/100. The score reflects critical unverified components, including an unreviewed authentication method and the lack of an independent security audit. Given that the last commit occurred over a year ago, users should exercise extreme caution and verify the source code before deploying this tool in sensitive environments.
- Supports fine-grained access control roles
- Includes SQL execution plan analysis tools
- Zero direct dependencies reduce supply-chain surface
- Provides built-in MySQL health monitoring capabilities
- Last code commit is over 376 days old
- Authentication method remains unreviewed
- Not maintained by the official MySQL vendor
Tools
| Tool | Description | Risk |
|---|---|---|
| execute_sql | SQL execution tool that can execute ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER", "DROP", "TRUNCATE"] commands based on permission configuration | high |
| get_chinese_initials | Convert Chinese field names to pinyin initials | low |
| get_db_health_running | Analyze MySQL health status (connection status, transaction status, running status, lock status detection) | low |
| get_table_desc | Search for table structures in the database based on table names, supporting multi-table queries | low |
| get_table_index | Search for table indexes in the database based on table names, supporting multi-table queries | low |
| get_table_lock | Check if there are row-level locks or table-level locks in the current MySQL server | low |
| get_table_name | Search for table names in the database based on table comments and descriptions | low |
| get_db_health_index_usage | Get the index usage of the currently connected mysql database, including redundant index situations, poorly performing index situations, and the top 5 unused index situations with query times greater than 30 seconds | low |
| optimize_sql | Professional SQL performance optimization tool, providing expert optimization suggestions based on MySQL execution plans, table structure information, table data volume, and table indexes. | medium |
| use_prompt_queryTableData | Use built-in prompts to let the model construct a chain call of tools in mcp (not a commonly used fixed tool, you need to modify the code to enable it, see this class for details) | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What permission roles are available for this server?
The server supports three roles: readonly, writer, and admin. These roles dictate which SQL commands, such as SELECT or DROP, are permitted for the connected user.
›Does the server support different MCP transfer modes?
Yes, it supports all MCP transfer modes, including STDIO, SSE, and Streamable HTTP.
›How can I enable OAuth2.0 authentication?
You can enable OAuth2.0 authentication by running the server with the --oauth true flag.
›Does the server support executing multiple SQL statements at once?
Yes, you can execute multiple SQL statements in a single call by separating them with a semicolon.
›Is the prompt-based tool for querying table data enabled by default?
No, the 'use_prompt_queryTableData' tool is not enabled by default. You must modify the source code to enable this functionality.
›Can the server help analyze database performance?
Yes, the server includes tools to analyze SQL execution plans, index usage, and database health, as well as an optimization tool that provides performance suggestions.
Alternatives
Changelog
Badge
Maintain this server? Add the live badge to your README.