MySQL Navigator MCP

by Medsaad
MIT License
2
  • Linux
  • Apple

Integrations

  • Uses .env files for configuration and secure management of database credentials and connection parameters

  • Offers cross-platform compatibility for Linux systems with specified log file locations and installation instructions

  • Provides cross-platform support for macOS with documented log file locations and installation procedures

Una potente herramienta de navegación de bases de datos MySQL/MariaDB que utiliza MCP (Protocolo de control de modelos) para facilitar la consulta y la gestión de bases de datos.

Características

  • Conectarse a bases de datos MySQL/MariaDB
  • Cambiar entre diferentes bases de datos dinámicamente
  • Ejecutar consultas SQL con seguridad de tipos
  • Recuperar información del esquema de la base de datos
  • Validación del modelo Pydantic para parámetros de consulta
  • Gestión segura de credenciales
  • Sistema de registro integral
  • Mecanismos de agrupación de conexiones y reintentos
  • Compatibilidad con SSL/TLS para conexiones seguras

Ubicación del archivo de registro (multiplataforma)

De forma predeterminada, todos los registros se escriben en:

  • Windows: C:\Users\<YourUsername>\.mcp\mcp-db.log
  • macOS/Linux: /home/<yourusername>/.mcp/mcp-db.log o /Users/<yourusername>/.mcp/mcp-db.log

Si la carpeta .mcp no existe en tu directorio personal, la aplicación la creará automáticamente. Si tienes algún problema, puedes crearla manualmente:

Ventanas:

mkdir $env:USERPROFILE\.mcp

macOS/Linux:

mkdir -p ~/.mcp

Instalación

Desde PyPI (recomendado para la mayoría de los usuarios):

pip install mcp-db-navigator

Desde la fuente (para desarrollo):

git clone <your-repo-url> cd mcp-db pip install -e .
  1. Cree un archivo .env con las credenciales de su base de datos:
DB_HOST=your_host DB_PORT=your_port DB_NAME=your_database_name DB_USER=your_username DB_PASSWORD=your_password DB_SSL_CA=/path/to/ssl/ca.pem # Optional: for SSL/TLS connections DB_MAX_RETRIES=3 # Optional: number of connection retries DB_RETRY_DELAY=1.0 # Optional: delay between retries in seconds

Ejemplos de uso

1. Línea de comandos

Ejecute el servidor MCP directamente desde su terminal:

mcp-db --config /path/to/your/project/.env

2. En el cursor

Para utilizar este servidor MCP en Cursor :

  • Abra la configuración del cursor y agregue un nuevo servidor MCP.
  • Utilice la siguiente configuración (ejemplo):
{ "mcpServers": { "mysql-navigator": { "command": "mcp-db", "args": [ "--config", "/absolute/path/to/your/.env" ] } } }
  • Asegúrese de que la ruta a su archivo .env sea absoluta.

3. En Claude Desktop

Si Claude Desktop admite servidores MCP:

  • Agregue un nuevo servidor MCP y apúntelo al comando mcp-db con el argumento --config como se indica arriba.
  • Consulte la documentación de Claude Desktop para obtener detalles sobre cómo agregar servidores MCP personalizados.

Parámetros de consulta

El diccionario de consultas admite los siguientes parámetros:

  • table_name (obligatorio): Nombre de la tabla a consultar
  • select_fields (opcional): Lista de campos para seleccionar (predeterminado a ["*"])
  • where_conditions (opcional): Diccionario de pares de campo-valor para la cláusula WHERE
  • order_by (opcional): Lista de campos por los que ordenar
  • order_direction (opcional): Dirección de ordenación "ASC" o "DESC" (predeterminado: "ASC")
  • limit (opcional): Número de registros a devolver
  • offset (opcional): Número de registros a omitir
  • group_by (opcional): Lista de campos por los que agrupar
  • having (opcional): Diccionario de pares de campo-valor para la cláusula HAVING
  • join_table (opcional): Nombre de la tabla a la que unirse
  • join_type (opcional): Tipo de operación JOIN (predeterminado: "INNER")
  • join_conditions (opcional): Diccionario de condiciones de unión

Características de seguridad

  • Las credenciales de la base de datos se administran a través de un archivo de configuración
  • Las contraseñas se almacenan como SecretStr en los modelos de Pydantic
  • Validación de entrada para todos los parámetros de consulta
  • Prevención de inyección SQL mediante consultas parametrizadas
  • Compatibilidad con SSL/TLS para conexiones cifradas
  • Sanitización de la cadena de conexión
  • Limitación de velocidad para consultas
  • Saneamiento de parámetros de consulta

Características de producción

Manejo de errores

  • Manejo integral de errores para operaciones de bases de datos
  • Manejo del tiempo de espera de conexión
  • Mecanismo de reintento automático para conexiones fallidas
  • Validación de entrada para todos los parámetros

Actuación

  • Agrupación de conexiones para un uso óptimo de los recursos
  • Registro del tiempo de ejecución de consultas
  • Estadísticas del pool de conexiones
  • Recopilación de métricas de rendimiento

Escucha

  • Registro estructurado con diferentes niveles de registro
  • Seguimiento de la ejecución de consultas
  • Monitoreo del estado de la conexión
  • Seguimiento de la tasa de errores

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

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

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A TypeScript-based MCP server that facilitates SQL query execution and MySQL database connectivity using environment variables.
    Last updated -
    25
    JavaScript
    • Apple
  • A
    security
    A
    license
    A
    quality
    An MCP server that provides read-only access to MySQL databases.
    Last updated -
    4
    695
    17
    JavaScript
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.
    Last updated -
    TypeScript
    MIT License
    • Apple
    • Linux
  • A
    security
    F
    license
    A
    quality
    MCP server that allows Claude AI to interact directly with MySQL databases, enabling query execution and table information retrieval through natural language.
    Last updated -
    1
    6
    3
    JavaScript

View all related MCP servers

ID: 7g1ycq5xwv