Skip to main content
Glama
w2pwinlinux

MySQL MCP Server

by w2pwinlinux
README.md
# Generador de Ejecutable MySQL MCP Server

Este proyecto contiene los scripts y configuraciones necesarias para generar un ejecutable (.exe) del servidor MySQL MCP.

## Requisitos Previos

1. **Sistema Operativo**
   - Windows 11 (64 bits)

2. **Python**
   - Python 3.12 o superior
   - Descargar desde [python.org](https://www.python.org/downloads/)
   - Durante la instalación, marcar la opción "Add Python to PATH"

## Instalación

1. **Clonar o descargar el repositorio**
   ```powershell
   git clone <url-del-repositorio>
   cd <nombre-del-directorio>
   ```

2. **Crear y activar un entorno virtual (opcional pero recomendado)**
   ```powershell
   python -m venv venv
   .\venv\Scripts\activate
   ```

3. **Instalar dependencias**
   ```powershell
   pip install -r requirements.txt
   ```

## Generación del Ejecutable

### Paso 1: Preparación del Entorno
1. Abrir PowerShell como administrador
2. Navegar al directorio del proyecto
3. Asegurarse de que todas las dependencias estén instaladas

### Paso 2: Ofuscación del Código
```powershell
pyarmor gen -O dist mysql_mcp_server_v2.py
esto se genera en modo trial q no funciona al querer generar el ejecutable 
```
Este comando creará una carpeta `dist` con el código ofuscado.

### Paso 3: Compilación del Ejecutable
```powershell
python -m nuitka --onefile --windows-disable-console --output-filename=mysql_mcp_server_v2.exe dist/mysql_mcp_server_v2.py

python -m nuitka --onefile  --output-filename=mysql_mcp_server_v2.exe mysql_mcp_server_v2.py

se crea de esta manera para ver log de posibles errores en ejecucion del exe 

 python -m nuitka --onefile --include-package=mysql.connector --include-package=mcp.server.fastmcp --include-package=logging --include-package=asyncio --output-filename=mysql_mcp_server_v2.exe mysql_mcp_server_v2.py se genera con los paquetes especificos 
```

### Paso 4: Verificación
- El ejecutable se creará en el directorio actual
- Nombre del archivo: `mysql_mcp_server_v2.exe`
- Tamaño aproximado: 20-30 MB (dependiendo de las dependencias)

### Paso 5: Pruebas del Ejecutable
1. **Prueba Básica**
   - Haz doble clic en `mysql_mcp_server_v2.exe`
   - Verifica que la aplicación se inicie sin errores
   - Comprueba que la ventana de la aplicación se muestre correctamente

2. **Prueba desde PowerShell**
   ```powershell
   # Navega al directorio donde está el ejecutable
   cd ruta\al\directorio
   
   # Ejecuta el programa
   .\mysql_mcp_server_v2.exe
   ```

3. **Verificación de Funcionalidad**
   - Intenta conectarte a la base de datos MySQL
   - Verifica que todas las operaciones principales funcionen:
     * Conexión a la base de datos
     * Consultas básicas
     * Operaciones de escritura/lectura
   - Comprueba que los archivos de configuración se lean correctamente

4. **Pruebas de Estabilidad**
   - Deja el programa ejecutándose por varias horas
   - Realiza múltiples conexiones/desconexiones
   - Verifica el uso de memoria y CPU en el Administrador de tareas

5. **Solución de Problemas Comunes**
   - Si el programa no inicia:
     * Verifica que no haya bloqueos del antivirus
     * Comprueba que todos los archivos de configuración estén presentes
     * Revisa los permisos de ejecución
   - Si hay errores de conexión:
     * Verifica que el servidor MySQL esté activo
     * Comprueba las credenciales en el archivo de configuración
     * Asegúrate de que el firewall no esté bloqueando la conexión

## Notas Importantes

1. **Tiempo de Compilación**
   - El proceso puede tardar varios minutos
   - La primera compilación puede ser más lenta debido a la descarga de dependencias

2. **Archivos de Configuración**
   - Si el script utiliza archivos de configuración (.env, .ini, etc.), asegúrate de que estén en la ubicación correcta
   - Los archivos de configuración deben estar en el mismo directorio que el ejecutable

3. **Solución de Problemas**
   - Si encuentras errores durante la compilación, verifica:
     - Que Python esté correctamente instalado y en el PATH
     - Que todas las dependencias estén instaladas
     - Que no haya errores de sintaxis en el código fuente

4. **Distribución**
   - El ejecutable final es independiente y no requiere Python instalado
   - Incluye todas las dependencias necesarias
   - Puede ser distribuido a otros equipos Windows sin necesidad de instalaciones adicionales

## Estructura de Archivos

```
proyecto/
│
├── mysql_mcp_server_v2.py    # Código fuente principal
├── requirements.txt          # Dependencias del proyecto
├── README.md                # Este archivo
├── dist/                    # Carpeta con código ofuscado
│   └── mysql_mcp_server_v2.py
│
└── mysql_mcp_server_v2.exe  # Ejecutable final (generado)
```

## Soporte

Si encuentras algún problema durante el proceso de compilación o necesitas ayuda adicional, por favor:
1. Revisa los mensajes de error detalladamente
2. Verifica que todos los requisitos previos estén cumplidos
3. Asegúrate de estar usando las versiones correctas de las dependencias