Gives agents read-only access to MySQL databases to inspect schemas and run queries.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add mysql-read-only --env MYSQL_DATABASE='<MYSQL_DATABASE>' --env MYSQL_HOST='<MYSQL_HOST>' --env MYSQL_PASSWORD='<MYSQL_PASSWORD>' --env MYSQL_PORT='<MYSQL_PORT>' --env MYSQL_USER='<MYSQL_USER>' -- npx -y @smithery/cli install @dpflucas/mysql-mcp-server --client claude~/.codex/config.toml
[mcp_servers.mysql-read-only]
command = "npx"
args = ["-y", "@smithery/cli", "install", "@dpflucas/mysql-mcp-server", "--client", "claude"]
env = { MYSQL_DATABASE = "<MYSQL_DATABASE>", MYSQL_HOST = "<MYSQL_HOST>", MYSQL_PASSWORD = "<MYSQL_PASSWORD>", MYSQL_PORT = "<MYSQL_PORT>", MYSQL_USER = "<MYSQL_USER>" }
# codex mcp add mysql-read-only --env MYSQL_DATABASE='<MYSQL_DATABASE>' --env MYSQL_HOST='<MYSQL_HOST>' --env MYSQL_PASSWORD='<MYSQL_PASSWORD>' --env MYSQL_PORT='<MYSQL_PORT>' --env MYSQL_USER='<MYSQL_USER>' -- npx -y @smithery/cli install @dpflucas/mysql-mcp-server --client claude~/.cursor/mcp.json
{
"mcpServers": {
"mysql-read-only": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@dpflucas/mysql-mcp-server",
"--client",
"claude"
],
"env": {
"MYSQL_DATABASE": "<MYSQL_DATABASE>",
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PASSWORD": "<MYSQL_PASSWORD>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"mysql-read-only": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@dpflucas/mysql-mcp-server",
"--client",
"claude"
],
"env": {
"MYSQL_DATABASE": "<MYSQL_DATABASE>",
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PASSWORD": "<MYSQL_PASSWORD>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"mysql-read-only": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@dpflucas/mysql-mcp-server",
"--client",
"claude"
],
"env": {
"MYSQL_DATABASE": "<MYSQL_DATABASE>",
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PASSWORD": "<MYSQL_PASSWORD>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"mysql-read-only": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@dpflucas/mysql-mcp-server",
"--client",
"claude"
],
"env": {
"MYSQL_DATABASE": "<MYSQL_DATABASE>",
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PASSWORD": "<MYSQL_PASSWORD>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"mysql-read-only": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@dpflucas/mysql-mcp-server",
"--client",
"claude"
],
"env": {
"MYSQL_DATABASE": "<MYSQL_DATABASE>",
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PASSWORD": "<MYSQL_PASSWORD>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>"
}
}
}
}Environment variables
MYSQL_DATABASEMYSQL_HOSTMYSQL_PASSWORDMYSQL_PORTMYSQL_USER
Replace the placeholders with your own credentials and keep them out of version control.