MySQL MCP Server

Proporciona herramientas para que los asistentes de IA interactúen con una base de datos MySQL.

Documentación

Servidor MCP de MySQL

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas de acceso a bases de datos MySQL para asistentes de IA como Cursor.

Descripción general

Este servidor MCP permite a los asistentes de IA interactuar con bases de datos MySQL proporcionando tres herramientas esenciales:

  • Ejecutar consultas SQL
  • Describir estructuras de tablas
  • Listar todas las tablas de la base de datos

Características

  • Ejecución de consultas: Ejecute cualquier consulta SQL contra su base de datos MySQL
  • Descripción de tablas: Obtenga información detallada del esquema de cualquier tabla
  • Listado de tablas: Vea todas las tablas en su base de datos
  • Manejo de errores: Manejo integral de errores para operaciones de base de datos
  • Cumplimiento del protocolo MCP: Totalmente compatible con la especificación MCP 2024-11-05

Requisitos previos

  • Node.js (v14 o superior)
  • Base de datos MySQL (local o remota)
  • IDE de Cursor (para integración con MCP)

Instalación

  1. Clone o descargue este repositorio
  2. Instale las dependencias:
npm install

Configuración

El servidor utiliza variables de entorno para la configuración de la base de datos:

  • MYSQL_HOST: Nombre de host del servidor MySQL
  • MYSQL_USER: Nombre de usuario de la base de datos
  • MYSQL_PASSWORD: Contraseña de la base de datos
  • MYSQL_DATABASE: Nombre de la base de datos
  • MYSQL_PORT: Puerto de MySQL (predeterminado: 3306)

Integración con Cursor

Para usar este servidor MCP con Cursor, agregue la siguiente configuración a su archivo de configuración MCP de Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "mysql-mcp": {
      "label": "MySQL MCP",
      "command": "node",
      "args": ["/path/to/your/mysql-mcp-server.js"],
      "env": {
        "MYSQL_HOST": "your-mysql-host",
        "MYSQL_USER": "your-username",
        "MYSQL_PASSWORD": "your-password",
        "MYSQL_DATABASE": "your-database",
        "MYSQL_PORT": "3306"
      }
    }
  }
}

Reemplace /path/to/your/mysql-mcp-server.js con la ruta real a su archivo de servidor y actualice las variables de entorno con sus credenciales de base de datos.

Herramientas disponibles

1. mysql_query

Ejecute cualquier consulta SQL contra la base de datos.

Parámetros:

  • query (cadena): La consulta SQL a ejecutar

Ejemplo:

SELECT * FROM users WHERE role = 'admin'

2. mysql_describe_table

Obtenga la estructura e información del esquema de una tabla específica.

Parámetros:

  • table_name (cadena): Nombre de la tabla a describir

Ejemplo:

mysql_describe_table("users")

3. mysql_list_tables

Liste todas las tablas en la base de datos.

Parámetros: No se requieren.

Ejemplos de uso

Una vez configurado en Cursor, puede usar lenguaje natural para interactuar con su base de datos:

  • "Muéstrame todas las tablas en la base de datos"
  • "Describe la estructura de la tabla de usuarios"
  • "Obtén todos los usuarios administradores de la tabla de usuarios"
  • "Muéstrame las citas recientes"

Consideraciones de seguridad

  • Credenciales de base de datos: Almacene las credenciales sensibles de forma segura y nunca las envíe al control de versiones
  • Permisos de consulta: El servidor ejecuta consultas con los permisos del usuario de base de datos proporcionado
  • Acceso a la red: Asegúrese de que su base de datos esté correctamente protegida y sea accesible solo desde fuentes autorizadas
  • Validación de entrada: Aunque el servidor maneja errores, siempre valide y sanitice las entradas en producción

Solución de problemas

El servidor aparece en rojo en Cursor

  • Verifique que todas las variables de entorno estén configuradas correctamente
  • Verifique la conectividad de la base de datos
  • Asegúrese de que Node.js y el paquete mysql2 estén instalados correctamente
  • Revise la consola de desarrollador de Cursor para ver mensajes de error

Errores de conexión

  • Verifique el host, puerto y credenciales de la base de datos
  • Revise la conectividad de red a la base de datos
  • Asegúrese de que la base de datos permita conexiones desde su IP
  • Verifique que el nombre de la base de datos exista

Error de "0 herramientas habilitadas"

  • Reinicie Cursor después de realizar cambios en la configuración
  • Revise la ruta del archivo del servidor MCP en la configuración
  • Asegúrese de que el servidor implemente correctamente el protocolo MCP

Desarrollo

Estructura de archivos

mcp/
├── mysql-mcp-server.js    # Main MCP server implementation
├── package.json           # Node.js dependencies
└── README.md             # This file

Dependencias

  • mysql2: Cliente MySQL para Node.js con soporte de promesas

Contribuciones

No dude en enviar problemas, solicitudes de funciones o solicitudes de extracción para mejorar este servidor MCP.

Licencia

Este proyecto es de código abierto y está disponible bajo la Licencia MIT.

Registro de cambios

v1.0.0

  • Lanzamiento inicial
  • Implementación básica del protocolo MCP
  • Tres herramientas principales de base de datos (consulta, descripción, listado)
  • Manejo de errores y registro
  • Soporte de integración con Cursor