MariaDB, for the agent
you already code with.
Skills, tools, a real server.

Install one plugin and your coding agent gains 82 MariaDB skills and 28 MCP tools — it can read your schema, run SQL, version a migration and spin up a throwaway MariaDB instance to try it on first. Every tutorial here is something you can run in the next ten minutes.

Claude Code Codex OpenCode Pi
You say this…
Create a schema for a note-taking app,
deploy a MariaDB sandbox on port 3310
and run the schema on it.
The agent does this:
# Writing a SQL file optimized for MariaDB
echo "CREATE SCHEMA notes_app; …" > notes_schema.sql
sandbox.deploy(port=3310, password="…")
db.connect("root@127.0.0.1:3310")
db.execute_sql_script(sql_script="notes_schema.sql")
db.list_objects(schema_name="notes_app")
→ user, note, notebook, tag, note_tag

No Docker, no container runtime, no administrator rights, no cloud account — and no risk to a real database, because the sandbox is a throwaway server that lives in a folder you can delete.

Getting Started

Three steps take you from a bare checkout to an agent that has built a schema and deployed it on a running MariaDB server. The skills work immediately with no database at all; the MCP server is one setup command away.

1 Install into your harness

Claude Code and Codex install from the plugin marketplace in two commands. OpenCode merges one mcp block; Pi installs the repo as a package. The skills are live the moment the plugin loads — no database required.

Install the plugin →

2 Configure the MCP server

The server starts out allowed to reach nothing. One run of mariadb-shell -- mcp setup tells it which connections it may open and which folders it may touch. Passwords go into the shell's secret store, never into a config file the agent can read.

Configure access →

3 Build something real

The first tutorial is a complete round trip: the agent designs a Notes App schema using the MariaDB skills, deploys a throwaway sandbox server, runs the schema on it, and reads the objects back to prove it worked.

Nothing in it touches a database you care about, and the whole thing is undone by deleting the sandbox.

Start the first tutorial →
notes_app.sql — written by the agent
CREATE SCHEMA IF NOT EXISTS `notes_app`
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_uca1400_ai_ci;

-- A person who writes notes.
CREATE OR REPLACE TABLE `notes_app`.`user` (
  `id`         UUID NOT NULL DEFAULT UUID_v7(),
  `email`      VARCHAR(255) NOT NULL,
  `display_name` VARCHAR(120) NOT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_user_email` (`email`)
) ENGINE=InnoDB;

The native UUID type and UUID_v7() come from the skills, not from the model's memory — that is the whole point of shipping them.

Structured learning paths

Four paths, each one a progression where every tutorial builds on the last. Pick the one that matches what you are trying to do, not your experience level.

First Steps with the MariaDB AI Plugins

From a fresh install to an agent that can create a schema, run it on a throwaway server and read the result back. Start here if you have never pointed an AI agent at a database before — every step is reversible and nothing touches a real server.

3 tutorials · ~1 hour · Beginner
  1. 1
  2. 2
  3. 3
Start the path →

The Schema Lifecycle with MSM

A schema is never finished. This path takes the Notes App from a one-off create script to a versioned MariaDB Schema Management project with releases, a filled migration script and an in-place upgrade of a live install — the workflow that keeps a schema deployable to servers running any earlier version.

3 tutorials · ~2.5 hours · Intermediate
  1. 1
  2. 2
  3. 3
Start the path →

Operate and Optimize

The day-to-day work after the schema exists: managing throwaway servers to test against, reading an existing database you did not design, getting the agent to diagnose a slow query with EXPLAIN instead of guessing at indexes, and checking a schema against two MariaDB releases at once.

4 tutorials · ~2.5 hours · Intermediate
  1. 1
  2. 2
  3. 3
  4. 4
Start the path →

Build an API, or Move off MySQL

The two largest things the plugins automate end to end. Put REST endpoints in front of the Notes App schema with the MariaDB REST Service DDL, then drive a full MySQL-to-MariaDB migration with the migrator tooling.

2 tutorials · ~2 hours · Advanced
  1. 1
    Intermediate 40 min
  2. 2
Start the path →

Skills, an MCP server, and a shell

Installing a plugin gives you three separate things.

82 MariaDB skills

Reference material the agent reads when it becomes relevant: how ALTER TABLE behaves in MariaDB, how vector indexes work, which connector to use from Python or Java, what breaks when you move an application over from MySQL. Baseline MariaDB 11.8 LTS.

  • Work straight away — no database, no setup
  • Statement-level, function-level, connectors and topical layers
  • Vendored into the plugin, so they ship with a version you control
Browse the catalog

28 MCP tools

A live connection to a MariaDB server. The agent can list schemas, describe objects, run SQL and scripts, manage versioned schema projects, and deploy a throwaway server instance to try something dangerous on first.

  • db.* — connections, schemas, objects, SQL
  • msm.* — versioned schema projects and releases
  • sandbox.* — local throwaway MariaDB instances
Tool reference

mariadb-shell

MariaDB's command-line shell — a port of MySQL Shell — installed automatically the first time an agent starts the MCP server. The server runs inside it as a plugin, which is where the high-performance connections, the credential store and the sandbox handling come from.

  • It is also a perfectly good SQL client for you: run it and type \help
  • Minimum version 26.9.1; the launcher installs it if nothing suitable is on PATH
How it fits together

Safe by construction

The MCP server refuses everything it has not been told about. It cannot reach a connection you did not configure, and it cannot read or write a directory you did not allow. Give each MCP account only the privileges it needs — read-only on one schema is a perfectly good setting.

  • Connections are an allow-list, not a free-form host field
  • File access is an allow-list of paths
  • Passwords live in the shell's secret store, not in agent-readable config
Set the boundaries

Ready to point an agent at MariaDB?

Install takes two commands. The first tutorial takes twenty minutes and leaves nothing behind but a folder you can delete.