npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@kesquivelt.atlas/mysql-mcp-server

v1.0.4

Published

Complete MCP server for MySQL with full DDL, DML and CRUD operations - by Kevin Esquivel

Readme

🐬 MCP MySQL Server

Un servidor MCP (Model Context Protocol) completo y robusto para MySQL que proporciona acceso total a operaciones DDL, DML, stored procedures y administración de base de datos directamente desde Claude Desktop.

Desarrollado por Kevin Esquivel - Especialista en Desarrollo de IA
📱 Consultas y soporte: WhatsApp +502 37667896


Características

✅ Operaciones Completas Soportadas

  • Conexión y Gestión de Base de Datos

    • Conectar/desconectar a MySQL
    • Listar, crear, eliminar y cambiar bases de datos
  • Operaciones DDL (Data Definition Language)

    • Crear, alterar y eliminar tablas
    • Gestión completa de índices
    • Gestión de columnas (agregar, modificar, eliminar)
    • Truncar tablas
  • Operaciones CRUD Completas

    • SELECT con JOINs, WHERE, ORDER BY, LIMIT
    • INSERT (simple y bulk)
    • UPDATE con WHERE y LIMIT
    • DELETE con WHERE y LIMIT
  • Stored Procedures y Funciones

    • Listar, crear y eliminar procedures/functions
    • Ejecutar stored procedures
    • Obtener definiciones de procedures
  • Herramientas Avanzadas

    • Ejecución de SQL crudo
    • Inspección de estructura de tablas
    • Gestión de índices
    • Conexiones seguras con SSL

Instalación

  1. Clona o descarga el proyecto
  2. Instala las dependencias:
cd mcp-mysql-server
npm install
  1. Compila el proyecto:
npm run build

⚙️ Configuración en Claude Desktop

Agrega la siguiente configuración a tu archivo claude_desktop_config.json:

Opción 1: Usando el servidor compilado (Recomendado)

{
  "mcpServers": {
    "mysql": {
      "command": "mysql-mcp-server",
      "args": [],
      "env": {}
    }
  }
}

Opción 2: Usando el servidor directo (Desarrollo)

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": [
        "C:\\ruta\\a\\tu\\proyecto\\mcp-mysql-server\\simple-server.js"
      ],
      "cwd": "C:\\ruta\\a\\tu\\proyecto\\mcp-mysql-server"
    }
  }
}

Nota: Reemplaza C:\\ruta\\a\\tu\\proyecto\\ con la ruta real donde clonaste este proyecto.

Ubicación del archivo de configuración:

  • Windows: %APPDATA%\\Claude\\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

🚀 Uso Completo

Una vez configurado, todas las herramientas MySQL estarán disponibles directamente en Claude Desktop. Solo necesitas usar el lenguaje natural para interactuar con tu base de datos.

🔌 1. Conectar a MySQL

Ejemplo natural en Claude:

"Conéctate a mi base de datos MySQL usando localhost, puerto 3306, usuario root y contraseña MiPassword123"

Parámetros técnicos:

{
  "host": "localhost",
  "port": 3306,
  "user": "root", 
  "password": "tu_password",
  "database": "mi_base_datos",  // opcional
  "ssl": false,                 // opcional
  "charset": "utf8mb4"         // opcional
}

🗃️ 2. Gestión de Bases de Datos

Ejemplos naturales en Claude:

"Lista todas las bases de datos disponibles" "Crea una nueva base de datos llamada 'mi_proyecto'" "Cambia a la base de datos 'atlas_test'" "Elimina la base de datos 'proyecto_viejo'"

Operaciones disponibles:

  • Listar bases de datos existentes
  • Crear nuevas bases de datos con charset personalizado
  • Eliminar bases de datos (con confirmación IF EXISTS)
  • Cambiar de base de datos activa

📋 3. Gestión de Tablas

Ejemplos naturales en Claude:

"Lista todas las tablas de la base de datos actual" "Crea una tabla llamada 'usuarios' con columnas id, nombre, email y fecha_registro" "Muéstrame la estructura de la tabla 'administradores'" "Elimina la tabla 'datos_temporales'"

Capacidades avanzadas:

  • Crear tablas con columnas personalizadas, claves primarias y AUTO_INCREMENT
  • Describir estructura completa de tablas existentes
  • Listar todas las tablas con información detallada
  • Eliminar tablas de forma segura
  • Especificar tipos de datos MySQL completos (INT, VARCHAR, TIMESTAMP, etc.)
  • Configurar defaults y restricciones NOT NULL

📊 4. Operaciones CRUD Completas

Ejemplos naturales en Claude:

"Muéstrame todos los registros de la tabla administradores" "Inserta un nuevo administrador: nombre 'Carlos López', cargo 'CTO'" "Actualiza el cargo de Kevin Esquivel a 'Lead IA Developer'" "Elimina todos los usuarios inactivos"

SELECT Avanzado:

  • Consultas básicas con columnas específicas
  • Filtrado WHERE con condiciones complejas
  • Ordenamiento ORDER BY ascendente/descendente
  • Paginación con LIMIT y OFFSET
  • Joins entre tablas para consultas relacionales

INSERT Masivo:

  • Inserción múltiple de registros en una sola operación
  • Manejo de duplicados con ON DUPLICATE KEY UPDATE
  • AUTO_INCREMENT automático para claves primarias

UPDATE Preciso:

  • Actualización condicional con WHERE
  • Límite de registros afectados con LIMIT
  • Múltiples columnas en una sola operación

DELETE Seguro:

  • Eliminación condicional para evitar borrado accidental
  • Límite de registros para operaciones masivas controladas

⚙️ 5. Stored Procedures y Funciones

Ejemplos naturales en Claude:

"Lista todos los stored procedures de la base de datos" "Crea un stored procedure llamado 'obtener_admin' que reciba un ID y devuelva los datos del administrador" "Ejecuta el stored procedure 'obtener_admin' con el parámetro 1" "Elimina el stored procedure 'procedimiento_viejo'"

Capacidades Profesionales:

  • Crear stored procedures con parámetros IN, OUT, INOUT
  • Crear funciones MySQL con valores de retorno
  • Ejecutar procedures con parámetros dinámicos
  • Listar procedures existentes con metadatos
  • Eliminar procedures de forma segura
  • Lógica de negocio compleja en la base de datos

🛠️ 6. SQL Crudo y Consultas Personalizadas

Ejemplos naturales en Claude:

"Ejecuta esta consulta SQL: SELECT * FROM administradores WHERE cargo LIKE '%Dev%'" "Corre una consulta que me muestre el conteo de administradores por cargo" "Ejecuta un INNER JOIN entre administradores y sus proyectos"

Poder Total de MySQL:

  • Cualquier consulta SQL sin restricciones
  • Consultas complejas con múltiples JOINs
  • Funciones agregadas (COUNT, SUM, AVG, etc.)
  • Subqueries y consultas anidadas
  • Parámetros preparados para seguridad
  • DDL completo (CREATE, ALTER, DROP)
  • Transacciones y operaciones atómicas

🔧 Herramientas Disponibles (19 herramientas completas)

🔌 Conexión y Gestión

| Herramienta | Descripción | Ejemplo de uso | |-------------|-------------|----------------| | connect | Conectar a MySQL | "Conéctate a localhost con usuario root" | | disconnect | Desconectar de MySQL | "Desconéctate de la base de datos" |

🗃️ Bases de Datos

| Herramienta | Descripción | Ejemplo de uso | |-------------|-------------|----------------| | list_databases | Listar bases de datos | "Muéstrame todas las bases de datos" | | create_database | Crear base de datos | "Crea una BD llamada 'mi_proyecto'" | | drop_database | Eliminar base de datos | "Elimina la BD 'proyecto_viejo'" | | use_database | Cambiar base de datos activa | "Cambia a la BD 'atlas_test'" |

📋 Tablas

| Herramienta | Descripción | Ejemplo de uso | |-------------|-------------|----------------| | list_tables | Listar tablas | "Lista todas las tablas" | | describe_table | Describir estructura | "Describe la tabla 'administradores'" | | create_table | Crear tabla | "Crea tabla 'usuarios' con id y nombre" | | drop_table | Eliminar tabla | "Elimina la tabla 'temp_data'" |

📊 CRUD Completo

| Herramienta | Descripción | Ejemplo de uso | |-------------|-------------|----------------| | select | Consulta SELECT | "Muestra todos los administradores" | | insert | Insertar datos | "Inserta un nuevo usuario" | | update | Actualizar datos | "Actualiza el cargo de Kevin" | | delete | Eliminar datos | "Elimina usuarios inactivos" |

⚙️ Stored Procedures

| Herramienta | Descripción | Ejemplo de uso | |-------------|-------------|----------------| | list_stored_procedures | Listar procedures | "Lista todos los procedures" | | create_stored_procedure | Crear procedure | "Crea un procedure para obtener usuario" | | drop_stored_procedure | Eliminar procedure | "Elimina el procedure 'old_proc'" | | call_stored_procedure | Ejecutar procedure | "Ejecuta el procedure con ID 123" |

🛠️ Utilidades Avanzadas

| Herramienta | Descripción | Ejemplo de uso | |-------------|-------------|----------------| | execute_sql | SQL crudo completo | "Ejecuta: SELECT COUNT(*) FROM users" |

🔒 Seguridad y Mejores Prácticas

  • Conexiones SSL habilitadas por defecto
  • Prepared statements para prevenir SQL injection
  • Parámetros validados en todas las operaciones
  • Credenciales seguras - nunca hardcodear passwords
  • ⚠️ Usuarios específicos - evitar usar root en producción
  • ⚠️ Permisos mínimos - dar solo los accesos necesarios

🚀 Instalación de MySQL Server

Windows (Recomendado: MySQL Community Server)

  1. Descargar de: https://dev.mysql.com/downloads/mysql/
  2. Instalar con configuración por defecto (puerto 3306)
  3. Crear contraseña para usuario root
  4. Probar conexión: mysql -u root -p

Alternativa: XAMPP (Más fácil)

  1. Descargar XAMPP: https://www.apachefriends.org/
  2. Instalar y ejecutar
  3. Iniciar MySQL desde XAMPP Control Panel
  4. Usuario: root, Password: (vacío)

🛠️ Desarrollo y Contribución

# Instalar dependencias
npm install

# Desarrollo en tiempo real
npm run dev

# Compilar proyecto
npm run build

# Ejecutar servidor compilado
npm start

📞 Soporte y Contacto

Kevin Esquivel - Especialista en Desarrollo de IA

  • 📱 WhatsApp: +502 37667896
  • 💼 LinkedIn: Especializado en integración de IA y bases de datos
  • 🚀 Disponible para proyectos personalizados y consultoría

📄 Licencia

MIT License - Libre para uso comercial y personal

Desarrollado con ❤️ en Guatemala 🇬🇹