MySQL Legacy MCP

Registre officiel Données et bases de données

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

Que pouvez-vous faire avec MySQL Legacy MCP ?

  • Read-only SELECT tool with parser checks and result-size limits, wrapped in a read-only transaction on MySQL 5.6.5+
  • SHOW-based database, table, column, CREATE TABLE, and index inspection
  • Opt-in INSERT/UPDATE/DELETE/DDL tools, each disabled by default and gated by its own MYSQL_LEGACY_ALLOW_* flag; UPDATE and DELETE always require a WHERE clause
  • A small pooled set of MySQL connections (MYSQL_LEGACY_POOL_SIZE); no reliance on CTEs, JSON functions, or modern metadata columns

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package mysql-legacy-mcp
Claude Code
claude mcp add mysql-legacy-mcp -e 'MYSQL_LEGACY_HOST=<MYSQL_LEGACY_HOST>' -e 'MYSQL_LEGACY_USER=<MYSQL_LEGACY_USER>' -e 'MYSQL_LEGACY_PASSWORD=<your mysql_legacy_password>' -e 'MYSQL_LEGACY_PORT=3306' -e 'MYSQL_LEGACY_DATABASE=<MYSQL_LEGACY_DATABASE>' -e 'MYSQL_LEGACY_HIDE_SYSTEM_DATABASES=true' -e 'MYSQL_LEGACY_QUERY_TIMEOUT=10000' -e 'MYSQL_LEGACY_MAX_ROWS=200' -e 'MYSQL_LEGACY_MAX_RESULT_BYTES=262144' -e 'MYSQL_LEGACY_CONNECT_TIMEOUT=10000' -e 'MYSQL_LEGACY_POOL_SIZE=5' -e 'MYSQL_LEGACY_ALLOW_INSERT=false' -e 'MYSQL_LEGACY_ALLOW_UPDATE=false' -e 'MYSQL_LEGACY_ALLOW_DELETE=false' -e 'MYSQL_LEGACY_ALLOW_DDL=false' -e 'MYSQL_LEGACY_DISABLE_READ_ONLY_TRANSACTIONS=false' -- npx -y mysql-legacy-mcp@0.2.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mysql-legacy-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "mysql-legacy-mcp@0.2.1"
            ],
            "env": {
                "MYSQL_LEGACY_HOST": "<MYSQL_LEGACY_HOST>",
                "MYSQL_LEGACY_USER": "<MYSQL_LEGACY_USER>",
                "MYSQL_LEGACY_PASSWORD": "<your mysql_legacy_password>",
                "MYSQL_LEGACY_PORT": "3306",
                "MYSQL_LEGACY_DATABASE": "<MYSQL_LEGACY_DATABASE>",
                "MYSQL_LEGACY_HIDE_SYSTEM_DATABASES": "true",
                "MYSQL_LEGACY_QUERY_TIMEOUT": "10000",
                "MYSQL_LEGACY_MAX_ROWS": "200",
                "MYSQL_LEGACY_MAX_RESULT_BYTES": "262144",
                "MYSQL_LEGACY_CONNECT_TIMEOUT": "10000",
                "MYSQL_LEGACY_POOL_SIZE": "5",
                "MYSQL_LEGACY_ALLOW_INSERT": "false",
                "MYSQL_LEGACY_ALLOW_UPDATE": "false",
                "MYSQL_LEGACY_ALLOW_DELETE": "false",
                "MYSQL_LEGACY_ALLOW_DDL": "false",
                "MYSQL_LEGACY_DISABLE_READ_ONLY_TRANSACTIONS": "false"
            }
        }
    }
}

Variables d'environnement

  • MYSQL_LEGACY_HOST obligatoire Database host or local tunnel endpoint
  • MYSQL_LEGACY_USER obligatoire Dedicated database reader account
  • MYSQL_LEGACY_PASSWORD obligatoire secret Nonempty database account password
  • MYSQL_LEGACY_PORT TCP port, 1–65535
  • MYSQL_LEGACY_DATABASE Optional default database
  • MYSQL_LEGACY_HIDE_SYSTEM_DATABASES Hide mysql and information_schema from listings
  • MYSQL_LEGACY_QUERY_TIMEOUT Driver query timeout, 100–60000 milliseconds
  • MYSQL_LEGACY_MAX_ROWS SELECT response row limit, 1–1000
  • MYSQL_LEGACY_MAX_RESULT_BYTES SELECT row-data JSON byte limit, 1024–1048576
  • MYSQL_LEGACY_CONNECT_TIMEOUT Connection-establishment timeout, 100–60000 milliseconds
  • MYSQL_LEGACY_POOL_SIZE Pooled connection limit, 1–50
  • MYSQL_LEGACY_ALLOW_INSERT Enable the mysql_legacy_insert tool
  • MYSQL_LEGACY_ALLOW_UPDATE Enable the mysql_legacy_update tool (WHERE clause always required)
  • MYSQL_LEGACY_ALLOW_DELETE Enable the mysql_legacy_delete tool (WHERE clause always required)
  • MYSQL_LEGACY_ALLOW_DDL Enable the mysql_legacy_ddl tool (table-level statements only)
  • MYSQL_LEGACY_DISABLE_READ_ONLY_TRANSACTIONS Disable the read-only transaction wrap around mysql_legacy_select on MySQL 5.6.5+

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. MySQL Legacy MCP
  2. Is this for you?
  3. Requirements
  4. Where it is listed
  5. Quick install
  6. Compatibility
  7. Compared with modern MySQL MCP servers
  8. Features
  9. Tools
  10. Documentation
  11. Why this exists
  12. Contributing
  13. License

MySQL Legacy MCP

MCP server for legacy MySQL 5.0–5.6 databases through stdio. The package is on npm as mysql-legacy-mcp and in the official MCP Registry as io.github.Rufflet/mysql-legacy-mcp.

It uses MySQL 5.1-compatible SQL and SHOW metadata queries. Live MCP tests cover MySQL 5.0.51a, 5.1.73, 5.5.62, and 5.6.51. It is deliberately small: read-only by default, with INSERT/UPDATE/DELETE/DDL as opt-in tools disabled unless explicitly enabled; no TLS configuration, and no custom authentication or charset options.

Is this for you?

  • You need an AI agent to inspect a MySQL 5.0, 5.1, 5.5, or 5.6 database.
  • Your current MySQL MCP server assumes MySQL 5.7+, JSON functions, or newer information_schema fields.
  • You need schema inspection and SELECT queries, with write operations off by default and opt-in per statement type.

If you are seeing ER_NOT_SUPPORTED_AUTH_MODE, HANDSHAKE_INSECURE_AUTH, Old password authentication is not supported, legacy TLS errors, or garbled cp1251 / latin1 text, read Troubleshooting first. Those symptoms are not all solved by this package.

Requirements

  • Node.js 18.14.1 or later
  • npm
  • A dedicated MySQL account with only the required read and metadata privileges

Where it is listed

Installation is always local stdio via npm (npx -y mysql-legacy-mcp). Directory pages do not make that faster; they are discovery indexes. The official MCP Registry is the machine-readable source (io.github.Rufflet/mysql-legacy-mcp) that aggregators ingest, including env-var metadata from server.json. Clients that speak that registry can pre-fill configuration from it.

Maintainer submission status for other directories is in docs/RELEASE_CHECKLIST.md.

Quick install

Claude Code
claude mcp add --transport stdio mysql-legacy \
  --env MYSQL_LEGACY_HOST=127.0.0.1 \
  --env MYSQL_LEGACY_USER=legacy_reader \
  --env MYSQL_LEGACY_PASSWORD=replace-with-a-secret \
  --env MYSQL_LEGACY_DATABASE=legacy_app \
  -- npx -y mysql-legacy-mcp
Codex
codex mcp add mysql-legacy \
  --env MYSQL_LEGACY_HOST=127.0.0.1 \
  --env MYSQL_LEGACY_USER=legacy_reader \
  --env MYSQL_LEGACY_PASSWORD=replace-with-a-secret \
  --env MYSQL_LEGACY_DATABASE=legacy_app \
  -- npx -y mysql-legacy-mcp
Cursor and other clients
{
  "mcpServers": {
    "mysql-legacy": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mysql-legacy-mcp"],
      "env": {
        "MYSQL_LEGACY_HOST": "127.0.0.1",
        "MYSQL_LEGACY_USER": "legacy_reader",
        "MYSQL_LEGACY_PASSWORD": "replace-with-a-secret",
        "MYSQL_LEGACY_DATABASE": "legacy_app"
      }
    }
  }
}

Use the schema required by your client. Full copy-paste instructions for Claude Desktop, Codex, VS Code, Windsurf, Gemini, Trae, Qoder, and more are in the Installation guide.

Compatibility

MySQLStatus
5.0Verified: 5.0.51a
5.1Verified: 5.1.73
5.5Verified: 5.5.62
5.6Verified: 5.6.51
5.7Verified reference only: 5.7.44
8.0Not a target; default caching_sha2_password is unsupported

Each tested target passed all 11 tools — the 7 read-only tools plus the 4 opt-in write tools, with MYSQL_LEGACY_ALLOW_* flags checked both left at their default false and explicitly enabled — through a real MCP stdio session. On MySQL 5.6.5 and later, this also exercised the actual START TRANSACTION READ ONLY path used by mysql_legacy_select; below that version it exercised the silent plain-query fallback. Exact sources, test conditions, and the MySQL 8.0 boundary are recorded in the compatibility audit. This does not cover pre-4.1 old_password, custom connection charsets, TLS, or your server's exact patch level.

Compared with modern MySQL MCP servers

ServerStated MySQL baselineFocus
mysql-legacy-mcpVerified live: 5.0–5.6Legacy schema inspection and SELECT by default; opt-in INSERT/UPDATE/DELETE/DDL, with UPDATE/DELETE always requiring a WHERE clause
@benborla29/mcp-server-mysql5.7+; 8.0+ recommendedModern MySQL features such as TLS, SSH tunnels, and optional writes

This is a compatibility distinction, not a benchmark: choose the modern server for its modern-database features.

Features

  • Read-only SELECT tool with parser checks and result-size limits, wrapped in a read-only transaction on MySQL 5.6.5+
  • SHOW-based database, table, column, CREATE TABLE, and index inspection
  • Opt-in INSERT/UPDATE/DELETE/DDL tools, each disabled by default and gated by its own MYSQL_LEGACY_ALLOW_* flag; UPDATE and DELETE always require a WHERE clause
  • A small pooled set of MySQL connections (MYSQL_LEGACY_POOL_SIZE); no reliance on CTEs, JSON functions, or modern metadata columns

Tools

ToolPurpose
mysql_legacy_pingReturn VERSION()
mysql_legacy_selectRun one parsed SELECT statement
mysql_legacy_insertRun one INSERT statement (opt-in, MYSQL_LEGACY_ALLOW_INSERT)
mysql_legacy_updateRun one UPDATE statement with a required WHERE clause (opt-in, MYSQL_LEGACY_ALLOW_UPDATE)
mysql_legacy_deleteRun one DELETE statement with a required WHERE clause (opt-in, MYSQL_LEGACY_ALLOW_DELETE)
mysql_legacy_ddlRun one table-level CREATE/ALTER/DROP/TRUNCATE/RENAME statement (opt-in, MYSQL_LEGACY_ALLOW_DDL)
mysql_legacy_list_databasesList databases
mysql_legacy_list_tablesList tables and views
mysql_legacy_describe_tableShow columns
mysql_legacy_show_create_tableShow table DDL
mysql_legacy_list_indexesShow indexes

Documentation

Why this exists

This project came from a QA/fullstack workflow that needed AI-assisted inspection of a production MySQL 5.1 database. It is a focused utility for exploring legacy schemas and preparing migrations.

Contributing

See CONTRIBUTING.md for how to propose changes, run checks locally, and what evidence a compatibility claim needs. Quick start:

npm ci
npm run check
npm run smoke:static

For authorized database testing, see the smoke-test instructions in the compatibility audit.

License

MIT.

Questions fréquentes

Qu'est-ce que MySQL Legacy MCP ?

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

Comment installer MySQL Legacy MCP ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mysql-legacy-mcp -e 'MYSQL_LEGACY_HOST=<MYSQL_LEGACY_HOST>' -e 'MYSQL_LEGACY_USER=<MYSQL_LEGACY_USER>' -e 'MYSQL_LEGACY_PASSWORD=<your mysql_legacy_password>' -e 'MYSQL_LEGACY_PORT=3306' -e 'MYSQL_LEGACY_DATABASE=<MYSQL_LEGACY_DATABASE>' -e 'MYSQL_LEGACY_HIDE_SYSTEM_DATABASES=true' -e 'MYSQL_LEGACY_QUERY_TIMEOUT=10000' -e 'MYSQL_LEGACY_MAX_ROWS=200' -e 'MYSQL_LEGACY_MAX_RESULT_BYTES=262144' -e 'MYSQL_LEGACY_CONNECT_TIMEOUT=10000' -e 'MYSQL_LEGACY_POOL_SIZE=5' -e 'MYSQL_LEGACY_ALLOW_INSERT=false' -e 'MYSQL_LEGACY_ALLOW_UPDATE=false' -e 'MYSQL_LEGACY_ALLOW_DELETE=false' -e 'MYSQL_LEGACY_ALLOW_DDL=false' -e 'MYSQL_LEGACY_DISABLE_READ_ONLY_TRANSACTIONS=false' -- npx -y mysql-legacy-mcp@0.2.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour MySQL Legacy MCP ?

Oui. Il attend MYSQL_LEGACY_HOST, MYSQL_LEGACY_USER, MYSQL_LEGACY_PASSWORD, à renseigner dans sa configuration.

MySQL Legacy MCP est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient MySQL Legacy MCP ?

Il est publié par Rufflet. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.