Skip to main content
Glama

MySQL Database Access

MIT License
694
41
  • Linux
  • Apple

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

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.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor MCP que proporciona acceso de solo lectura a bases de datos MySQL.

  1. Características de seguridad
    1. Instalación
      1. 1. Instale utilizando uno de estos métodos:
      2. 2. Configurar variables de entorno
      3. 3. Agregar a la configuración de MCP
    2. Herramientas disponibles
      1. lista_de_bases_de_datos
      2. listas_de_tablas
      3. describe_tabla
      4. ejecutar_consulta
    3. Configuración avanzada del grupo de conexiones
      1. Pruebas
        1. 1. Configurar la base de datos de prueba
        2. 2. Probar las herramientas MCP
        3. 3. Ejecutar todas las pruebas
      2. Solución de problemas
        1. Licencia

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            An MCP server that integrates with MySQL databases, enabling secure read and write operations through LLM-driven interfaces with support for transaction handling and performance monitoring.
            Last updated 5 months ago
            532
            13
            JavaScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server providing read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated 4 months ago
            2
            1
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated 5 months ago
            4,320
            MIT License
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server providing read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated 4 months ago
            694
            1
            JavaScript

          View all related MCP servers

          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