ManuelVR461/mysql-mcp-universal
If you are the rightful owner of mysql-mcp-universal and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The MySQL MCP Universal Server is a Model Context Protocol server that facilitates the connection of GitHub Copilot to any MySQL database, whether local or remote.
🗄️ Database-Connect
Herramienta MCP para GitHub Copilot - Gestión Inteligente de Bases de Datos
📋 Descripción
Database-Connect es una herramienta MCP (Model Context Protocol) que permite a GitHub Copilot interactuar directamente con bases de datos MySQL y PostgreSQL mediante lenguaje natural.
Imagina poder decirle a Copilot: "Muéstrame los usuarios registrados hoy" o "Actualiza el stock del producto con ID 42" y que se ejecute automáticamente en tu base de datos. Eso es Database-Connect.
✨ Características Principales
🎯 Operaciones CRUD Completas
- CREATE: Insertar registros individuales o en lote
- READ: Consultas simples y avanzadas con filtros
- UPDATE: Actualizar registros por ID o condiciones
- DELETE: Eliminar datos de forma segura con confirmación
🚀 Operaciones Avanzadas
- JOINs: Consultas entre múltiples tablas
- Agregaciones: COUNT, SUM, AVG, MAX, MIN con GROUP BY
- Transacciones: Múltiples operaciones atómicas con rollback
- DDL: Crear, modificar y eliminar tablas
📦 Gestión de Procedimientos Almacenados
- Listar y ejecutar stored procedures
- Crear y eliminar procedimientos
- Ejecutar funciones definidas por usuario
- Soporte para parámetros IN/OUT
🔐 Seguridad Integrada
- Prevención de SQL Injection mediante prepared statements
- Confirmación para operaciones destructivas
- Encriptación de credenciales
- Auditoría de operaciones críticas
⚙️ Configuración Flexible
- Soporte para múltiples conexiones
- Perfiles de conexión (desarrollo, producción, testing)
- Interfaz de configuración en VS Code
- Cambio de conexión en tiempo real
🚀 Inicio Rápido
Requisitos Previos
- Python 3.10 o superior
- Visual Studio Code
- GitHub Copilot (suscripción activa)
- MySQL 8.0+ o PostgreSQL 12+ (al menos uno)
Instalación
# 1. Clonar el repositorio
git clone https://github.com/tu-usuario/database-connect.git
cd database-connect
# 2. Crear y activar entorno virtual
python -m venv venv
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# 3. Instalar dependencias
pip install -r requirements.txt
Configuración Inicial
- Configurar conexión a base de datos:
Editar archivo config/settings.json:
{
"connections": {
"mi_mysql": {
"type": "mysql",
"host": "localhost",
"port": 3306,
"user": "root",
"password": "tu_password",
"database": null
}
},
"default_connection": "mi_mysql"
}
- Probar la conexión:
# Windows:
.\test.bat
# Linux/Mac o manualmente:
python test_connection.py
-
La configuración MCP ya está lista en
.vscode/settings.json- No necesitas hacer nada más. -
Recargar VS Code para que detecte el servidor MCP.
Uso Rápido (Windows)
# Probar conexión
.\test.bat
# Iniciar servidor MCP
.\run_server.bat
# Activar entorno virtual para desarrollo
.\activate.bat
💬 Ejemplos de Uso
Una vez configurado, puedes usar Copilot Chat con comandos naturales:
Consultas Básicas
👤 "Muéstrame todos los usuarios de la tabla users"
🤖 [Ejecuta: SELECT * FROM users]
👤 "¿Cuántos productos hay en stock?"
🤖 [Ejecuta: SELECT COUNT(*) FROM products WHERE stock > 0]
👤 "Dame el usuario con email john@example.com"
🤖 [Ejecuta: SELECT * FROM users WHERE email = 'john@example.com']
Operaciones de Modificación
👤 "Inserta un nuevo usuario llamado María con email maria@example.com"
🤖 [Ejecuta: INSERT INTO users (name, email) VALUES ('María', 'maria@example.com')]
👤 "Actualiza el precio del producto ID 5 a 99.99"
🤖 [Ejecuta: UPDATE products SET price = 99.99 WHERE id = 5]
👤 "Elimina los usuarios inactivos"
🤖 ⚠️ Esta operación eliminará X registros. ¿Confirmas? (S/N)
Consultas Avanzadas
👤 "Muéstrame el total de ventas por categoría"
🤖 [Ejecuta: SELECT category, SUM(amount) FROM sales GROUP BY category]
👤 "Dame los pedidos de hoy con información del cliente"
🤖 [Ejecuta: SELECT o.*, c.name FROM orders o
INNER JOIN customers c ON o.customer_id = c.id
WHERE DATE(o.created_at) = CURDATE()]
Procedimientos Almacenados
👤 "Lista todos los procedimientos almacenados"
🤖 [Muestra lista de stored procedures]
👤 "Ejecuta el procedimiento calculate_discount con parámetro 100"
🤖 [Ejecuta: CALL calculate_discount(100)]
🛠️ Herramientas Disponibles
Database-Connect proporciona estas herramientas MCP:
Gestión de Conexiones
test_database_connection- Probar conexión a base de datoslist_databases- Listar bases de datos disponiblesget_connection_status- Estado de conexiones activas
Operaciones CRUD
insert_record- Insertar un registrobulk_insert- Insertar múltiples registrosselect_records- Seleccionar registros con filtrosget_record_by_id- Obtener registro por IDcount_records- Contar registrosupdate_record- Actualizar un registroupdate_records- Actualizar múltiples registrosdelete_record- Eliminar un registrodelete_records- Eliminar múltiples registros
Consultas Avanzadas
execute_custom_query- Ejecutar SQL personalizadoexecute_join_query- Consultas con JOINsexecute_aggregate_query- Consultas con agregacionesexecute_transaction- Ejecutar transacción
Gestión de Estructura
list_tables- Listar tablasget_table_schema- Obtener esquema de tablaget_table_info- Información detallada de tablacreate_table- Crear tablaalter_table- Modificar tabladrop_table- Eliminar tabla
Procedimientos Almacenados
list_stored_procedures- Listar procedimientosget_procedure_definition- Ver código del procedimientoexecute_stored_procedure- Ejecutar procedimientocreate_stored_procedure- Crear procedimientodrop_stored_procedure- Eliminar procedimiento
📚 Documentación Completa
- - Instalación detallada paso a paso
- - Ejemplos y casos de uso
- - Documentación completa de herramientas
- - Plan de desarrollo detallado
- - Guía para contribuidores
🔒 Seguridad
Database-Connect toma la seguridad muy en serio:
- ✅ SQL Injection: Prevención mediante prepared statements
- ✅ Credenciales: Nunca se exponen en logs o errores
- ✅ Confirmación: Operaciones destructivas requieren confirmación
- ✅ Validación: Todos los inputs son validados
- ✅ Auditoría: Registro de operaciones críticas
🤝 Contribuir
¡Las contribuciones son bienvenidas! Por favor lee para detalles sobre nuestro código de conducta y proceso de pull requests.
📝 Licencia
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo para detalles.
🌟 Características Futuras
Próximas versiones incluirán:
- Soporte para SQLite y MongoDB
- Exportación de datos (CSV, JSON, Excel)
- Query builder visual
- Migrations manager
- Backup/restore automático
- Performance monitoring
📞 Soporte
¿Necesitas ayuda?
👏 Agradecimientos
- FastMCP - Framework MCP
- GitHub Copilot - IA Assistant
- La comunidad de desarrolladores Python
Desarrollado con ❤️ para hacer la gestión de bases de datos más intuitiva y productiva.
⭐ Si este proyecto te resulta útil, ¡considera darle una estrella en GitHub!