mcp-mysql-client
MySQL MCP
MySQL MCP conecta una aplicación de IA a una base de datos MySQL o MariaDB: ver la estructura, hacer preguntas a los datos en lenguaje natural, entender una consulta lenta y, si usted mismo lo ha permitido, modificar los datos.
El servidor está vinculado a una sola base de datos: está definida por la configuración, y ninguna herramienta puede acceder a otra. Por defecto, solo está disponible la lectura.
6 herramientas. Conexión y permisos, lista de tablas, estructura de tabla, consulta de lectura, plan de consulta, consulta de modificación.
El tipo de consulta lo determina el servidor. El SQL se analiza antes de la conexión:
DELETEen la herramienta de lectura será rechazado, incluso si los permisos de escritura están habilitados.La lectura no puede escribir. Las consultas de lectura se ejecutan dentro de
START TRANSACTION READ ONLY— la escritura será rechazada por el propio MySQL, incluso si alguien engaña al análisis SQL.La respuesta no desbordará el contexto. Las filas se leen en flujo y se cortan en el límite, no se descargan completas; en la respuesta hay un indicador honesto
truncated.Permisos solo desde fuera. INSERT, UPDATE y DELETE se habilitan mediante variables de entorno y requieren reinicio — no se pueden obtener desde el diálogo. DDL no está disponible siempre.
Comience con una consulta que solo lea datos:
Muestra la estructura de la base de datos y calcula cuántos registros han aparecido en la última semana.
Inicio rápido
Claude Code:
claude mcp add mysql-myapp \
-e MYSQL_HOST=db.example.com \
-e MYSQL_USER=myapp_ro \
-e MYSQL_PASS='пароль' \
-e MYSQL_DB=myapp \
-e MYSQL_SSL=true \
-- npx -y mcp-mysql-clientO en .mcp.json / claude_desktop_config.json:
{
"mcpServers": {
"mysql-myapp": {
"command": "npx",
"args": ["-y", "mcp-mysql-client"],
"env": {
"MYSQL_HOST": "db.example.com",
"MYSQL_PORT": "3306",
"MYSQL_USER": "myapp_ro",
"MYSQL_PASS": "пароль",
"MYSQL_DB": "myapp",
"MYSQL_SSL": "true"
}
}
}
}Un servidor — una base de datos. Si necesita varias bases: agregue varias entradas con sus propias credenciales; así los permisos permanecen aislados, y el servidor conectado a la base de pruebas no ve físicamente la de producción.
Related MCP server: MySQL MCP Server
Qué se puede encargar
Consulta | Qué hace el servidor |
«¿Qué hay en esta base de datos?» |
|
«¿Cómo está estructurada la tabla orders?» |
|
«¿Cuántos pedidos hay en julio y por cuánto?» |
|
«¿Por qué esta consulta es lenta?» |
|
«¿Con qué usuario estoy conectado y qué puedo hacer?» |
|
«Asigna el estado a los pedidos cancelados» |
|
Qué puede cambiar
Por defecto, nada: el servidor arranca en modo solo lectura. La escritura se habilita operación por operación:
"ALLOW_INSERT_OPERATION": "true",
"ALLOW_UPDATE_OPERATION": "true",
"ALLOW_DELETE_OPERATION": "false"Lo que sigue siendo imposible:
DDL —
CREATE,ALTER,DROP,TRUNCATE,RENAME— bajo ninguna configuración.Cambio de base de datos,
SET,CALL,PREPARE,LOAD DATA, bloqueos,GRANTy cualquier otra cosa que cambie el significado de la siguiente consulta o ejecute texto no verificado.SELECT ... INTO OUTFILE— escritura de un archivo en el servidor de la base de datos.UPDATEyDELETEsinWHERE— requieren confirmación explícitaallow_full_table=trueen la llamada.Varias instrucciones en una sola llamada — se ejecuta exactamente una.
Los permisos de MySQL son una restricción adicional sobre esto. El permiso ALLOW_UPDATE_OPERATION no agrega nada a un usuario que no tiene GRANT UPDATE. Buena práctica: un usuario separado con permisos mínimos, no root.
Variables de entorno
Variable | Por defecto | Propósito |
|
| Host del servidor |
|
| Puerto |
| — | Socket Unix en lugar de host/puerto |
| — | Usuario (obligatorio) |
| — | Contraseña (sinónimo de |
| — | Leer la contraseña de un archivo en lugar de la variable |
| — | Base de datos (obligatorio, sinónimo de |
|
| Requerir TLS |
| — | Ruta al certificado raíz; por sí mismo habilita TLS |
|
| Verificar el certificado del servidor |
|
| Permitir INSERT |
|
| Permitir UPDATE |
|
| Permitir DELETE |
|
| Límite de filas en una respuesta |
|
| Tiempo de espera de la consulta |
|
| Tiempo de espera de conexión |
|
| Conexiones en el pool |
|
| Reintentos ante cortes de conexión y bloqueos mutuos |
|
| Ejecutar lectura en transacción de solo lectura |
| — |
|
La contraseña en la configuración del cliente MCP está en texto plano. MYSQL_PASS_FILE permite mantenerla en un archivo con los permisos adecuados.
Migración desde @benborla29/mcp-server-mysql
Los nombres de las variables coinciden, por lo que basta con reemplazar el paquete en el comando de inicio:
- "args": ["-y", "@benborla29/mcp-server-mysql"]
+ "args": ["-y", "mcp-mysql-client"]Qué cambiará en el comportamiento:
MYSQL_DBes obligatorio — el servidor siempre está vinculado a una sola base de datos;las respuestas están limitadas por
MYSQL_MAX_ROWSy se marcan comotruncated;DDL no está disponible incluso con permisos de escritura habilitados;
UPDATE/DELETEsinWHERErequieren confirmación en la llamada;el conjunto de herramientas es diferente:
query,execute,explain,list_tables,describe_table,server_info.
Diagnóstico
Lo primero — server_info: mostrará a qué está conectado el servidor, qué permisos tiene el usuario de MySQL y qué restricciones están habilitadas.
Síntoma | Causa |
|
|
| El usuario existe, pero no tiene permisos sobre la base de datos |
| Falta |
| El servidor requiere TLS: |
| Host, puerto, firewall o VPN no levantada |
| Se necesita TLS para |
El servidor no se conecta | El error de configuración se ve directamente en el diálogo: el servidor arranca incluso sin credenciales y explica qué falta |
Documentación técnica
Herramientas — parámetros y respuestas
Desarrollo — compilación, pruebas, verificación en vivo
Publicación — lanzamiento en npm y registro MCP
CLAUDE.md — estructura del repositorio para agentes de IA
Licencia
Maintenance
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI agents to safely explore and interact with MySQL databases through dynamic tool generation from stored procedures. It provides database discovery capabilities and intelligent procedure categorization while enforcing security restrictions to prevent data modification.
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to safely interact with MySQL/MariaDB databases, supporting read-only queries by default with optional write operations and access control.MIT
- AlicenseAqualityDmaintenanceEnables AI agents to query and manage MySQL databases through a structured MCP interface, supporting SQL execution, table inspection, and database operations.914MIT
- AlicenseNot gradedqualityDmaintenanceA robust MCP server for interacting with MySQL databases through AI agents, providing tools for schema analysis, query execution, and dynamic connection management with read-only security.61MIT
Related MCP Connectors
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gistrec/mcp-mysql-client'
If you have feedback or need assistance with the MCP directory API, please join our Discord server