About MySQL MCP Server v2
MySQL MCP Server v2 is an MCP server for querying and managing departmental budget records in a MySQL database. It supports department lookups, budget status retrieval, and recording requests with transaction handling.
Key features
- 01Connect to MySQL databases
- 02Retrieve department budget status
- 03Search departments by name
- 04Register budget requests
- 05Handle transactions and errors
Use cases
- 01Checking a department's available balance
- 02Finding budget records by department name
- 03Recording a new budget request
MCP support
Exposes departmental budget lookup and request-registration operations to MCP clients through MCP tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMySQL 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
- Clonar el repositorio
- 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 departamentonombre(varchar): Nombre del departamentoinicial(decimal): Presupuesto inicialsolicitado(decimal): Monto solicitadosaldo(decimal): Saldo disponiblepagado(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
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.