Provides an interface for managing and querying departmental budget information through a MySQL database, including retrieving complete department status, registering budget requests, and searching departments by name.
Supports connection to MySQL databases hosted on XAMPP, enabling the MCP server to interact with locally hosted database instances for budget management operations.
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
- Clonar el repositorio
- Instalar las dependencias:
Configuración
El servidor está configurado para conectarse a una base de datos MySQL con los siguientes parámetros por defecto:
Ajusta estos parámetros según tu configuración de base de datos.
Funcionalidades
1. Consulta de Estado Completo
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
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
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:
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:
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.
This server cannot be installed
A Message Control Protocol server that provides an interface for managing and querying departmental budget information through a MySQL database.
Related MCP Servers
- -securityAlicense-qualityA Model Control Protocol server for integrating with DingTalk, enabling users to send messages, retrieve conversation/user information, and query calendar events through Claude.Last updated -2PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables SQL query execution, database management, and business intelligence capabilities through MySQL connections.Last updated -JavaScript
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.Last updated -JavaScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI-powered interaction with YNAB (You Need A Budget) data, allowing users to query their budgets through conversational interfaces.Last updated -1151TypeScriptMIT License