mcp-mysql-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAX_ROWS | No | Maximum query result rows (default: 1000) | |
| READONLY | No | Read-only mode (default: true) | |
| ALLOW_DDL | No | Allow DDL statements (default: false) | |
| MYSQL_DSN | No | DSN connection string mysql://user:pass@host:port/db, mutually exclusive with individual variables | |
| POOL_SIZE | No | Connection pool size (default: 5) | |
| MYSQL_HOST | No | Database host (default: 127.0.0.1) | |
| MYSQL_PORT | No | Database port (default: 3306) | |
| MYSQL_USER | No | Database user (required if not using DSN) | |
| QUERY_TIMEOUT | No | Query timeout in milliseconds (default: 30000) | |
| MYSQL_DATABASE | No | Default database | |
| MYSQL_PASSWORD | No | Database password (required if not using DSN) | |
| MYSQL_PROFILES_FILE | No | Path to profiles.yml file (overrides default ~/.mcp-mysql/profiles.yml) |
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 |
|---|---|
| list_profilesA | List all available database profiles (passwords hidden) |
| use_profileA | Switch the current database profile (validates connectivity before switching) |
| current_profileA | Show the current active database profile info |
| queryC | Execute SQL query (SELECT, SHOW, etc. In readonly mode, only reads are allowed) |
| list_databasesB | List all accessible databases |
| list_tablesB | List tables in a database with row counts |
| describe_tableA | Show table structure: columns, types, indexes |
| explain_queryC | Run EXPLAIN on a SELECT query and provide analysis |
| generate_schema_docB | Generate Markdown documentation for database tables |
| analyze_relationsB | Analyze table relationships via foreign keys and indexes |
| table_statsB | Show table statistics: row counts, data/index sizes, update time |
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 11 tools
Every tool has a clearly distinct purpose: profile management, querying, schema exploration, documentation generation, relationship analysis, and statistics. No two tools overlap in functionality.
Tool names follow a consistent verb_noun (or adjective_noun) pattern using snake_case, with minor exceptions like 'query' that are still intuitive and predictable.
With 11 tools, the set is well-scoped for MySQL database operations, covering profile management, querying, schema exploration, and analysis without being excessive or insufficient.
The tool surface is comprehensive for database introspection and analysis: profile switching, querying, listing databases/tables, describing schemas, explaining queries, generating documentation, analyzing relations, and table stats. No obvious gaps for the intended purpose.