A Model Context Protocol server that provides read-only access to MariaDB databases. This server enables LLMs to inspect database schemas and execute read-only queries.
- mariadb_query
- Execute read-only SQL queries against the connected database
- Input:
sql(string): The SQL query to execute - All queries are executed within a READ ONLY transaction
The server provides schema information for each table in the database:
- Table Schemas
- JSON schema information for each table
- Includes column names and data types
- Automatically discovered from database metadata
To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:
{
"mcpServers": {
"mcp_server_mariadb": {
"command": "npx",
"args": ["-y", "@oleander/mcp-server-mariadb"],
"env": {
"MARIADB_HOST": "127.0.0.1",
"MARIADB_PORT": "3306",
"MARIADB_USER": "root",
"MARIADB_PASS": "",
"MARIADB_DB": "db_name"
}
}
}
}Replace /db_name with your database name or leave it blank to retrieve all databases.
This server uses the winston logging library to provide detailed log output. The log level can be controlled using the LOG_LEVEL environment variable. The available log levels are:
error: Logs only error messageswarn: Logs warnings and error messagesinfo: Logs informational messages, warnings, and error messagesdebug: Logs debug messages, informational messages, warnings, and error messages
To set the log level, add the LOG_LEVEL environment variable to your configuration. For example:
{
"mcpServers": {
"mcp_server_mariadb": {
"command": "npx",
"args": ["-y", "@oleander/mcp-server-mariadb"],
"env": {
"MARIADB_HOST": "127.0.0.1",
"MARIADB_PORT": "3306",
"MARIADB_USER": "root",
"MARIADB_PASS": "",
"MARIADB_DB": "db_name",
"LOG_LEVEL": "debug"
}
}
}
}During package installation, the package will automatically compile the TypeScript code to JavaScript. This happens through the prepare script which runs npm run build. If you encounter any compilation errors during installation, ensure you have sufficient permissions and that your environment meets the following requirements:
- Node.js installed and accessible in your PATH
- Sufficient permissions to execute npm scripts
- Access to write to the installation directory
If you encounter an error "Could not connect to MCP server mcp-server-mariadb", you may need to explicitly set the path of all required binaries such as the configuration below:
{
"mcpServers": {
"mcp_server_mariadb": {
"command": "/path/to/npx/binary/npx",
"args": ["-y", "@oleander/mcp-server-mariadb"],
"env": {
"MARIADB_HOST": "127.0.0.1",
"MARIADB_PORT": "3306",
"MARIADB_USER": "root",
"MARIADB_PASS": "",
"MARIADB_DB": "db_name",
"PATH": "/path/to/node/bin:/usr/bin:/bin"
}
}
}
}This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
