Skip to main content
Glama

MySQL Database Access

versión npm insignia de herrería

Servidor MCP de acceso a bases de datos MySQL

Este servidor MCP proporciona acceso de solo lectura a bases de datos MySQL. Permite:

  • Lista de bases de datos disponibles

  • Listar tablas en una base de datos

  • Describir esquemas de tablas

  • Ejecutar consultas SQL de solo lectura

Características de seguridad

  • Acceso de solo lectura : solo se permiten las instrucciones SELECT, SHOW, DESCRIBE y EXPLAIN

  • Validación de consultas : evita la inyección de SQL y bloquea cualquier intento de modificación de datos

  • Tiempo de espera de consulta : evita que las consultas de larga duración consuman recursos

  • Límite de filas : evita la devolución excesiva de datos

Related MCP server: MCP Server for MySQL

Instalación

1. Instale utilizando uno de estos métodos:

Instalar desde NPM

# Install globally npm install -g mysql-mcp-server # Or install locally in your project npm install mysql-mcp-server

Construir desde la fuente

# Clone the repository git clone https://github.com/dpflucas/mysql-mcp-server.git cd mysql-mcp-server # Install dependencies and build npm install npm run build

Instalar a través de Smithery

Para instalar MySQL Database Access MCP Server para Claude AI automáticamente a través de Smithery :

npx -y @smithery/cli install @dpflucas/mysql-mcp-server --client claude

2. Configurar variables de entorno

El servidor requiere las siguientes variables de entorno:

  • MYSQL_HOST : Nombre de host del servidor de base de datos

  • MYSQL_PORT : Puerto del servidor de base de datos (predeterminado: 3306)

  • MYSQL_USER : Nombre de usuario de la base de datos

  • MYSQL_PASSWORD : Contraseña de la base de datos (opcional, pero recomendada para conexiones seguras)

  • MYSQL_DATABASE : Nombre de la base de datos predeterminada (opcional)

3. Agregar a la configuración de MCP

Agregue la siguiente configuración a su archivo de configuración de MCP:

Si lo instaló mediante npm (Opción 1):

{ "mcpServers": { "mysql": { "command": "npx", "args": ["mysql-mcp-server"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database" }, "disabled": false, "autoApprove": [] } } }

Si lo construyó desde la fuente (Opción 2):

{ "mcpServers": { "mysql": { "command": "node", "args": ["/path/to/mysql-mcp-server/build/index.js"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database" }, "disabled": false, "autoApprove": [] } } }

Herramientas disponibles

lista_de_bases_de_datos

Enumera todas las bases de datos accesibles en el servidor MySQL.

Parámetros : Ninguno

Ejemplo :

{ "server_name": "mysql", "tool_name": "list_databases", "arguments": {} }

listas_de_tablas

Enumera todas las tablas de una base de datos especificada.

Parámetros :

  • database (opcional): nombre de la base de datos (usa el predeterminado si no se especifica)

Ejemplo :

{ "server_name": "mysql", "tool_name": "list_tables", "arguments": { "database": "my_database" } }

describe_tabla

Muestra el esquema de una tabla específica.

Parámetros :

  • database (opcional): nombre de la base de datos (usa el predeterminado si no se especifica)

  • table (obligatorio): Nombre de la tabla

Ejemplo :

{ "server_name": "mysql", "tool_name": "describe_table", "arguments": { "database": "my_database", "table": "my_table" } }

ejecutar_consulta

Ejecuta una consulta SQL de solo lectura.

Parámetros :

  • query (obligatoria): consulta SQL (solo se permiten las sentencias SELECT, SHOW, DESCRIBE y EXPLAIN)

  • database (opcional): nombre de la base de datos (usa el predeterminado si no se especifica)

Ejemplo :

{ "server_name": "mysql", "tool_name": "execute_query", "arguments": { "database": "my_database", "query": "SELECT * FROM my_table LIMIT 10" } }

Configuración avanzada del grupo de conexiones

Para obtener más control sobre el comportamiento del grupo de conexiones MySQL, puede configurar parámetros adicionales:

{ "mcpServers": { "mysql": { "command": "npx", "args": ["mysql-mcp-server"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database", "MYSQL_CONNECTION_LIMIT": "10", "MYSQL_QUEUE_LIMIT": "0", "MYSQL_CONNECT_TIMEOUT": "10000", "MYSQL_IDLE_TIMEOUT": "60000", "MYSQL_MAX_IDLE": "10" }, "disabled": false, "autoApprove": [] } } }

Estas opciones avanzadas le permiten:

  • MYSQL_CONNECTION_LIMIT : controla el número máximo de conexiones en el grupo (valor predeterminado: 10)

  • MYSQL_QUEUE_LIMIT : Establece el número máximo de solicitudes de conexión para poner en cola (valor predeterminado: 0, ilimitado)

  • MYSQL_CONNECT_TIMEOUT : ajusta el tiempo de espera de la conexión en milisegundos (valor predeterminado: 10000)

  • MYSQL_IDLE_TIMEOUT : configura cuánto tiempo puede estar inactiva una conexión antes de liberarse (en milisegundos)

  • MYSQL_MAX_IDLE : Establece el número máximo de conexiones inactivas que se mantendrán en el grupo

Pruebas

El servidor incluye scripts de prueba para verificar la funcionalidad con su configuración de MySQL:

1. Configurar la base de datos de prueba

Este script crea una base de datos de prueba, una tabla y datos de muestra:

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password # Run the setup script npm run test:setup

2. Probar las herramientas MCP

Este script prueba cada una de las herramientas MCP contra la base de datos de prueba:

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password export MYSQL_DATABASE=mcp_test_db # Run the tools test script npm run test:tools

3. Ejecutar todas las pruebas

Para ejecutar pruebas de configuración y de herramientas:

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password # Run all tests npm test

Solución de problemas

Si encuentra problemas:

  1. Verifique los registros del servidor para ver si hay mensajes de error

  2. Verifique sus credenciales de MySQL y los detalles de conexión

  3. Asegúrese de que su usuario MySQL tenga los permisos adecuados

  4. Compruebe que su consulta sea de solo lectura y tenga el formato correcto

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dpflucas/mysql-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server