Skip to main content
Glama

Servidor MySQL MCP

Un servidor MCP para interactuar con bases de datos MySQL.

Este servidor admite la ejecución de consultas de solo lectura (consulta) y consultas de escritura que finalmente se revierten (test_execute).

Configuración

Variables de entorno

Agregue las siguientes variables de entorno a ~/.mcp/.env :

MYSQL_HOST=host.docker.internal # Hostname to access host services from Docker container MYSQL_PORT=3306 MYSQL_USER=root MYSQL_PASSWORD=your_password

Nota : host.docker.internal es un nombre DNS especial para acceder a los servicios del equipo host desde contenedores Docker. Use esta configuración al conectarse a un servidor MySQL que se esté ejecutando en su equipo host. Si se conecta a otro servidor MySQL, cambie al nombre de host correspondiente.

Configuración de mcp.json

{ "mcpServers": { "mysql": { "command": "docker", "args": [ "run", "-i", "--rm", "--add-host=host.docker.internal:host-gateway", "--env-file", "/Users/username/.mcp/.env", "ghcr.io/xiangma9712/mcp/mysql" ] } } }

Related MCP server: MySql MCP Server

Uso

Iniciando el servidor

docker run -i --rm --add-host=host.docker.internal:host-gateway --env-file ~/.mcp/.env ghcr.io/xiangma9712/mcp/mysql

Nota : Si usa OrbStack, host.docker.internal se admite automáticamente, por lo que puede omitir la opción --add-host . Aunque Docker Desktop también suele admitirlo automáticamente, se recomienda agregar la opción --add-host para una mayor fiabilidad.

Comandos disponibles

1. Ejecutar consulta de solo lectura

{ "type": "query", "payload": { "sql": "SELECT * FROM your_table" } }

Respuesta:

{ "success": true, "data": [ { "id": 1, "name": "example" } ] }

2. Ejecución de la consulta de prueba

{ "type": "test_execute", "payload": { "sql": "UPDATE your_table SET name = 'updated' WHERE id = 1" } }

Respuesta:

{ "success": true, "data": "The UPDATE SQL query can be executed." }

3. Tablas de listas

{ "type": "list_tables" }

Respuesta:

{ "success": true, "data": ["table1", "table2", "table3"] }

4. Describir la tabla

{ "type": "describe_table", "payload": { "table": "your_table" } }

Respuesta:

{ "success": true, "data": [ { "Field": "id", "Type": "int(11)", "Null": "NO", "Key": "PRI", "Default": null, "Extra": "" }, { "Field": "name", "Type": "varchar(255)", "Null": "YES", "Key": "", "Default": null, "Extra": "" } ] }

Detalles de implementación

  • Implementado en TypeScript

  • Utiliza el paquete mysql2

  • Se ejecuta como un contenedor Docker

  • Acepta comandos JSON a través de la entrada estándar

  • Devuelve respuestas JSON a través de la salida estándar

  • Utiliza host.docker.internal para conectarse al host MySQL (compatible con OrbStack y Docker Desktop)

Consideraciones de seguridad

  • Utiliza variables de entorno para la gestión de información confidencial

  • La prevención de inyecciones SQL es responsabilidad del implementador

  • Se requiere una configuración de red adecuada para el uso en producción

  • Se necesitan configuraciones de firewall adecuadas al conectarse a los servicios de la máquina host

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/xiangma9712/mysql-mcp-server'

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