easy-mysql-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MYSQL_HOST | Yes | MySQL host name or IP address | |
| MYSQL_PORT | No | MySQL port | 3306 |
| MYSQL_USER | Yes | MySQL user name | |
| MYSQL_DATABASE | Yes | Default database/schema | |
| MYSQL_MAX_IDLE | No | Maximum number of idle pool connections | 10 |
| MYSQL_PASSWORD | Yes | MySQL password | |
| MYSQL_QUEUE_LIMIT | No | Maximum queued connection requests, where 0 means unlimited | 0 |
| MYSQL_IDLE_TIMEOUT | No | Idle connection timeout in milliseconds | 60000 |
| MYSQL_CONNECTION_LIMIT | No | Maximum number of active pool connections | 10 |
| MYSQL_ENABLE_KEEP_ALIVE | No | Whether TCP keep-alive is enabled | true |
| MYSQL_WAIT_FOR_CONNECTIONS | No | Whether the pool waits when all connections are busy | true |
| MYSQL_KEEP_ALIVE_INITIAL_DELAY | No | Initial TCP keep-alive delay in milliseconds | 0 |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mysql_queryA | Execute a read-only SQL query (e.g., SELECT). Use this for data retrieval. |
| mysql_executeC | Execute a data modification SQL statement (e.g., INSERT, UPDATE, DELETE). |
| explain_queryA | Run EXPLAIN on a SQL query to analyze its execution plan and performance. |
| list_tablesA | List all base tables in the current database with row counts and comments. |
| list_viewsA | List all views in the current database. |
| describe_tableB | Show the schema/structure of one or more specific tables. |
| describe_indexB | Show indexes for a specific table. |
| list_triggersA | List all triggers in the current database. |
| get_current_privilegesA | Check the permissions and grants of the current database user. Useful for debugging access issues. |
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 9 tools
Each tool has a clearly distinct purpose: describing indexes vs tables, explaining queries, checking privileges, listing various objects, executing vs querying SQL. No two tools overlap in functionality.
Tools mostly follow a verb_noun pattern, but there's inconsistency: some use 'mysql_' prefix (mysql_execute, mysql_query) while others use direct verbs (describe_table, list_tables). This mix is not chaotic but lacks uniformity.
With 9 tools covering listing, describing, querying, executing, and explaining, the count is well-scoped for a MySQL management server. Each tool adds clear value without redundancy.
The set covers introspection and DML operations well, but lacks dedicated tools for DDL operations like CREATE, ALTER, or DROP. mysql_execute is described for DML only, so creating tables or indexes is not directly supported.