Skip to content

Releases

MCPDBWizard for MariaDB 2.0.36

Choose a tag to compare

@srmadscience srmadscience released this 12 Nov 10:23

The first release of MCPDBWizard for MariaDB.

docker pull ghcr.io/srmadscience/mcpdbwizard-mariadb:2.0.36
docker pull docker.io/srmadscience/mcpdbwizard-mariadb:2.0.36

MCPDBWizard for MariaDB generates MCP servers from a MariaDB schema, as the Oracle and Postgres
products do from theirs: you select what to expose, and an agent reaches the database only through
typed tools for exactly that. See MCPDBWizard for MariaDB.

What it exposes

  • Stored procedures and functions, including members of Oracle-mode packages, with IN,
    OUT and INOUT parameters, ROW parameters as records, and a procedure's result sets.
    Cursor outputs need MariaDB 12.3 or later.
  • Tables: get by primary key, unique-key and index lookups, foreign-key children, and row
    inserts, updates and deletes where you allow them. New tables are read-only by default.
  • Sequences (NEXTVAL).
  • Your own SQL statements, each one a tool. MariaDB does not report a parameter's type, so a
    hint names it: where id = ? /* pId int */.

Each tool call runs in its own transaction, committed when the call succeeds and rolled back when it
fails, so a call that fails half way leaves nothing behind.

How values cross

Geometry as EWKT (SRID=4326;POINT(1 2)), VECTOR as an array of numbers, JSON as its text,
BOOLEAN as a number, binary as base64. MariaDB has no object, collection, INTERVAL or
time-zone types, so neither does this product.

Context Pinning

A URL parameter on the MCP endpoint (?CUSTOMER_NAME=...) reaches the database as a user variable
(@mcp_customer_name), so a routine can restrict what it returns to one customer. It is cleared and
set again at the start of every call, so one caller's value never reaches the next, although pooled
calls share sessions. Nothing needs installing in the database.

Supported versions

MariaDB 11.4, 11.8, 12.3 and 13.x. 10.11 is not supported: a login that did not create a routine
cannot read its source there.

Before you start

Grant the login SELECT, EXECUTE and SHOW CREATE ROUTINE on each database it reads, and
INSERT as well on each sequence it exposes. Without SHOW CREATE ROUTINE, routines with ROW
parameters cannot be described. See Connecting to MariaDB.

Not available on MariaDB

The SOAP service layer and the JSON / JSON-RPC external connectors are Oracle-only. The MCP server
is how a MariaDB schema is reached.