Skip to content
VS Code

MySQL Legacy MCP for VS Code

io.github.rufflet/mysql-legacy-mcp

Inspect and query MySQL 5.0–5.6; opt-in INSERT/UPDATE/DELETE/DDL. Live-verified 5.0–8.0.

client:VS Code transport:stdio runtime:npm

Install MySQL Legacy MCP in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "mysql-legacy-host",
      "description": "MYSQL_LEGACY_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-user",
      "description": "MYSQL_LEGACY_USER",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-password",
      "description": "MYSQL_LEGACY_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-port",
      "description": "MYSQL_LEGACY_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-database",
      "description": "MYSQL_LEGACY_DATABASE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-hide-system-databases",
      "description": "MYSQL_LEGACY_HIDE_SYSTEM_DATABASES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-query-timeout",
      "description": "MYSQL_LEGACY_QUERY_TIMEOUT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-max-rows",
      "description": "MYSQL_LEGACY_MAX_ROWS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-max-result-bytes",
      "description": "MYSQL_LEGACY_MAX_RESULT_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-connect-timeout",
      "description": "MYSQL_LEGACY_CONNECT_TIMEOUT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-pool-size",
      "description": "MYSQL_LEGACY_POOL_SIZE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-allow-insert",
      "description": "MYSQL_LEGACY_ALLOW_INSERT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-allow-update",
      "description": "MYSQL_LEGACY_ALLOW_UPDATE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-allow-delete",
      "description": "MYSQL_LEGACY_ALLOW_DELETE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-allow-ddl",
      "description": "MYSQL_LEGACY_ALLOW_DDL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mysql-legacy-disable-read-only-transactions",
      "description": "MYSQL_LEGACY_DISABLE_READ_ONLY_TRANSACTIONS",
      "password": true
    }
  ],
  "servers": {
    "mysql-legacy-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mysql-legacy-mcp"
      ],
      "env": {
        "MYSQL_LEGACY_HOST": "${input:mysql-legacy-host}",
        "MYSQL_LEGACY_USER": "${input:mysql-legacy-user}",
        "MYSQL_LEGACY_PASSWORD": "${input:mysql-legacy-password}",
        "MYSQL_LEGACY_PORT": "${input:mysql-legacy-port}",
        "MYSQL_LEGACY_DATABASE": "${input:mysql-legacy-database}",
        "MYSQL_LEGACY_HIDE_SYSTEM_DATABASES": "${input:mysql-legacy-hide-system-databases}",
        "MYSQL_LEGACY_QUERY_TIMEOUT": "${input:mysql-legacy-query-timeout}",
        "MYSQL_LEGACY_MAX_ROWS": "${input:mysql-legacy-max-rows}",
        "MYSQL_LEGACY_MAX_RESULT_BYTES": "${input:mysql-legacy-max-result-bytes}",
        "MYSQL_LEGACY_CONNECT_TIMEOUT": "${input:mysql-legacy-connect-timeout}",
        "MYSQL_LEGACY_POOL_SIZE": "${input:mysql-legacy-pool-size}",
        "MYSQL_LEGACY_ALLOW_INSERT": "${input:mysql-legacy-allow-insert}",
        "MYSQL_LEGACY_ALLOW_UPDATE": "${input:mysql-legacy-allow-update}",
        "MYSQL_LEGACY_ALLOW_DELETE": "${input:mysql-legacy-allow-delete}",
        "MYSQL_LEGACY_ALLOW_DDL": "${input:mysql-legacy-allow-ddl}",
        "MYSQL_LEGACY_DISABLE_READ_ONLY_TRANSACTIONS": "${input:mysql-legacy-disable-read-only-transactions}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

MySQL Legacy MCP in other clients