MariaDB MCP Server

by bretoreta

Integrations

  • Provides access to MariaDB databases, allowing users to list databases, explore table schemas, and execute read-only SQL queries with security features like query validation and resource limits.

  • Enables interaction with MySQL databases through capabilities to list available databases, browse tables, describe table structures, and run SQL queries with built-in security controls.

MariaDB / MySQL Database Access MCP Server

This MCP server provides access to MariaDB / MySQL databases.

It allows you to:

  • List available databases
  • List tables in a database
  • Describe table schemas
  • Execute SQL queries

Security Features

  • Read-only access Default: SELECT, SHOW, DESCRIBE, and EXPLAIN
  • Query validation: Prevents SQL injection and blocks any data modification attempts
  • Query timeout: Prevents long-running queries from consuming resources
  • Row limit: Prevents excessive data return

Installation

Option 1: Build from Source

# 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 build

2. Configure environment variables

The server requires the following environment variables:

  • MARIADB_HOST: Database server hostname
  • MARIADB_PORT: Database server port (default: 3306)
  • MARIADB_USER: Database username
  • MARIADB_PASSWORD: Database password
  • MARIADB_DATABASE: Default database name (optional)
  • MARIADB_ALLOW_INSERT: false
  • MARIADB_ALLOW_UPDATE: false
  • MARIADB_ALLOW_DELETE: false
  • MARIADB_TIMEOUT_MS: 10000
  • MARIADB_ROW_LIMIT: 1000

3. Add to MCP settings

Add the following configuration to your MCP settings file:

If you built from source:

{ "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": [] } } }

Available Tools

list_databases

Lists all accessible databases on the MariaDB / MySQL server. Parameters: None

Example:

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "sessionId": "session_id from /sse call", "name": "list_databases" } }

list_tables

Lists all tables in a specified database.

Parameters:

  • database (optional): Database name (uses default if not specified)

Example:

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "sessionId": "session_id from /sse call", "name": "list_tables", "database": "my_database_name" } }

describe_table

Shows the schema for a specific table.

Parameters:

  • database (optional): Database name (uses default if not specified)
  • table (required): Table name

Example:

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "sessionId": "session_id from /sse call", "name": "describe_table", "database": "my_database_name" } }

execute_query

Executes a SQL query.

Parameters:

  • query (required): SQL query
  • database (optional): Database name (uses default if not specified)

Example:

{ "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" } }

Testing

The server automatically tests MariaDB to verify functionality with your MariaDB setup:

Troubleshooting

If you encounter issues:

  1. Check the server logs for error messages
  2. Verify your MariaDB credentials and connection details
  3. Ensure your MariaDB user has appropriate permissions
  4. Check that your query is read-only and properly formatted

Inspiration https://github.com/rjsalgado/mariadb-mcp-server

License

This project is licensed under the MIT License - see the LICENSE file for details.

-
security - not tested
F
license - not found
-
quality - not tested

Provides secure, read-only access to MariaDB/MySQL databases, allowing users to list databases, explore table schemas, and execute SQL queries with built-in security measures.

  1. Security Features
    1. Installation
      1. Option 1: Build from Source
      2. 2. Configure environment variables
      3. 3. Add to MCP settings
    2. Available Tools
      1. list_databases
      2. list_tables
      3. describe_table
      4. execute_query
    3. Testing
      1. Troubleshooting
        1. License

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Enables interaction with a MySQL database via JSON commands, supporting read-only queries, test execution of write queries, and table information retrieval through Docker.
            Last updated -
            4
            5
            5
            JavaScript
            MIT License
          • -
            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 -
            1,363
            350
            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 -
            1,363
            MIT License
          • -
            security
            A
            license
            -
            quality
            An MCP server implementation that enables Claude to execute read-only queries against MariaDB databases and explore database schemas through natural language.
            Last updated -
            5
            Python
            MIT License
            • Apple

          View all related MCP servers

          ID: 9tru29x6wk