MySQL MCP Server v2
About
MySQL MCP Server v2 is a Model Context Protocol server that provides an interface to manage and query departmental budget information stored in a MySQL database. It is designed for users who need to securely connect to a MySQL database and perform operations like querying…
Details
- Author
- w2pwinlinux
- Downloads
- 300
- Categories
- Database
Jump to
- Secure connection to a MySQL database via context manager.
- Query complete department status by department code.
- Register budget requests and update balances with transactions.
- Search departments by name using partial matching (LIKE).
- Robust error handling with connection, query, and transaction rollback.
- Automatic rollback of transactions on errors.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MySQL MCP Server v2Command (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install the required Python packages (mcp and mysql-connector-python), edit the db_config dictionary in the Python file to match your MySQL server settings, then start the server by running python mysql_mcp_server_v2.py. You can invoke the available functions (get_estado_completo, registrar_solicitud, buscar_por_nombre) through the MCP protocol.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mysql mcp server v2": {
"mcp-server-presupuesto-mysql1": {
"command": "python",
"args": [
"test_buscar_nombre.py"
]
}
}
}
}
McpServers
{
"mcp-server-presupuesto-mysql1": {
"command": "python",
"args": [
"test_buscar_nombre.py"
]
}
}
MySQL MCP Server v2
Este servidor MCP (Message Control Protocol) proporciona una interfaz para gestionar y consultar información de presupuestos departamentales a través de una base de datos MySQL.
Características
- Conexión segura a base de datos MySQL
- Gestión de presupuestos departamentales
- Consultas por código de departamento
- Búsqueda por nombre de departamento
- Registro de solicitudes de presupuesto
- Manejo robusto de errores y conexiones
Requisitos
- Python 3.6 o superior
- MySQL Server (XAMPP o similar)
- Paquetes Python requeridos:
- mcp
- mysql-connector-python
Instalación
1. Clonar el repositorio
2. Instalar las dependencias:
pip install mcp mysql-connector-python
Configuración
El servidor está configurado para conectarse a una base de datos MySQL con los siguientes parámetros por defecto:
db_config = {
'host': 'localhost',
'port': 3306,
'user': 'reporte',
'password': 'reporte',
'database': '_REPORTE',
'raise_on_warnings': True
}
Ajusta estos parámetros según tu configuración de base de datos.
Funcionalidades
1. Consulta de Estado Completo
get_estado_completo(codigo: int)
Retorna la información completa de un departamento por su código, incluyendo:
- Código
- Nombre
- Presupuesto inicial
- Monto solicitado
- Saldo disponible
- Monto pagado
2. Registro de Solicitudes
registrar_solicitud(codigo: int, monto: float)
Registra una nueva solicitud de presupuesto para un departamento:
- Actualiza el monto solicitado
- Recalcula el saldo disponible
- Maneja transacciones de forma segura
3. Búsqueda por Nombre
buscar_por_nombre(nombre: str)
Busca departamentos por nombre:
- Búsqueda parcial (usando LIKE)
- Retorna múltiples resultados
- Incluye información completa de cada departamento encontrado
Pruebas
El proyecto incluye scripts de prueba para verificar la funcionalidad:
- test_buscar_nombre.py: Prueba la funcionalidad de búsqueda por nombre
- Ejecuta las pruebas con:
python test_buscar_nombre.py
Manejo de Errores
El servidor implementa un manejo robusto de errores:
- Errores de conexión a la base de datos
- Errores de consulta
- Validación de datos
- Rollback automático en caso de errores en transacciones
Estructura de la Base de Datos
La tabla principal departamentos contiene los siguientes campos:
- codigo (int): Identificador único del departamento
- nombre (varchar): Nombre del departamento
- inicial (decimal): Presupuesto inicial
- solicitado (decimal): Monto solicitado
- saldo (decimal): Saldo disponible
- pagado (decimal): Monto pagado
Ejecución
Para iniciar el servidor:
python mysql_mcp_server_v2.py
Notas de Seguridad
- Las credenciales de la base de datos están hardcodeadas en el código. En un entorno de producción, se recomienda usar variables de entorno o un archivo de configuración seguro.
- Se implementa manejo de conexiones seguro usando el patrón context manager.
- Las transacciones se manejan con commit/rollback apropiados.
Contribución
1. Fork el repositorio
2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
4. Push a la rama (git push origin feature/AmazingFeature)
5. Abre un Pull Request
Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



