mcp-mysql mcp
v1.1.0 · MCP Tool · database · registry.pascalai.org
MySQL and MariaDB via FireDAC native driver. Operations: query (SELECT → rows JSON), execute (INSERT/UPDATE/DELETE/DDL), execute_tx (multiple statements in transaction), list_tables, describe (table columns), list_databases. Supports charset/collation config.
mysqlmariadbdatabasesqlfiredac
Input Parameters
| Parameter | Type | Description |
| operationrequired |
string |
Operation to perform. One of: query, execute, execute_tx, list_tables, describe, list_databases. |
| hostrequired |
string |
MySQL/MariaDB host or IP address (e.g. 'localhost', '192.168.1.10'). |
| portoptional |
integer |
MySQL port. Default: 3306. Default: 3306. |
| databaserequired |
string |
Database/schema name (e.g. 'myapp', 'wordpress'). |
| usernameoptional |
string |
MySQL username (e.g. 'root', 'app_user'). |
| passwordoptional |
string |
MySQL password. |
| sQLoptional |
string |
SQL statement. Required for query and execute operations. |
| sQLListoptional |
string |
JSON array string of SQL statements for execute_tx (e.g. '["INSERT ...","UPDATE ..."]'). All executed in a single transaction. |
| tableoptional |
string |
Table name. Required for describe operation. |
| schemaoptional |
string |
Schema/database filter. Optional for list_tables and describe (defaults to current database). |
| maxRowsoptional |
integer |
Maximum rows to return for query. Default: 100. Default: 100. |
| timeoutoptional |
integer |
Query timeout in seconds. Default: 30. Default: 30. |
| charsetoptional |
string |
Character set for connection (e.g. 'utf8mb4'). Recommended for Unicode support. |
Output Fields
| Field | Type | Description |
| ok |
boolean |
|
| rows |
array[object] |
|
| affected |
integer |
|
| tables |
array[object] |
|
| columns |
array[object] |
|
| databases |
array[string] |
|
| error |
string |
|
Examples
Run a SELECT query
// Input
{
"operation": "query",
"host": "localhost",
"database": "shop",
"username": "root",
"password": "secret",
"sQL": "SELECT id, email, created_at FROM users WHERE active = 1 ORDER BY created_at DESC",
"maxRows": 20
}
// Output
{
"ok": true,
"rows": [
{
"id": 1,
"email": "alice@example.com"
}
]
}
Insert a record
// Input
{
"operation": "execute",
"host": "localhost",
"database": "shop",
"username": "root",
"password": "secret",
"sQL": "INSERT INTO products (name, price) VALUES ('Widget', 9.99)"
}
// Output
{
"ok": true,
"affected": 1
}
Execute multiple statements in a transaction
// Input
{
"operation": "execute_tx",
"host": "localhost",
"database": "shop",
"username": "root",
"password": "secret",
"sQLList": "[\"UPDATE orders SET status='shipped' WHERE id=42\",\"INSERT INTO audit_log (action) VALUES ('ship_42')\"]"
}
// Output
{
"ok": true,
"affected": 2
}
List tables in a database
// Input
{
"operation": "list_tables",
"host": "localhost",
"database": "shop",
"username": "root",
"password": "secret"
}
// Output
{
"ok": true,
"tables": [
{
"TABLE_NAME": "orders"
},
{
"TABLE_NAME": "products"
}
]
}
Describe table columns
// Input
{
"operation": "describe",
"host": "localhost",
"database": "shop",
"username": "root",
"password": "secret",
"table": "orders"
}
// Output
{
"ok": true,
"columns": [
{
"COLUMN_NAME": "id",
"DATA_TYPE": "int"
}
]
}
List all databases
// Input
{
"operation": "list_databases",
"host": "localhost",
"database": "mysql",
"username": "root",
"password": "secret"
}
// Output
{
"ok": true,
"databases": [
"shop",
"wordpress",
"mysql"
]
}
Install & Discovery
Install
ppm install mcp-mysql
Get JSON Schema
GET /v1/packages/mcp-mysql/1.1.0/schema
Discover by keyword
GET /v1/mcp/discover?q=mysql
Discovery hint: Install with ppm install mcp-mysql or invoke remotely via POST /v1/invoke/mcp-mysql on the MCP Service.