Servidor MCP de acceso a bases de datos MariaDB/MySQL
Este servidor MCP proporciona acceso a bases de datos MariaDB / MySQL.
Permite:
Lista de bases de datos disponibles
Listar tablas en una base de datos
Describir esquemas de tablas
Ejecutar consultas SQL
Características de seguridad
Acceso de solo lectura. Predeterminado : SELECCIONAR, MOSTRAR, DESCRIBIR y EXPLICAR.
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: MySQL MCP Server
Instalación
Opción 1: Construir desde la fuente
# Clone the repository
git clone https://github.com/bretoreta/mariadb-mcp-server.git
cd mariadb-mcp-server
# Install dependencies and build
pnpm install
pnpm run build2. Configurar variables de entorno
El servidor requiere las siguientes variables de entorno:
MARIADB_HOST: Nombre de host del servidor de base de datos
MARIADB_PORT: Puerto del servidor de base de datos (predeterminado: 3306)
MARIADB_USER: Nombre de usuario de la base de datos
MARIADB_PASSWORD: Contraseña de la base de datos
MARIADB_DATABASE: Nombre de la base de datos predeterminada (opcional)
MARIADB_ALLOW_INSERT: falso
MARIADB_ALLOW_UPDATE: falso
MARIADB_ALLOW_DELETE: falso
TIEMPO DE ESPERA DE MARIADB: 10000 ms
LÍMITE DE FILAS DE MARIADB: 1000
3. Agregar a la configuración de MCP
Agregue la siguiente configuración a su archivo de configuración de MCP:
Si lo construiste desde la fuente:
{
"mcpServers": {
"mariadb": {
"command": "node",
"args": ["/path/to/mariadb-mcp-server/dist/index.js"],
"env": {
"MARIADB_HOST": "your-host",
"MARIADB_PORT": "3306",
"MARIADB_USER": "your-user",
"MARIADB_PASSWORD": "your-password",
"MARIADB_DATABASE": "your-default-database",
"MARIADB_ALLOW_INSERT": "false",
"MARIADB_ALLOW_UPDATE": "false",
"MARIADB_ALLOW_DELETE": "false",
"MARIADB_TIMEOUT_MS": "10000",
"MARIADB_ROW_LIMIT": "1000",
},
"disabled": false,
"autoApprove": []
}
}
}Herramientas disponibles
lista_bases_de_datos
Enumera todas las bases de datos accesibles en el servidor MariaDB/MySQL. Parámetros : Ninguno.
Ejemplo :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "list_databases"
}
}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 :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "list_tables",
"database": "my_database_name"
}
}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 :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "describe_table",
"database": "my_database_name",
"table": "my_table_name"
}
}ejecutar_consulta
Ejecuta una consulta SQL.
Parámetros :
query(obligatoria): consulta SQLdatabase(opcional): nombre de la base de datos (usa el predeterminado si no se especifica)
Ejemplo :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "execute_query",
"query": "SELECT * FROM my_table LIMIT 10"
}
}Pruebas
El servidor prueba automáticamente MariaDB para verificar la funcionalidad con su configuración de MariaDB:
Solución de problemas
Si encuentra problemas:
Verifique los registros del servidor para ver si hay mensajes de error
Verifique sus credenciales de MariaDB y los detalles de conexión
Asegúrese de que su usuario de MariaDB tenga los permisos adecuados
Compruebe que su consulta sea de solo lectura y tenga el formato correcto
Inspiración https://github.com/rjsalgado/mariadb-mcp-server
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.