MariaDB MCP Server
Enables AI assistants to securely interact with MariaDB and MySQL databases using granular per-connection read/write permissions and transaction support. It allows users to manage multiple database connections, explore schemas, and execute controlled SQL queries through a standardized interface.
README
mariadb-mcp-server
MCP (Model Context Protocol) server for MariaDB/MySQL databases. Provides AI assistants with safe, controlled database access through per-connection read/write permissions.
Features
- Multi-connection — manage multiple MariaDB/MySQL databases from a single server
- Per-connection access control —
readandwriteflags per connection - Optional limits —
statement_timeout_ms,default_row_limit,max_row_limit(all optional, unlimited by default) - SQL guard — validates queries to prevent accidental writes through read tools
- Transaction support — atomic multi-query execution on writable connections
Installation
npm install -g @cemalturkcann/mariadb-mcp-server
Or use directly with npx:
npx @cemalturkcann/mariadb-mcp-server
Configuration
The server looks for config.json in this order:
DB_MCP_CONFIG_PATHenvironment variable- Next to the package (
../config.jsonrelative tosrc/) - Current working directory
~/.config/mariadb-mcp/config.json
If no config is found, a default one is created automatically at ~/.config/mariadb-mcp/config.json with a local read-only connection.
Example config:
{
"connections": {
"local": {
"host": "localhost",
"port": 3306,
"user": "root",
"password": "",
"description": "Local MariaDB",
"read": true,
"write": true
},
"production": {
"host": "db.example.com",
"port": 3306,
"user": "readonly_user",
"password": "secret",
"database": "mydb",
"description": "Production (read-only)",
"read": true,
"write": false,
"statement_timeout_ms": 5000,
"default_row_limit": 50,
"max_row_limit": 500
}
}
}
Connection options
| Field | Type | Default | Description |
|---|---|---|---|
host |
string | localhost |
Database host |
port |
number | 3306 |
Database port |
user |
string | root |
Database user |
password |
string | "" |
Database password |
database |
string | "" |
Default database |
description |
string | "" |
Human-readable label |
read |
boolean | true |
Allow read queries |
write |
boolean | false |
Allow write queries |
ssl |
boolean/object | false |
SSL configuration |
statement_timeout_ms |
number | none | Connection timeout (0 or omit = unlimited) |
default_row_limit |
number | none | Default LIMIT for SELECT (0 or omit = unlimited) |
max_row_limit |
number | none | Max allowed LIMIT (0 or omit = unlimited) |
MCP Tools
| Tool | Description | Requires |
|---|---|---|
list_connections |
List all configured connections | — |
list_databases |
Show databases on a connection | read |
list_tables |
Show tables (optionally in a specific database) | read |
describe_table |
Show column definitions | read |
execute_select |
Run SELECT / SHOW / DESCRIBE / EXPLAIN queries | read |
execute_write |
Run INSERT / UPDATE / DELETE / DDL queries | write |
execute_transaction |
Run multiple write queries atomically | write |
suggest_query |
Suggest a query for manual review | — |
MCP Client Setup
On first run, a default config is created automatically at ~/.config/mariadb-mcp/config.json (Linux/macOS) or %APPDATA%\mariadb-mcp\config.json (Windows). Edit it to add your connections.
Claude Code
Add to ~/.claude.json:
{
"mcpServers": {
"mariadb": {
"command": "npx",
"args": ["-y", "@cemalturkcann/mariadb-mcp-server"]
}
}
}
OpenCode
Add to your opencode.json:
{
"mcp": {
"mariadb": {
"type": "local",
"command": ["npx", "-y", "@cemalturkcann/mariadb-mcp-server"]
}
}
}
Other MCP Clients
Any MCP-compatible client can use this server. The binary name is mariadb-mcp-server and it communicates over stdio. To use a custom config path, set DB_MCP_CONFIG_PATH.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.