mcp-mysql-database
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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_connectionsA | Lista las conexiones MySQL configuradas y cuál está activa. |
| current_connectionA | Muestra la conexión activa, su base de datos actual y si es de solo lectura. |
| select_connectionA | Cambia la conexión activa (p. ej. 'dev' o 'test'). Todas las demás herramientas usan la conexión activa. Verifica que el servidor responde. |
| add_connectionB | Registra una conexión nueva solo para esta sesión (no se guarda en disco). Opcionalmente la activa. |
| remove_connectionB | Elimina una conexión registrada en esta sesión (no puede ser la activa). |
| list_databasesA | Lista las bases de datos del servidor de la conexión activa. |
| create_databaseC | Crea una base de datos. Opcionalmente la selecciona como base actual. |
| use_databaseC | Selecciona la base de datos actual de la conexión activa. |
| drop_databaseA | ELIMINA una base de datos completa. Irreversible: requiere confirm=true; pide confirmación al usuario antes. |
| list_tablesB | Lista las tablas de la base de datos actual (o de |
| describe_tableB | Muestra columnas, índices y el CREATE TABLE de una tabla. |
| create_tableC | Crea una tabla a partir de una definición estructurada de columnas, índices y claves foráneas. |
| drop_tableA | ELIMINA una tabla y sus datos. Irreversible: requiere confirm=true; pide confirmación al usuario antes. |
| insert_recordsC | Inserta uno o varios registros en una tabla (consulta parametrizada). Cada registro es un objeto columna -> valor. |
| select_recordsA | Consulta registros de una tabla con filtros simples (igualdad / IN / IS NULL), orden y paginación. Para joins o agregaciones usa run_query. |
| update_recordsC | Actualiza registros que cumplan |
| delete_recordsB | Borra registros que cumplan |
| run_queryA | Ejecuta una consulta SQL de SOLO LECTURA (SELECT/SHOW/DESCRIBE/EXPLAIN/WITH) dentro de una transacción READ ONLY. Máx. 1000 filas devueltas. Usa ? y params para valores. |
| execute_sqlA | Ejecuta una sentencia SQL única que modifica datos o esquema (ALTER, UPDATE masivo, CREATE INDEX, etc.). DROP y TRUNCATE requieren confirm=true. No disponible en conexiones readOnly. |
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 19 tools
Each tool targets a distinct resource/action, and descriptions explicitly redirect overlaps (select_records points to run_query for joins; execute_sql notes it handles mass UPDATE/DELETE that update_records/delete_records also do). The execute_sql vs update_records/delete_records boundary and select_records vs run_query boundary are the only mild overlaps, but descriptions disambiguate well.
Nearly all tools follow a consistent snake_case verb_noun pattern (list_connections, create_database, drop_table, insert_records, run_query, execute_sql). The single deviation is current_connection, a noun-only name, which is a minor inconsistency in an otherwise predictable scheme.
19 tools is on the heavier side but each maps to a genuine operation across the connection, database, table, and record layers. The count is justified by the broad scope rather than redundant tooling, though it sits at the upper borderline.
Full lifecycle coverage: connections (list/current/select/add/remove), databases (list/create/use/drop), tables (list/describe/create/drop), records (full insert/select/update/delete CRUD), plus read-only run_query and write execute_sql for anything else. Schema alteration and advanced queries are handled via execute_sql/run_query, leaving no dead ends.