mcpField
M
MySQL MCP Server v2

MySQL MCP Server v2

Local
github.com/w2pwinlinuxDatabases0Updated 73w ago

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

  1. 01Connect to MySQL databases
  2. 02Retrieve department budget status
  3. 03Search departments by name
  4. 04Register budget requests
  5. 05Handle transactions and errors

Use cases

  1. 01Checking a department's available balance
  2. 02Finding budget records by department name
  3. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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.

Comments

Markdown supported

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.