A Model Context Protocol server for MariaDB/MySQL database operations with vector store support
MariaDB MCP server has 11 tools with complete input schemas and descriptions. Naming follows verb_noun convention (list_, get_, create_, delete_, search_, insert_). Descriptions are present but brief (avg 80 chars, below 194-char baseline). Parameters are typed and mostly described. Critical gaps: no output schemas documented, no error recovery guidance, no parameter constraints (enums, ranges), and destructive operations (delete_vector_store) lack confirmation patterns. Security validation present (SQL identifier checks, read-only mode enforcement) but not comprehensive. Tool composition is sound, each tool has single responsibility.
Creates a new database if it doesn't exist
Creates a table which stores embeddings with vector indexing
Deletes a vector store from the specified database
Executes a read-only SQL query against a specified database
Retrieves the schema (column names, types, nullability, keys) for a specific table
Retrieves table schema with foreign key relationship information
Inserts a batch of documents with optional metadata into a vector store
No output schemas documented. LLMs cannot predict response structure for downstream tool chaining. E.g., list_databases returns []string but no schema; get_table_schema returns map[string]Column but structure not formally declared.
Destructive operations (delete_vector_store) lack confirmation/dry-run pattern. No pre-execution warning or undo capability. Description does not warn of irreversibility.
Error responses lack recovery guidance. E.g., 'failed to list databases: %w' gives raw error; should suggest 'Check database permissions' or 'Verify MariaDB connection.' No error classification (retryable vs fatal).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Lists all accessible databases on the connected MariaDB server
Lists all tables within the specified database
Lists all vector stores (tables with indexed VECTOR columns) in a database
Searches a vector store for documents similar to a query
Parameter constraints missing. 'distance_function' has enum but 'limit' (search_vector_store) and 'threshold' lack min/max bounds. 'sql_query' (execute_sql) has no length limit or format guidance.
execute_sql description does not explain read-only enforcement or what happens if a write query is submitted. LLM may attempt INSERT/UPDATE and receive cryptic rejection.