MySQL MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_HOST | Yes | MySQL host address | |
| DB_PORT | Yes | MySQL port number | |
| DB_USER | Yes | MySQL user | |
| DB_DATABASE | Yes | MySQL database name | |
| DB_PASSWORD | Yes | MySQL password | |
| AUDIT_LOG_DIR | No | Directory for audit logs | |
| PERMISSION_MODE | No | Permission mode: read_only or read_write | |
| AUDIT_LOG_ENABLED | No | Enable audit logging (true/false) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mysql_queryB | Execute a SELECT query against MySQL. Returns rows, field names, and row count. Results are automatically limited. |
| mysql_explainA | Run EXPLAIN on a SELECT statement to analyze query performance. Returns execution plan and full-scan warnings. |
| mysql_list_databasesA | List all accessible databases (system databases are excluded). |
| mysql_list_tablesB | List all tables in a database. |
| mysql_describe_tableA | Get column structure, indexes, and CREATE statement for a table. |
| mysql_executeA | [riskLevel: medium] Execute an INSERT, UPDATE, or DELETE statement. UPDATE/DELETE without WHERE are rejected by default. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct operation (query, explain, list databases, list tables, describe table, execute DML). No overlap in purpose or usage.
All tool names follow a consistent 'mysql_' prefix with verb_noun snake_case (mysql_query, mysql_explain, mysql_list_databases, etc.). Uniform and predictable.
Six tools is well within the ideal 3-15 range. Each tool provides a clear, necessary capability for a MySQL server without redundancy.
The surface covers query execution, performance analysis, schema exploration (databases, tables, describe), and DML operations. Minor gap: no DDL (create/alter/drop) or transaction control, but for a focused MySQL MCP server the coverage is good.