MCP server for one MySQL database: schema, read-only queries and guarded writes.
Connect Runs on your machine
claude mcp add mcp-mysql-client -e MYSQL_HOST=<MYSQL_HOST> -e MYSQL_PORT=<MYSQL_PORT> -e MYSQL_USER=<MYSQL_USER> -e MYSQL_PASS=<MYSQL_PASS> -e MYSQL_DB=<MYSQL_DB> -e MYSQL_SSL=<MYSQL_SSL> -e MYSQL_SSL_CA=<MYSQL_SSL_CA> -e ALLOW_INSERT_OPERATION=<ALLOW_INSERT_OPERATION> -e ALLOW_UPDATE_OPERATION=<ALLOW_UPDATE_OPERATION> -e ALLOW_DELETE_OPERATION=<ALLOW_DELETE_OPERATION> -e MYSQL_MAX_ROWS=<MYSQL_MAX_ROWS> -e MYSQL_TIMEOUT_MS=<MYSQL_TIMEOUT_MS> -- npx -y [email protected]
{
"mcpServers": {
"mcp-mysql-client": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>",
"MYSQL_PASS": "<MYSQL_PASS>",
"MYSQL_DB": "<MYSQL_DB>",
"MYSQL_SSL": "<MYSQL_SSL>",
"MYSQL_SSL_CA": "<MYSQL_SSL_CA>",
"ALLOW_INSERT_OPERATION": "<ALLOW_INSERT_OPERATION>",
"ALLOW_UPDATE_OPERATION": "<ALLOW_UPDATE_OPERATION>",
"ALLOW_DELETE_OPERATION": "<ALLOW_DELETE_OPERATION>",
"MYSQL_MAX_ROWS": "<MYSQL_MAX_ROWS>",
"MYSQL_TIMEOUT_MS": "<MYSQL_TIMEOUT_MS>"
}
}
}
}
{
"mcpServers": {
"mcp-mysql-client": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>",
"MYSQL_PASS": "<MYSQL_PASS>",
"MYSQL_DB": "<MYSQL_DB>",
"MYSQL_SSL": "<MYSQL_SSL>",
"MYSQL_SSL_CA": "<MYSQL_SSL_CA>",
"ALLOW_INSERT_OPERATION": "<ALLOW_INSERT_OPERATION>",
"ALLOW_UPDATE_OPERATION": "<ALLOW_UPDATE_OPERATION>",
"ALLOW_DELETE_OPERATION": "<ALLOW_DELETE_OPERATION>",
"MYSQL_MAX_ROWS": "<MYSQL_MAX_ROWS>",
"MYSQL_TIMEOUT_MS": "<MYSQL_TIMEOUT_MS>"
}
}
}
}
{
"servers": {
"mcp-mysql-client": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>",
"MYSQL_PASS": "<MYSQL_PASS>",
"MYSQL_DB": "<MYSQL_DB>",
"MYSQL_SSL": "<MYSQL_SSL>",
"MYSQL_SSL_CA": "<MYSQL_SSL_CA>",
"ALLOW_INSERT_OPERATION": "<ALLOW_INSERT_OPERATION>",
"ALLOW_UPDATE_OPERATION": "<ALLOW_UPDATE_OPERATION>",
"ALLOW_DELETE_OPERATION": "<ALLOW_DELETE_OPERATION>",
"MYSQL_MAX_ROWS": "<MYSQL_MAX_ROWS>",
"MYSQL_TIMEOUT_MS": "<MYSQL_TIMEOUT_MS>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
MYSQL_HOSTOptional | Database host. |
MYSQL_PORTOptional | Database port. |
MYSQL_USERRequired | MySQL user. Use one with the least privileges the task needs, never root. |
MYSQL_PASSOptional, secret | Password for that user. Treat it as a secret; MYSQL_PASS_FILE reads it from a file instead. |
MYSQL_DBRequired | The one database this server is bound to. No tool can leave it. |
MYSQL_SSLOptional | Require a TLS connection to the server. |
MYSQL_SSL_CAOptional | Path to the CA bundle verifying the server certificate; implies MYSQL_SSL. |
ALLOW_INSERT_OPERATIONOptional | Allow INSERT statements through the execute tool. |
ALLOW_UPDATE_OPERATIONOptional | Allow UPDATE statements through the execute tool. |
ALLOW_DELETE_OPERATIONOptional | Allow DELETE statements through the execute tool. |
MYSQL_MAX_ROWSOptional | Row cap for one read; the result is marked truncated when it is hit. |
MYSQL_TIMEOUT_MSOptional | Statement timeout in milliseconds; the connection is dropped on expiry. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 4 Nov 2026 |
| Last updated | 4 Nov 2026 |
| Registry name | io.github.gistrec/mcp-mysql-client |
More databases servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
