MySQL MCP Server
Proporciona herramientas para que los asistentes de IA interactúen con una base de datos MySQL.
Documentación
Servidor MCP de MySQL
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas de acceso a bases de datos MySQL para asistentes de IA como Cursor.
Descripción general
Este servidor MCP permite a los asistentes de IA interactuar con bases de datos MySQL proporcionando tres herramientas esenciales:
- Ejecutar consultas SQL
- Describir estructuras de tablas
- Listar todas las tablas de la base de datos
Características
- Ejecución de consultas: Ejecute cualquier consulta SQL contra su base de datos MySQL
- Descripción de tablas: Obtenga información detallada del esquema de cualquier tabla
- Listado de tablas: Vea todas las tablas en su base de datos
- Manejo de errores: Manejo integral de errores para operaciones de base de datos
- Cumplimiento del protocolo MCP: Totalmente compatible con la especificación MCP 2024-11-05
Requisitos previos
- Node.js (v14 o superior)
- Base de datos MySQL (local o remota)
- IDE de Cursor (para integración con MCP)
Instalación
- Clone o descargue este repositorio
- Instale las dependencias:
npm install
Configuración
El servidor utiliza variables de entorno para la configuración de la base de datos:
MYSQL_HOST: Nombre de host del servidor MySQLMYSQL_USER: Nombre de usuario de la base de datosMYSQL_PASSWORD: Contraseña de la base de datosMYSQL_DATABASE: Nombre de la base de datosMYSQL_PORT: Puerto de MySQL (predeterminado: 3306)
Integración con Cursor
Para usar este servidor MCP con Cursor, agregue la siguiente configuración a su archivo de configuración MCP de Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"mysql-mcp": {
"label": "MySQL MCP",
"command": "node",
"args": ["/path/to/your/mysql-mcp-server.js"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_USER": "your-username",
"MYSQL_PASSWORD": "your-password",
"MYSQL_DATABASE": "your-database",
"MYSQL_PORT": "3306"
}
}
}
}
Reemplace /path/to/your/mysql-mcp-server.js con la ruta real a su archivo de servidor y actualice las variables de entorno con sus credenciales de base de datos.
Herramientas disponibles
1. mysql_query
Ejecute cualquier consulta SQL contra la base de datos.
Parámetros:
query(cadena): La consulta SQL a ejecutar
Ejemplo:
SELECT * FROM users WHERE role = 'admin'
2. mysql_describe_table
Obtenga la estructura e información del esquema de una tabla específica.
Parámetros:
table_name(cadena): Nombre de la tabla a describir
Ejemplo:
mysql_describe_table("users")
3. mysql_list_tables
Liste todas las tablas en la base de datos.
Parámetros: No se requieren.
Ejemplos de uso
Una vez configurado en Cursor, puede usar lenguaje natural para interactuar con su base de datos:
- "Muéstrame todas las tablas en la base de datos"
- "Describe la estructura de la tabla de usuarios"
- "Obtén todos los usuarios administradores de la tabla de usuarios"
- "Muéstrame las citas recientes"
Consideraciones de seguridad
- Credenciales de base de datos: Almacene las credenciales sensibles de forma segura y nunca las envíe al control de versiones
- Permisos de consulta: El servidor ejecuta consultas con los permisos del usuario de base de datos proporcionado
- Acceso a la red: Asegúrese de que su base de datos esté correctamente protegida y sea accesible solo desde fuentes autorizadas
- Validación de entrada: Aunque el servidor maneja errores, siempre valide y sanitice las entradas en producción
Solución de problemas
El servidor aparece en rojo en Cursor
- Verifique que todas las variables de entorno estén configuradas correctamente
- Verifique la conectividad de la base de datos
- Asegúrese de que Node.js y el paquete mysql2 estén instalados correctamente
- Revise la consola de desarrollador de Cursor para ver mensajes de error
Errores de conexión
- Verifique el host, puerto y credenciales de la base de datos
- Revise la conectividad de red a la base de datos
- Asegúrese de que la base de datos permita conexiones desde su IP
- Verifique que el nombre de la base de datos exista
Error de "0 herramientas habilitadas"
- Reinicie Cursor después de realizar cambios en la configuración
- Revise la ruta del archivo del servidor MCP en la configuración
- Asegúrese de que el servidor implemente correctamente el protocolo MCP
Desarrollo
Estructura de archivos
mcp/
├── mysql-mcp-server.js # Main MCP server implementation
├── package.json # Node.js dependencies
└── README.md # This file
Dependencias
mysql2: Cliente MySQL para Node.js con soporte de promesas
Contribuciones
No dude en enviar problemas, solicitudes de funciones o solicitudes de extracción para mejorar este servidor MCP.
Licencia
Este proyecto es de código abierto y está disponible bajo la Licencia MIT.
Registro de cambios
v1.0.0
- Lanzamiento inicial
- Implementación básica del protocolo MCP
- Tres herramientas principales de base de datos (consulta, descripción, listado)
- Manejo de errores y registro
- Soporte de integración con Cursor