@neverinfamous/mysql-mcp 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +14 -4
- package/.github/ISSUE_TEMPLATE/bug_report.md +7 -1
- package/.github/ISSUE_TEMPLATE/feature_request.md +6 -1
- package/.github/dependabot.yml +15 -0
- package/.github/pull_request_template.md +5 -0
- package/.github/workflows/codeql.yml +41 -42
- package/.github/workflows/docker-publish.yml +247 -210
- package/.github/workflows/publish-npm.yml +16 -6
- package/CHANGELOG.md +357 -22
- package/CODE_MODE.md +245 -0
- package/CODE_OF_CONDUCT.md +2 -0
- package/DOCKER_README.md +250 -161
- package/Dockerfile +2 -2
- package/README.md +239 -182
- package/SECURITY.md +0 -8
- package/VERSION +1 -1
- package/dist/__tests__/mocks/adapter.d.ts +3 -3
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
- package/dist/__tests__/mocks/adapter.js +51 -35
- package/dist/__tests__/mocks/adapter.js.map +1 -1
- package/dist/__tests__/mocks/index.d.ts +4 -4
- package/dist/__tests__/mocks/index.d.ts.map +1 -1
- package/dist/__tests__/mocks/index.js +2 -2
- package/dist/__tests__/mocks/index.js.map +1 -1
- package/dist/__tests__/mocks/mysql.d.ts +2 -2
- package/dist/__tests__/mocks/mysql.d.ts.map +1 -1
- package/dist/__tests__/mocks/mysql.js +14 -14
- package/dist/__tests__/mocks/mysql.js.map +1 -1
- package/dist/__tests__/setup.d.ts.map +1 -1
- package/dist/__tests__/setup.js +7 -7
- package/dist/__tests__/setup.js.map +1 -1
- package/dist/adapters/DatabaseAdapter.d.ts +2 -2
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +69 -40
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/mysql/MySQLAdapter.d.ts +14 -4
- package/dist/adapters/mysql/MySQLAdapter.d.ts.map +1 -1
- package/dist/adapters/mysql/MySQLAdapter.js +152 -116
- package/dist/adapters/mysql/MySQLAdapter.js.map +1 -1
- package/dist/adapters/mysql/SchemaManager.d.ts +1 -1
- package/dist/adapters/mysql/SchemaManager.d.ts.map +1 -1
- package/dist/adapters/mysql/SchemaManager.js +76 -56
- package/dist/adapters/mysql/SchemaManager.js.map +1 -1
- package/dist/adapters/mysql/index.d.ts +2 -2
- package/dist/adapters/mysql/index.js +2 -2
- package/dist/adapters/mysql/prompts/backupStrategy.d.ts +1 -1
- package/dist/adapters/mysql/prompts/backupStrategy.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/backupStrategy.js +21 -9
- package/dist/adapters/mysql/prompts/backupStrategy.js.map +1 -1
- package/dist/adapters/mysql/prompts/clusterSetup.d.ts +1 -1
- package/dist/adapters/mysql/prompts/clusterSetup.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/clusterSetup.js +3 -3
- package/dist/adapters/mysql/prompts/clusterSetup.js.map +1 -1
- package/dist/adapters/mysql/prompts/docstoreSetup.d.ts +1 -1
- package/dist/adapters/mysql/prompts/docstoreSetup.js +3 -3
- package/dist/adapters/mysql/prompts/docstoreSetup.js.map +1 -1
- package/dist/adapters/mysql/prompts/eventScheduler.d.ts +1 -1
- package/dist/adapters/mysql/prompts/eventScheduler.js +3 -3
- package/dist/adapters/mysql/prompts/eventScheduler.js.map +1 -1
- package/dist/adapters/mysql/prompts/healthCheck.d.ts +1 -1
- package/dist/adapters/mysql/prompts/healthCheck.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/healthCheck.js +10 -6
- package/dist/adapters/mysql/prompts/healthCheck.js.map +1 -1
- package/dist/adapters/mysql/prompts/index.d.ts +10 -3
- package/dist/adapters/mysql/prompts/index.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/index.js +106 -63
- package/dist/adapters/mysql/prompts/index.js.map +1 -1
- package/dist/adapters/mysql/prompts/indexTuning.d.ts +1 -1
- package/dist/adapters/mysql/prompts/indexTuning.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/indexTuning.js +11 -7
- package/dist/adapters/mysql/prompts/indexTuning.js.map +1 -1
- package/dist/adapters/mysql/prompts/mysqlshSetup.d.ts +1 -1
- package/dist/adapters/mysql/prompts/mysqlshSetup.js +4 -4
- package/dist/adapters/mysql/prompts/mysqlshSetup.js.map +1 -1
- package/dist/adapters/mysql/prompts/proxysqlSetup.d.ts +1 -1
- package/dist/adapters/mysql/prompts/proxysqlSetup.js +3 -3
- package/dist/adapters/mysql/prompts/proxysqlSetup.js.map +1 -1
- package/dist/adapters/mysql/prompts/replicationSetup.d.ts +1 -1
- package/dist/adapters/mysql/prompts/replicationSetup.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/replicationSetup.js +13 -7
- package/dist/adapters/mysql/prompts/replicationSetup.js.map +1 -1
- package/dist/adapters/mysql/prompts/routerSetup.d.ts +1 -1
- package/dist/adapters/mysql/prompts/routerSetup.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/routerSetup.js +8 -3
- package/dist/adapters/mysql/prompts/routerSetup.js.map +1 -1
- package/dist/adapters/mysql/prompts/spatialSetup.d.ts +1 -1
- package/dist/adapters/mysql/prompts/spatialSetup.js +3 -3
- package/dist/adapters/mysql/prompts/spatialSetup.js.map +1 -1
- package/dist/adapters/mysql/prompts/sysSchema.d.ts +1 -1
- package/dist/adapters/mysql/prompts/sysSchema.d.ts.map +1 -1
- package/dist/adapters/mysql/prompts/sysSchema.js +3 -3
- package/dist/adapters/mysql/prompts/sysSchema.js.map +1 -1
- package/dist/adapters/mysql/resources/capabilities.d.ts +2 -2
- package/dist/adapters/mysql/resources/capabilities.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/capabilities.js +19 -16
- package/dist/adapters/mysql/resources/capabilities.js.map +1 -1
- package/dist/adapters/mysql/resources/cluster.d.ts +2 -2
- package/dist/adapters/mysql/resources/cluster.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/cluster.js +17 -15
- package/dist/adapters/mysql/resources/cluster.js.map +1 -1
- package/dist/adapters/mysql/resources/docstore.d.ts +2 -2
- package/dist/adapters/mysql/resources/docstore.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/docstore.js +12 -12
- package/dist/adapters/mysql/resources/docstore.js.map +1 -1
- package/dist/adapters/mysql/resources/events.d.ts +2 -2
- package/dist/adapters/mysql/resources/events.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/events.js +12 -12
- package/dist/adapters/mysql/resources/events.js.map +1 -1
- package/dist/adapters/mysql/resources/health.d.ts +2 -2
- package/dist/adapters/mysql/resources/health.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/health.js +36 -32
- package/dist/adapters/mysql/resources/health.js.map +1 -1
- package/dist/adapters/mysql/resources/index.d.ts +11 -3
- package/dist/adapters/mysql/resources/index.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/index.js +28 -20
- package/dist/adapters/mysql/resources/index.js.map +1 -1
- package/dist/adapters/mysql/resources/indexes.d.ts +2 -2
- package/dist/adapters/mysql/resources/indexes.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/indexes.js +12 -12
- package/dist/adapters/mysql/resources/indexes.js.map +1 -1
- package/dist/adapters/mysql/resources/innodb.d.ts +2 -2
- package/dist/adapters/mysql/resources/innodb.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/innodb.js +37 -36
- package/dist/adapters/mysql/resources/innodb.js.map +1 -1
- package/dist/adapters/mysql/resources/locks.d.ts +2 -2
- package/dist/adapters/mysql/resources/locks.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/locks.js +14 -14
- package/dist/adapters/mysql/resources/locks.js.map +1 -1
- package/dist/adapters/mysql/resources/performance.d.ts +2 -2
- package/dist/adapters/mysql/resources/performance.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/performance.js +30 -29
- package/dist/adapters/mysql/resources/performance.js.map +1 -1
- package/dist/adapters/mysql/resources/pool.d.ts +2 -2
- package/dist/adapters/mysql/resources/pool.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/pool.js +9 -9
- package/dist/adapters/mysql/resources/pool.js.map +1 -1
- package/dist/adapters/mysql/resources/processlist.d.ts +2 -2
- package/dist/adapters/mysql/resources/processlist.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/processlist.js +9 -9
- package/dist/adapters/mysql/resources/processlist.js.map +1 -1
- package/dist/adapters/mysql/resources/replication.d.ts +2 -2
- package/dist/adapters/mysql/resources/replication.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/replication.js +42 -35
- package/dist/adapters/mysql/resources/replication.js.map +1 -1
- package/dist/adapters/mysql/resources/schema.d.ts +2 -2
- package/dist/adapters/mysql/resources/schema.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/schema.js +8 -8
- package/dist/adapters/mysql/resources/schema.js.map +1 -1
- package/dist/adapters/mysql/resources/spatial.d.ts +2 -2
- package/dist/adapters/mysql/resources/spatial.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/spatial.js +9 -9
- package/dist/adapters/mysql/resources/spatial.js.map +1 -1
- package/dist/adapters/mysql/resources/status.d.ts +2 -2
- package/dist/adapters/mysql/resources/status.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/status.js +10 -10
- package/dist/adapters/mysql/resources/status.js.map +1 -1
- package/dist/adapters/mysql/resources/sysschema.d.ts +2 -2
- package/dist/adapters/mysql/resources/sysschema.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/sysschema.js +10 -10
- package/dist/adapters/mysql/resources/sysschema.js.map +1 -1
- package/dist/adapters/mysql/resources/tables.d.ts +2 -2
- package/dist/adapters/mysql/resources/tables.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/tables.js +8 -8
- package/dist/adapters/mysql/resources/tables.js.map +1 -1
- package/dist/adapters/mysql/resources/variables.d.ts +2 -2
- package/dist/adapters/mysql/resources/variables.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/variables.js +10 -10
- package/dist/adapters/mysql/resources/variables.js.map +1 -1
- package/dist/adapters/mysql/tools/admin/backup.d.ts +2 -2
- package/dist/adapters/mysql/tools/admin/backup.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/admin/backup.js +193 -101
- package/dist/adapters/mysql/tools/admin/backup.js.map +1 -1
- package/dist/adapters/mysql/tools/admin/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/admin/index.js +6 -6
- package/dist/adapters/mysql/tools/admin/index.js.map +1 -1
- package/dist/adapters/mysql/tools/admin/maintenance.d.ts +2 -2
- package/dist/adapters/mysql/tools/admin/maintenance.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/admin/maintenance.js +97 -66
- package/dist/adapters/mysql/tools/admin/maintenance.js.map +1 -1
- package/dist/adapters/mysql/tools/admin/monitoring.d.ts +2 -2
- package/dist/adapters/mysql/tools/admin/monitoring.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/admin/monitoring.js +215 -79
- package/dist/adapters/mysql/tools/admin/monitoring.js.map +1 -1
- package/dist/adapters/mysql/tools/cluster/group-replication.d.ts +2 -2
- package/dist/adapters/mysql/tools/cluster/group-replication.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/cluster/group-replication.js +90 -74
- package/dist/adapters/mysql/tools/cluster/group-replication.js.map +1 -1
- package/dist/adapters/mysql/tools/cluster/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/cluster/index.js +3 -3
- package/dist/adapters/mysql/tools/cluster/index.js.map +1 -1
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts +2 -2
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.js +225 -97
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.js.map +1 -1
- package/dist/adapters/mysql/tools/codemode/index.d.ts +38 -0
- package/dist/adapters/mysql/tools/codemode/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/codemode/index.js +203 -0
- package/dist/adapters/mysql/tools/codemode/index.js.map +1 -0
- package/dist/adapters/mysql/tools/core.d.ts +2 -2
- package/dist/adapters/mysql/tools/core.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/core.js +234 -114
- package/dist/adapters/mysql/tools/core.js.map +1 -1
- package/dist/adapters/mysql/tools/docstore.d.ts +2 -2
- package/dist/adapters/mysql/tools/docstore.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/docstore.js +252 -117
- package/dist/adapters/mysql/tools/docstore.js.map +1 -1
- package/dist/adapters/mysql/tools/events.d.ts +2 -2
- package/dist/adapters/mysql/tools/events.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/events.js +236 -113
- package/dist/adapters/mysql/tools/events.js.map +1 -1
- package/dist/adapters/mysql/tools/index.d.ts +19 -19
- package/dist/adapters/mysql/tools/index.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/index.js +19 -19
- package/dist/adapters/mysql/tools/index.js.map +1 -1
- package/dist/adapters/mysql/tools/json/core.d.ts +2 -2
- package/dist/adapters/mysql/tools/json/core.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/json/core.js +225 -131
- package/dist/adapters/mysql/tools/json/core.js.map +1 -1
- package/dist/adapters/mysql/tools/json/enhanced.d.ts +2 -2
- package/dist/adapters/mysql/tools/json/enhanced.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/json/enhanced.js +274 -163
- package/dist/adapters/mysql/tools/json/enhanced.js.map +1 -1
- package/dist/adapters/mysql/tools/json/helpers.d.ts +2 -2
- package/dist/adapters/mysql/tools/json/helpers.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/json/helpers.js +141 -57
- package/dist/adapters/mysql/tools/json/helpers.js.map +1 -1
- package/dist/adapters/mysql/tools/json/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/json/index.js +6 -6
- package/dist/adapters/mysql/tools/json/index.js.map +1 -1
- package/dist/adapters/mysql/tools/partitioning.d.ts +2 -2
- package/dist/adapters/mysql/tools/partitioning.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/partitioning.js +180 -64
- package/dist/adapters/mysql/tools/partitioning.js.map +1 -1
- package/dist/adapters/mysql/tools/performance/analysis.d.ts +2 -2
- package/dist/adapters/mysql/tools/performance/analysis.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/performance/analysis.js +184 -101
- package/dist/adapters/mysql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/mysql/tools/performance/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/performance/index.js +4 -4
- package/dist/adapters/mysql/tools/performance/index.js.map +1 -1
- package/dist/adapters/mysql/tools/performance/optimization.d.ts +3 -3
- package/dist/adapters/mysql/tools/performance/optimization.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/performance/optimization.js +229 -77
- package/dist/adapters/mysql/tools/performance/optimization.js.map +1 -1
- package/dist/adapters/mysql/tools/proxysql.d.ts +2 -2
- package/dist/adapters/mysql/tools/proxysql.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/proxysql.js +213 -125
- package/dist/adapters/mysql/tools/proxysql.js.map +1 -1
- package/dist/adapters/mysql/tools/replication.d.ts +2 -2
- package/dist/adapters/mysql/tools/replication.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/replication.js +117 -66
- package/dist/adapters/mysql/tools/replication.js.map +1 -1
- package/dist/adapters/mysql/tools/roles.d.ts +2 -2
- package/dist/adapters/mysql/tools/roles.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/roles.js +276 -84
- package/dist/adapters/mysql/tools/roles.js.map +1 -1
- package/dist/adapters/mysql/tools/router.d.ts +2 -2
- package/dist/adapters/mysql/tools/router.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/router.js +174 -109
- package/dist/adapters/mysql/tools/router.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/constraints.d.ts +2 -2
- package/dist/adapters/mysql/tools/schema/constraints.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/constraints.js +24 -15
- package/dist/adapters/mysql/tools/schema/constraints.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/schema/index.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/index.js +7 -7
- package/dist/adapters/mysql/tools/schema/index.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/management.d.ts +2 -2
- package/dist/adapters/mysql/tools/schema/management.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/management.js +99 -42
- package/dist/adapters/mysql/tools/schema/management.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/routines.d.ts +2 -2
- package/dist/adapters/mysql/tools/schema/routines.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/routines.js +36 -19
- package/dist/adapters/mysql/tools/schema/routines.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts +2 -2
- package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/scheduled_events.js +26 -13
- package/dist/adapters/mysql/tools/schema/scheduled_events.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/triggers.d.ts +2 -2
- package/dist/adapters/mysql/tools/schema/triggers.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/triggers.js +24 -13
- package/dist/adapters/mysql/tools/schema/triggers.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/views.d.ts +2 -2
- package/dist/adapters/mysql/tools/schema/views.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/views.js +59 -28
- package/dist/adapters/mysql/tools/schema/views.js.map +1 -1
- package/dist/adapters/mysql/tools/security/audit.d.ts +2 -2
- package/dist/adapters/mysql/tools/security/audit.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/security/audit.js +61 -55
- package/dist/adapters/mysql/tools/security/audit.js.map +1 -1
- package/dist/adapters/mysql/tools/security/data-protection.d.ts +2 -2
- package/dist/adapters/mysql/tools/security/data-protection.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/security/data-protection.js +193 -80
- package/dist/adapters/mysql/tools/security/data-protection.js.map +1 -1
- package/dist/adapters/mysql/tools/security/encryption.d.ts +2 -2
- package/dist/adapters/mysql/tools/security/encryption.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/security/encryption.js +86 -67
- package/dist/adapters/mysql/tools/security/encryption.js.map +1 -1
- package/dist/adapters/mysql/tools/security/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/security/index.js +4 -4
- package/dist/adapters/mysql/tools/security/index.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/backup.d.ts +1 -1
- package/dist/adapters/mysql/tools/shell/backup.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/backup.js +122 -63
- package/dist/adapters/mysql/tools/shell/backup.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/common.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/common.js +61 -37
- package/dist/adapters/mysql/tools/shell/common.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/data-transfer.d.ts +1 -1
- package/dist/adapters/mysql/tools/shell/data-transfer.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/data-transfer.js +125 -69
- package/dist/adapters/mysql/tools/shell/data-transfer.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/shell/index.js +6 -6
- package/dist/adapters/mysql/tools/shell/index.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/info.d.ts +1 -1
- package/dist/adapters/mysql/tools/shell/info.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/info.js +12 -12
- package/dist/adapters/mysql/tools/shell/info.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/restore.d.ts +1 -1
- package/dist/adapters/mysql/tools/shell/restore.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/restore.js +128 -43
- package/dist/adapters/mysql/tools/shell/restore.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/utilities.d.ts +1 -1
- package/dist/adapters/mysql/tools/shell/utilities.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/utilities.js +42 -18
- package/dist/adapters/mysql/tools/shell/utilities.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/geometry.d.ts +2 -2
- package/dist/adapters/mysql/tools/spatial/geometry.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/geometry.js +85 -46
- package/dist/adapters/mysql/tools/spatial/geometry.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/spatial/index.js +5 -5
- package/dist/adapters/mysql/tools/spatial/index.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/operations.d.ts +2 -2
- package/dist/adapters/mysql/tools/spatial/operations.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/operations.js +175 -106
- package/dist/adapters/mysql/tools/spatial/operations.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/queries.d.ts +2 -2
- package/dist/adapters/mysql/tools/spatial/queries.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/queries.js +144 -100
- package/dist/adapters/mysql/tools/spatial/queries.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/setup.d.ts +2 -2
- package/dist/adapters/mysql/tools/spatial/setup.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/setup.js +122 -34
- package/dist/adapters/mysql/tools/spatial/setup.js.map +1 -1
- package/dist/adapters/mysql/tools/stats/comparative.d.ts +2 -2
- package/dist/adapters/mysql/tools/stats/comparative.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/stats/comparative.js +159 -107
- package/dist/adapters/mysql/tools/stats/comparative.js.map +1 -1
- package/dist/adapters/mysql/tools/stats/descriptive.d.ts +2 -2
- package/dist/adapters/mysql/tools/stats/descriptive.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/stats/descriptive.js +268 -205
- package/dist/adapters/mysql/tools/stats/descriptive.js.map +1 -1
- package/dist/adapters/mysql/tools/stats/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/stats/index.js +3 -3
- package/dist/adapters/mysql/tools/stats/index.js.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/activity.d.ts +2 -2
- package/dist/adapters/mysql/tools/sysschema/activity.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/activity.js +23 -23
- package/dist/adapters/mysql/tools/sysschema/activity.js.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/index.d.ts +2 -2
- package/dist/adapters/mysql/tools/sysschema/index.js +4 -4
- package/dist/adapters/mysql/tools/sysschema/index.js.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/performance.d.ts +2 -2
- package/dist/adapters/mysql/tools/sysschema/performance.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/performance.js +58 -43
- package/dist/adapters/mysql/tools/sysschema/performance.js.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/resources.d.ts +2 -2
- package/dist/adapters/mysql/tools/sysschema/resources.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/resources.js +58 -33
- package/dist/adapters/mysql/tools/sysschema/resources.js.map +1 -1
- package/dist/adapters/mysql/tools/text/fulltext.d.ts +4 -3
- package/dist/adapters/mysql/tools/text/fulltext.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/text/fulltext.js +214 -55
- package/dist/adapters/mysql/tools/text/fulltext.js.map +1 -1
- package/dist/adapters/mysql/tools/text/index.d.ts +3 -3
- package/dist/adapters/mysql/tools/text/index.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/text/index.js +6 -5
- package/dist/adapters/mysql/tools/text/index.js.map +1 -1
- package/dist/adapters/mysql/tools/text/processing.d.ts +2 -2
- package/dist/adapters/mysql/tools/text/processing.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/text/processing.js +175 -122
- package/dist/adapters/mysql/tools/text/processing.js.map +1 -1
- package/dist/adapters/mysql/tools/transactions.d.ts +2 -2
- package/dist/adapters/mysql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/transactions.js +162 -85
- package/dist/adapters/mysql/tools/transactions.js.map +1 -1
- package/dist/adapters/mysql/types/proxysql-types.d.ts +7 -2
- package/dist/adapters/mysql/types/proxysql-types.d.ts.map +1 -1
- package/dist/adapters/mysql/types/proxysql-types.js +52 -30
- package/dist/adapters/mysql/types/proxysql-types.js.map +1 -1
- package/dist/adapters/mysql/types/router-types.d.ts +1 -1
- package/dist/adapters/mysql/types/router-types.js +17 -17
- package/dist/adapters/mysql/types/router-types.js.map +1 -1
- package/dist/adapters/mysql/types/shell-types.d.ts +1 -2
- package/dist/adapters/mysql/types/shell-types.d.ts.map +1 -1
- package/dist/adapters/mysql/types/shell-types.js +255 -82
- package/dist/adapters/mysql/types/shell-types.js.map +1 -1
- package/dist/adapters/mysql/types.d.ts +976 -80
- package/dist/adapters/mysql/types.d.ts.map +1 -1
- package/dist/adapters/mysql/types.js +1317 -170
- package/dist/adapters/mysql/types.js.map +1 -1
- package/dist/auth/AuthorizationServerDiscovery.d.ts +1 -1
- package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -1
- package/dist/auth/AuthorizationServerDiscovery.js +16 -14
- package/dist/auth/AuthorizationServerDiscovery.js.map +1 -1
- package/dist/auth/OAuthResourceServer.d.ts +1 -1
- package/dist/auth/OAuthResourceServer.d.ts.map +1 -1
- package/dist/auth/OAuthResourceServer.js +4 -4
- package/dist/auth/OAuthResourceServer.js.map +1 -1
- package/dist/auth/TokenValidator.d.ts +1 -1
- package/dist/auth/TokenValidator.d.ts.map +1 -1
- package/dist/auth/TokenValidator.js +30 -20
- package/dist/auth/TokenValidator.js.map +1 -1
- package/dist/auth/errors.d.ts.map +1 -1
- package/dist/auth/errors.js +24 -24
- package/dist/auth/errors.js.map +1 -1
- package/dist/auth/index.d.ts +7 -7
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +6 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/middleware.d.ts +2 -2
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +28 -24
- package/dist/auth/middleware.js.map +1 -1
- package/dist/auth/scopes.d.ts +2 -2
- package/dist/auth/scopes.d.ts.map +1 -1
- package/dist/auth/scopes.js +23 -16
- package/dist/auth/scopes.js.map +1 -1
- package/dist/auth/types.d.ts +2 -2
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/cli/args.d.ts +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +82 -68
- package/dist/cli/args.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +44 -34
- package/dist/cli.js.map +1 -1
- package/dist/codemode/api.d.ts +69 -0
- package/dist/codemode/api.d.ts.map +1 -0
- package/dist/codemode/api.js +1035 -0
- package/dist/codemode/api.js.map +1 -0
- package/dist/codemode/index.d.ts +13 -0
- package/dist/codemode/index.d.ts.map +1 -0
- package/dist/codemode/index.js +17 -0
- package/dist/codemode/index.js.map +1 -0
- package/dist/codemode/sandbox-factory.d.ts +72 -0
- package/dist/codemode/sandbox-factory.d.ts.map +1 -0
- package/dist/codemode/sandbox-factory.js +88 -0
- package/dist/codemode/sandbox-factory.js.map +1 -0
- package/dist/codemode/sandbox.d.ts +96 -0
- package/dist/codemode/sandbox.d.ts.map +1 -0
- package/dist/codemode/sandbox.js +345 -0
- package/dist/codemode/sandbox.js.map +1 -0
- package/dist/codemode/security.d.ts +44 -0
- package/dist/codemode/security.d.ts.map +1 -0
- package/dist/codemode/security.js +149 -0
- package/dist/codemode/security.js.map +1 -0
- package/dist/codemode/types.d.ts +137 -0
- package/dist/codemode/types.d.ts.map +1 -0
- package/dist/codemode/types.js +46 -0
- package/dist/codemode/types.js.map +1 -0
- package/dist/codemode/worker-sandbox.d.ts +82 -0
- package/dist/codemode/worker-sandbox.d.ts.map +1 -0
- package/dist/codemode/worker-sandbox.js +244 -0
- package/dist/codemode/worker-sandbox.js.map +1 -0
- package/dist/codemode/worker-script.d.ts +8 -0
- package/dist/codemode/worker-script.d.ts.map +1 -0
- package/dist/codemode/worker-script.js +113 -0
- package/dist/codemode/worker-script.js.map +1 -0
- package/dist/constants/ServerInstructions.d.ts +2 -2
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +252 -36
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +12 -12
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +253 -214
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/filtering/ToolFilter.d.ts +2 -2
- package/dist/filtering/ToolFilter.d.ts.map +1 -1
- package/dist/filtering/ToolFilter.js +47 -36
- package/dist/filtering/ToolFilter.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/logging/McpLogging.d.ts +2 -2
- package/dist/logging/McpLogging.d.ts.map +1 -1
- package/dist/logging/McpLogging.js +16 -13
- package/dist/logging/McpLogging.js.map +1 -1
- package/dist/logging/index.d.ts +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/pool/ConnectionPool.d.ts +3 -3
- package/dist/pool/ConnectionPool.d.ts.map +1 -1
- package/dist/pool/ConnectionPool.js +30 -26
- package/dist/pool/ConnectionPool.js.map +1 -1
- package/dist/progress/ProgressReporter.d.ts +1 -1
- package/dist/progress/ProgressReporter.d.ts.map +1 -1
- package/dist/progress/ProgressReporter.js +5 -5
- package/dist/progress/ProgressReporter.js.map +1 -1
- package/dist/progress/index.d.ts +1 -1
- package/dist/progress/index.d.ts.map +1 -1
- package/dist/progress/index.js +1 -1
- package/dist/progress/index.js.map +1 -1
- package/dist/server/McpServer.d.ts +3 -3
- package/dist/server/McpServer.d.ts.map +1 -1
- package/dist/server/McpServer.js +58 -53
- package/dist/server/McpServer.js.map +1 -1
- package/dist/transports/http.d.ts +3 -3
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +36 -33
- package/dist/transports/http.js.map +1 -1
- package/dist/transports/index.d.ts +1 -1
- package/dist/transports/index.d.ts.map +1 -1
- package/dist/transports/index.js +1 -1
- package/dist/transports/index.js.map +1 -1
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/modules/database.d.ts +1 -1
- package/dist/types/modules/database.d.ts.map +1 -1
- package/dist/types/modules/errors.d.ts.map +1 -1
- package/dist/types/modules/errors.js +15 -15
- package/dist/types/modules/errors.js.map +1 -1
- package/dist/types/modules/oauth.d.ts +1 -1
- package/dist/types/modules/oauth.d.ts.map +1 -1
- package/dist/types/modules/query.d.ts +8 -8
- package/dist/types/modules/query.d.ts.map +1 -1
- package/dist/types/modules/server.d.ts +5 -3
- package/dist/types/modules/server.d.ts.map +1 -1
- package/dist/types/modules/tools.d.ts +6 -6
- package/dist/types/modules/tools.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +58 -55
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/promptGenerator.d.ts +1 -1
- package/dist/utils/promptGenerator.d.ts.map +1 -1
- package/dist/utils/promptGenerator.js +24 -16
- package/dist/utils/promptGenerator.js.map +1 -1
- package/dist/utils/validators.d.ts +21 -2
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +101 -13
- package/dist/utils/validators.js.map +1 -1
- package/eslint.config.js +117 -81
- package/package.json +66 -64
- package/releases/release-notes.md +32 -26
- package/releases/v2.0.0-release-notes.md +99 -51
- package/releases/v2.1.0-release-notes.md +14 -5
- package/releases/v2.2.0-release-notes.md +239 -0
- package/releases/v2.3.0-release-notes.md +191 -0
- package/server.json +1 -1
- package/src/__tests__/cli.test.ts +302 -247
- package/src/__tests__/index.test.ts +21 -21
- package/src/__tests__/mocks/adapter.ts +204 -163
- package/src/__tests__/mocks/index.ts +30 -23
- package/src/__tests__/mocks/mysql.ts +94 -84
- package/src/__tests__/perf.test.ts +207 -203
- package/src/__tests__/performance.test.ts +173 -164
- package/src/__tests__/setup.ts +26 -21
- package/src/adapters/DatabaseAdapter.ts +386 -340
- package/src/adapters/__tests__/DatabaseAdapter.test.ts +455 -377
- package/src/adapters/mysql/MySQLAdapter.ts +560 -486
- package/src/adapters/mysql/SchemaManager.ts +251 -208
- package/src/adapters/mysql/__tests__/MySQLAdapter.integration.test.ts +150 -147
- package/src/adapters/mysql/__tests__/MySQLAdapter.test.ts +590 -477
- package/src/adapters/mysql/__tests__/SchemaManager.test.ts +196 -154
- package/src/adapters/mysql/index.ts +2 -2
- package/src/adapters/mysql/prompts/__tests__/indexTuning.test.ts +33 -26
- package/src/adapters/mysql/prompts/__tests__/prompts.test.ts +277 -239
- package/src/adapters/mysql/prompts/backupStrategy.ts +29 -17
- package/src/adapters/mysql/prompts/clusterSetup.ts +11 -10
- package/src/adapters/mysql/prompts/docstoreSetup.ts +10 -10
- package/src/adapters/mysql/prompts/eventScheduler.ts +10 -10
- package/src/adapters/mysql/prompts/healthCheck.ts +20 -15
- package/src/adapters/mysql/prompts/index.ts +202 -145
- package/src/adapters/mysql/prompts/indexTuning.ts +22 -17
- package/src/adapters/mysql/prompts/mysqlshSetup.ts +11 -11
- package/src/adapters/mysql/prompts/proxysqlSetup.ts +10 -10
- package/src/adapters/mysql/prompts/replicationSetup.ts +24 -16
- package/src/adapters/mysql/prompts/routerSetup.ts +15 -10
- package/src/adapters/mysql/prompts/spatialSetup.ts +10 -10
- package/src/adapters/mysql/prompts/sysSchema.ts +11 -10
- package/src/adapters/mysql/resources/__tests__/capabilities.test.ts +118 -47
- package/src/adapters/mysql/resources/__tests__/cluster.test.ts +163 -104
- package/src/adapters/mysql/resources/__tests__/docstore.test.ts +88 -81
- package/src/adapters/mysql/resources/__tests__/events.test.ts +94 -83
- package/src/adapters/mysql/resources/__tests__/health.test.ts +131 -91
- package/src/adapters/mysql/resources/__tests__/indexes.test.ts +125 -102
- package/src/adapters/mysql/resources/__tests__/innodb.test.ts +86 -62
- package/src/adapters/mysql/resources/__tests__/locks.test.ts +142 -104
- package/src/adapters/mysql/resources/__tests__/performance.test.ts +81 -58
- package/src/adapters/mysql/resources/__tests__/pool.test.ts +45 -40
- package/src/adapters/mysql/resources/__tests__/processlist.test.ts +39 -23
- package/src/adapters/mysql/resources/__tests__/replication.test.ts +265 -211
- package/src/adapters/mysql/resources/__tests__/resources.test.ts +121 -109
- package/src/adapters/mysql/resources/__tests__/schema.test.ts +29 -23
- package/src/adapters/mysql/resources/__tests__/spatial.test.ts +58 -45
- package/src/adapters/mysql/resources/__tests__/status.test.ts +62 -45
- package/src/adapters/mysql/resources/__tests__/sysschema.test.ts +99 -60
- package/src/adapters/mysql/resources/__tests__/tables.test.ts +41 -32
- package/src/adapters/mysql/resources/__tests__/variables.test.ts +77 -49
- package/src/adapters/mysql/resources/capabilities.ts +61 -42
- package/src/adapters/mysql/resources/cluster.ts +58 -49
- package/src/adapters/mysql/resources/docstore.ts +46 -41
- package/src/adapters/mysql/resources/events.ts +37 -31
- package/src/adapters/mysql/resources/health.ts +98 -74
- package/src/adapters/mysql/resources/index.ts +55 -47
- package/src/adapters/mysql/resources/indexes.ts +66 -51
- package/src/adapters/mysql/resources/innodb.ts +98 -81
- package/src/adapters/mysql/resources/locks.ts +43 -40
- package/src/adapters/mysql/resources/performance.ts +80 -67
- package/src/adapters/mysql/resources/pool.ts +23 -20
- package/src/adapters/mysql/resources/processlist.ts +23 -18
- package/src/adapters/mysql/resources/replication.ts +124 -105
- package/src/adapters/mysql/resources/schema.ts +23 -18
- package/src/adapters/mysql/resources/spatial.ts +31 -26
- package/src/adapters/mysql/resources/status.ts +27 -22
- package/src/adapters/mysql/resources/sysschema.ts +41 -36
- package/src/adapters/mysql/resources/tables.ts +23 -18
- package/src/adapters/mysql/resources/variables.ts +27 -22
- package/src/adapters/mysql/tools/__tests__/cluster.test.ts +419 -311
- package/src/adapters/mysql/tools/__tests__/core.test.ts +701 -382
- package/src/adapters/mysql/tools/__tests__/docstore.test.ts +782 -413
- package/src/adapters/mysql/tools/__tests__/events.test.ts +806 -486
- package/src/adapters/mysql/tools/__tests__/json_core.test.ts +326 -259
- package/src/adapters/mysql/tools/__tests__/json_enhanced.test.ts +452 -352
- package/src/adapters/mysql/tools/__tests__/json_helpers.test.ts +203 -128
- package/src/adapters/mysql/tools/__tests__/proxysql.test.ts +576 -340
- package/src/adapters/mysql/tools/__tests__/replication.test.ts +796 -390
- package/src/adapters/mysql/tools/__tests__/roles.test.ts +423 -166
- package/src/adapters/mysql/tools/__tests__/router.test.ts +644 -540
- package/src/adapters/mysql/tools/__tests__/security.test.ts +746 -421
- package/src/adapters/mysql/tools/__tests__/security_injection.test.ts +246 -173
- package/src/adapters/mysql/tools/__tests__/security_integration.test.ts +244 -205
- package/src/adapters/mysql/tools/__tests__/spatial.test.ts +443 -298
- package/src/adapters/mysql/tools/__tests__/spatial_handler.test.ts +535 -150
- package/src/adapters/mysql/tools/__tests__/stats.test.ts +861 -553
- package/src/adapters/mysql/tools/__tests__/transactions.test.ts +452 -263
- package/src/adapters/mysql/tools/admin/__tests__/backup.test.ts +612 -372
- package/src/adapters/mysql/tools/admin/__tests__/maintenance.test.ts +550 -257
- package/src/adapters/mysql/tools/admin/__tests__/monitoring.test.ts +549 -352
- package/src/adapters/mysql/tools/admin/backup.ts +339 -215
- package/src/adapters/mysql/tools/admin/index.ts +46 -46
- package/src/adapters/mysql/tools/admin/maintenance.ts +180 -130
- package/src/adapters/mysql/tools/admin/monitoring.ts +373 -199
- package/src/adapters/mysql/tools/cluster/__tests__/group-replication.test.ts +200 -186
- package/src/adapters/mysql/tools/cluster/__tests__/innodb-cluster.test.ts +399 -95
- package/src/adapters/mysql/tools/cluster/group-replication.ts +218 -183
- package/src/adapters/mysql/tools/cluster/index.ts +27 -27
- package/src/adapters/mysql/tools/cluster/innodb-cluster.ts +413 -251
- package/src/adapters/mysql/tools/codemode/index.ts +249 -0
- package/src/adapters/mysql/tools/core.ts +425 -285
- package/src/adapters/mysql/tools/docstore.ts +478 -276
- package/src/adapters/mysql/tools/events.ts +441 -285
- package/src/adapters/mysql/tools/index.ts +31 -20
- package/src/adapters/mysql/tools/json/__tests__/core.test.ts +456 -199
- package/src/adapters/mysql/tools/json/__tests__/enhanced.test.ts +554 -298
- package/src/adapters/mysql/tools/json/__tests__/helpers.test.ts +195 -74
- package/src/adapters/mysql/tools/json/__tests__/validation.test.ts +106 -72
- package/src/adapters/mysql/tools/json/core.ts +368 -263
- package/src/adapters/mysql/tools/json/enhanced.ts +368 -229
- package/src/adapters/mysql/tools/json/helpers.ts +205 -113
- package/src/adapters/mysql/tools/json/index.ts +46 -46
- package/src/adapters/mysql/tools/partitioning.ts +289 -140
- package/src/adapters/mysql/tools/performance/__tests__/analysis.test.ts +664 -249
- package/src/adapters/mysql/tools/performance/__tests__/optimization.test.ts +436 -179
- package/src/adapters/mysql/tools/performance/analysis.ts +319 -215
- package/src/adapters/mysql/tools/performance/index.ts +33 -33
- package/src/adapters/mysql/tools/performance/optimization.ts +438 -183
- package/src/adapters/mysql/tools/proxysql.ts +462 -320
- package/src/adapters/mysql/tools/replication.ts +233 -180
- package/src/adapters/mysql/tools/roles.ts +429 -171
- package/src/adapters/mysql/tools/router.ts +410 -292
- package/src/adapters/mysql/tools/schema/__tests__/constraints.test.ts +157 -82
- package/src/adapters/mysql/tools/schema/__tests__/management.test.ts +226 -101
- package/src/adapters/mysql/tools/schema/__tests__/routines.test.ts +80 -35
- package/src/adapters/mysql/tools/schema/__tests__/scheduled_events.test.ts +59 -40
- package/src/adapters/mysql/tools/schema/__tests__/triggers.test.ts +65 -40
- package/src/adapters/mysql/tools/schema/__tests__/views.test.ts +146 -77
- package/src/adapters/mysql/tools/schema/constraints.ts +61 -42
- package/src/adapters/mysql/tools/schema/index.ts +26 -35
- package/src/adapters/mysql/tools/schema/management.ts +167 -94
- package/src/adapters/mysql/tools/schema/routines.ts +79 -48
- package/src/adapters/mysql/tools/schema/scheduled_events.ts +53 -32
- package/src/adapters/mysql/tools/schema/triggers.ts +51 -33
- package/src/adapters/mysql/tools/schema/views.ts +96 -53
- package/src/adapters/mysql/tools/security/__tests__/audit.test.ts +216 -158
- package/src/adapters/mysql/tools/security/__tests__/data-protection.test.ts +154 -98
- package/src/adapters/mysql/tools/security/__tests__/encryption.test.ts +174 -138
- package/src/adapters/mysql/tools/security/audit.ts +213 -193
- package/src/adapters/mysql/tools/security/data-protection.ts +342 -198
- package/src/adapters/mysql/tools/security/encryption.ts +233 -193
- package/src/adapters/mysql/tools/security/index.ts +26 -26
- package/src/adapters/mysql/tools/shell/__tests__/backup.test.ts +443 -283
- package/src/adapters/mysql/tools/shell/__tests__/common.test.ts +183 -130
- package/src/adapters/mysql/tools/shell/__tests__/data-transfer.test.ts +516 -353
- package/src/adapters/mysql/tools/shell/__tests__/info.test.ts +65 -63
- package/src/adapters/mysql/tools/shell/__tests__/restore.test.ts +260 -174
- package/src/adapters/mysql/tools/shell/__tests__/utilities.test.ts +161 -143
- package/src/adapters/mysql/tools/shell/backup.ts +280 -188
- package/src/adapters/mysql/tools/shell/common.ts +203 -153
- package/src/adapters/mysql/tools/shell/data-transfer.ts +286 -200
- package/src/adapters/mysql/tools/shell/index.ts +29 -29
- package/src/adapters/mysql/tools/shell/info.ts +35 -31
- package/src/adapters/mysql/tools/shell/restore.ts +236 -121
- package/src/adapters/mysql/tools/shell/utilities.ts +86 -45
- package/src/adapters/mysql/tools/spatial/__tests__/geometry.test.ts +129 -89
- package/src/adapters/mysql/tools/spatial/__tests__/operations.test.ts +284 -148
- package/src/adapters/mysql/tools/spatial/__tests__/queries.test.ts +340 -245
- package/src/adapters/mysql/tools/spatial/geometry.ts +120 -74
- package/src/adapters/mysql/tools/spatial/index.ts +33 -33
- package/src/adapters/mysql/tools/spatial/operations.ts +254 -171
- package/src/adapters/mysql/tools/spatial/queries.ts +221 -165
- package/src/adapters/mysql/tools/spatial/setup.ts +180 -73
- package/src/adapters/mysql/tools/stats/__tests__/comparative.test.ts +188 -130
- package/src/adapters/mysql/tools/stats/comparative.ts +261 -187
- package/src/adapters/mysql/tools/stats/descriptive.ts +414 -322
- package/src/adapters/mysql/tools/stats/index.ts +23 -23
- package/src/adapters/mysql/tools/sysschema/__tests__/activity.test.ts +99 -71
- package/src/adapters/mysql/tools/sysschema/__tests__/io_summary_fix.test.ts +21 -18
- package/src/adapters/mysql/tools/sysschema/__tests__/performance.test.ts +149 -108
- package/src/adapters/mysql/tools/sysschema/__tests__/resources.test.ts +243 -104
- package/src/adapters/mysql/tools/sysschema/activity.ts +72 -64
- package/src/adapters/mysql/tools/sysschema/index.ts +24 -24
- package/src/adapters/mysql/tools/sysschema/performance.ts +140 -115
- package/src/adapters/mysql/tools/sysschema/resources.ts +140 -99
- package/src/adapters/mysql/tools/text/__tests__/fulltext.test.ts +526 -145
- package/src/adapters/mysql/tools/text/__tests__/processing.test.ts +452 -193
- package/src/adapters/mysql/tools/text/fulltext.ts +327 -123
- package/src/adapters/mysql/tools/text/index.ts +32 -30
- package/src/adapters/mysql/tools/text/processing.ts +281 -212
- package/src/adapters/mysql/tools/transactions.ts +288 -197
- package/src/adapters/mysql/types/__tests__/shell-types.test.ts +204 -202
- package/src/adapters/mysql/types/proxysql-types.ts +142 -109
- package/src/adapters/mysql/types/router-types.ts +36 -36
- package/src/adapters/mysql/types/shell-types.ts +280 -94
- package/src/adapters/mysql/types.ts +1475 -164
- package/src/auth/AuthorizationServerDiscovery.ts +127 -113
- package/src/auth/OAuthResourceServer.ts +67 -62
- package/src/auth/TokenValidator.ts +136 -119
- package/src/auth/__tests__/AuthorizationServerDiscovery.test.ts +295 -274
- package/src/auth/__tests__/OAuthResourceServer.test.ts +180 -169
- package/src/auth/__tests__/TokenValidator.test.ts +297 -285
- package/src/auth/__tests__/errors.test.ts +180 -175
- package/src/auth/__tests__/middleware.test.ts +281 -247
- package/src/auth/__tests__/scopes.test.ts +136 -134
- package/src/auth/errors.ts +56 -56
- package/src/auth/index.ts +23 -17
- package/src/auth/middleware.ts +161 -139
- package/src/auth/scopes.ts +134 -107
- package/src/auth/types.ts +155 -155
- package/src/cli/__tests__/args.test.ts +241 -216
- package/src/cli/__tests__/main.test.ts +191 -158
- package/src/cli/args.ts +285 -258
- package/src/cli.ts +150 -127
- package/src/codemode/api.ts +1224 -0
- package/src/codemode/index.ts +51 -0
- package/src/codemode/sandbox-factory.ts +146 -0
- package/src/codemode/sandbox.ts +450 -0
- package/src/codemode/security.ts +188 -0
- package/src/codemode/types.ts +194 -0
- package/src/codemode/worker-sandbox.ts +326 -0
- package/src/codemode/worker-script.ts +144 -0
- package/src/constants/ServerInstructions.ts +295 -70
- package/src/filtering/ToolConstants.ts +311 -272
- package/src/filtering/ToolFilter.ts +254 -220
- package/src/filtering/__tests__/ToolFilter.test.ts +469 -396
- package/src/index.ts +62 -57
- package/src/logging/McpLogging.ts +128 -119
- package/src/logging/__tests__/McpLogging.test.ts +223 -223
- package/src/logging/index.ts +2 -2
- package/src/pool/ConnectionPool.ts +260 -246
- package/src/pool/__tests__/ConnectionPool.test.ts +452 -418
- package/src/progress/ProgressReporter.ts +123 -123
- package/src/progress/__tests__/ProgressReporter.test.ts +235 -229
- package/src/progress/index.ts +6 -2
- package/src/server/McpServer.ts +305 -285
- package/src/server/__tests__/McpServer.test.ts +333 -291
- package/src/transports/__tests__/http.test.ts +658 -527
- package/src/transports/http.ts +237 -203
- package/src/transports/index.ts +6 -2
- package/src/types/__tests__/types.test.ts +197 -193
- package/src/types/index.ts +49 -37
- package/src/types/modules/database.ts +65 -63
- package/src/types/modules/errors.ts +41 -37
- package/src/types/modules/oauth.ts +46 -46
- package/src/types/modules/query.ts +75 -75
- package/src/types/modules/server.ts +21 -18
- package/src/types/modules/tools.ts +182 -178
- package/src/utils/__tests__/logger.test.ts +424 -414
- package/src/utils/__tests__/validators.test.ts +250 -165
- package/src/utils/logger.ts +344 -330
- package/src/utils/promptGenerator.ts +58 -47
- package/src/utils/validators.ts +217 -91
- package/tsconfig.json +41 -50
- package/vitest.config.ts +23 -23
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# mysql-mcp v2.2.0 Release Notes
|
|
2
|
+
|
|
3
|
+
**Release Date:** February 8, 2026
|
|
4
|
+
**Status:** Production/Stable
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 🎉 Release Highlights
|
|
9
|
+
|
|
10
|
+
**mysql-mcp v2.2.0** is a comprehensive stabilization and hardening release. Every tool group now implements the **P154 Object Existence Verification** pattern, returning structured `{ exists: false }` responses instead of raw MySQL errors. Combined with universal graceful error handling, payload optimization, SQL injection hardening, and 20+ new server instruction sections, this release transforms the developer and AI-agent experience.
|
|
11
|
+
|
|
12
|
+
### At a Glance
|
|
13
|
+
|
|
14
|
+
- **~120 Bug Fixes** — P154 existence checks across all 23+ tool groups, graceful error handling, payload reductions, response consistency
|
|
15
|
+
- **~55 Behavioral Changes** — Default limits, payload optimization (P137), tool group migration, Node.js 24 LTS baseline
|
|
16
|
+
- **~20 New Features** — Summary modes, new tool (`mysql_fulltext_drop`), new parameters, comprehensive ServerInstructions
|
|
17
|
+
- **6 Security Items** — CVE fixes (hono), SQL injection hardening (5 categories), dependency cleanup
|
|
18
|
+
- **8 Dependency Bumps** — MCP SDK 1.26.0, mysql2, zod, vitest, and more
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 🔒 Security
|
|
23
|
+
|
|
24
|
+
### SQL Injection Hardening
|
|
25
|
+
|
|
26
|
+
- **Role Tools** — Added `validateIdentifier()` for role names and `validateMySQLUserHost()` for user/host values across all 5 role tool handlers
|
|
27
|
+
- **Privilege Allowlist** — Added `validateMySQLPrivilege()` with 30+ valid MySQL privilege keywords for GRANT statement validation
|
|
28
|
+
- **Subquery Detection** — Blocked `(SELECT ...` pattern in WHERE clauses to prevent data exfiltration
|
|
29
|
+
- **Isolation Level Allowlist** — Explicit allowlist validation for transaction isolation levels
|
|
30
|
+
- **LIKE Pattern Escaping** — `mysql_role_list` now escapes user-supplied LIKE patterns
|
|
31
|
+
|
|
32
|
+
### CVE Fixes
|
|
33
|
+
|
|
34
|
+
- **hono Multiple Vulnerabilities** — Fixed JWT algorithm confusion, XSS in ErrorBoundary, Web Cache Deception, IPv4 validation bypass, and arbitrary key read in serve static middleware
|
|
35
|
+
|
|
36
|
+
### Dependency Cleanup
|
|
37
|
+
|
|
38
|
+
- Removed unused `commander`, `cors`, and `@types/cors` to reduce attack surface
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 🐛 Bug Fixes (Highlights)
|
|
43
|
+
|
|
44
|
+
### Universal P154 Existence Checks
|
|
45
|
+
|
|
46
|
+
Every tool group now returns `{ exists: false, table/schema/collection }` for nonexistent objects instead of raw MySQL errors or ambiguous empty arrays:
|
|
47
|
+
|
|
48
|
+
- **Core** — `mysql_describe_table`, `mysql_get_indexes`, `mysql_table_stats`, `mysql_index_recommendation`, `mysql_create_index`, `mysql_force_index`
|
|
49
|
+
- **Schema** — `mysql_list_views`, `mysql_list_triggers`, `mysql_list_events`, `mysql_list_stored_procedures`, `mysql_list_functions`, `mysql_list_constraints`
|
|
50
|
+
- **Text** — All 6 text tools
|
|
51
|
+
- **Fulltext** — All 5 fulltext tools
|
|
52
|
+
- **JSON** — All 15 table-querying JSON tools
|
|
53
|
+
- **Stats** — All 8 stats tools
|
|
54
|
+
- **Spatial** — All 12 spatial tools
|
|
55
|
+
- **Admin** — `mysql_flush_tables`, `mysql_index_usage`, `mysql_import_data`, `mysql_export_table`
|
|
56
|
+
- **Performance** — `mysql_explain`, `mysql_explain_analyze`, `mysql_optimizer_trace`
|
|
57
|
+
- **Events** — `mysql_event_status`, `mysql_event_list`
|
|
58
|
+
- **Roles** — `mysql_user_roles`, `mysql_role_grants`
|
|
59
|
+
- **Security** — `mysql_security_user_privileges`, `mysql_security_sensitive_tables`
|
|
60
|
+
- **Document Store** — `mysql_doc_collection_info`, `mysql_doc_find`, `mysql_doc_list_collections`
|
|
61
|
+
- **Sys Schema** — `mysql_sys_schema_stats`
|
|
62
|
+
- **Partitioning** — `mysql_partition_info`, `mysql_binlog_events`
|
|
63
|
+
- **Shell** — All 8 shell tools
|
|
64
|
+
- **Cluster** — `mysql_cluster_instances`, `mysql_cluster_topology`
|
|
65
|
+
- **ProxySQL** — Credential redaction for `password`/`credentials` variables
|
|
66
|
+
- **Router** — All 9 router tools return `{ available: false, reason }` for unreachable API
|
|
67
|
+
|
|
68
|
+
### Graceful Error Handling
|
|
69
|
+
|
|
70
|
+
Create/drop operations now return structured `{ success: false, reason }` instead of raw errors:
|
|
71
|
+
|
|
72
|
+
- `mysql_create_table`, `mysql_drop_table`, `mysql_create_schema`, `mysql_drop_schema`
|
|
73
|
+
- `mysql_create_index`, `mysql_create_view`, `mysql_role_create`, `mysql_role_drop`
|
|
74
|
+
- `mysql_event_create`, `mysql_event_alter`, `mysql_event_drop`
|
|
75
|
+
- `mysql_doc_create_collection`, `mysql_doc_drop_collection`
|
|
76
|
+
- All transaction tools (commit, rollback, savepoints)
|
|
77
|
+
|
|
78
|
+
### Informative No-Op Messaging
|
|
79
|
+
|
|
80
|
+
When `ifExists`/`ifNotExists` flag prevents an action, tools now return `{ skipped: true, reason }` instead of ambiguous `{ success: true }`:
|
|
81
|
+
|
|
82
|
+
- `mysql_create_schema` / `mysql_drop_schema`
|
|
83
|
+
- `mysql_create_table` (new) / `mysql_drop_table` (new)
|
|
84
|
+
- `mysql_role_create` / `mysql_role_drop`
|
|
85
|
+
- `mysql_event_drop`, `mysql_doc_drop_collection`
|
|
86
|
+
|
|
87
|
+
### Notable Individual Fixes
|
|
88
|
+
|
|
89
|
+
- **`mysql_create_index` FULLTEXT/SPATIAL SQL** — Fixed invalid `USING FULLTEXT` syntax; now uses correct `CREATE FULLTEXT INDEX` prefix
|
|
90
|
+
- **Spatial GeoJSON axis order** — Fixed coordinate conversion for SRID 4326 across 7 spatial tools
|
|
91
|
+
- **JSON auto-quoting** — Bare strings like `"green"` now auto-wrapped as valid JSON
|
|
92
|
+
- **`mysql_export_table` datetime** — Fixed extra JSON-style quotes wrapping datetime values
|
|
93
|
+
- **`mysql_transaction_execute` SELECT data** — Fixed missing row data for SELECT statements in atomic transactions
|
|
94
|
+
- **`mysql_stats_distribution` bucket boundaries** — Fixed string concatenation instead of arithmetic
|
|
95
|
+
- **`mysql_sys_io_summary` file type** — Fixed wrong column name (`total_write` → `total_written`)
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## ✨ New Features
|
|
100
|
+
|
|
101
|
+
### New Tool
|
|
102
|
+
|
|
103
|
+
- **`mysql_fulltext_drop`** — Drop FULLTEXT indexes, providing symmetry with `mysql_fulltext_create`
|
|
104
|
+
|
|
105
|
+
### Summary Modes
|
|
106
|
+
|
|
107
|
+
Reduce payload size dramatically for status/diagnostic tools:
|
|
108
|
+
|
|
109
|
+
| Tool | Full → Summary |
|
|
110
|
+
| ----------------------------- | -------------------- |
|
|
111
|
+
| `mysql_cluster_status` | ~21KB → ~500B |
|
|
112
|
+
| `mysql_cluster_router_status` | ~12KB → ~300B/router |
|
|
113
|
+
| `mysql_innodb_status` | ~5KB → ~200B |
|
|
114
|
+
| `mysql_optimizer_trace` | ~10KB → ~500B |
|
|
115
|
+
| `proxysql_status` | ~4KB → ~500B |
|
|
116
|
+
| `proxysql_runtime_status` | ~3KB → ~300B |
|
|
117
|
+
|
|
118
|
+
### New Parameters
|
|
119
|
+
|
|
120
|
+
- **`mysql_export_table`** — `limit` parameter to cap exported rows
|
|
121
|
+
- **`mysql_index_usage`** — `limit` parameter (default: 20 → 10)
|
|
122
|
+
- **`proxysql_global_variables`** — `limit` and `like` filter parameters
|
|
123
|
+
- **`mysql_spatial_buffer`** — `segments` parameter for buffer polygon approximation
|
|
124
|
+
- **Text tools** — `where` parameter on `mysql_regexp_match`, `mysql_like_search`, `mysql_soundex`
|
|
125
|
+
- **Fulltext tools** — `maxLength` parameter to truncate large TEXT values
|
|
126
|
+
- **`mysql_concat`** — `includeSourceColumns` option for minimal payload
|
|
127
|
+
- **`mysql_security_user_privileges`** — `summary` mode for condensed privilege info
|
|
128
|
+
|
|
129
|
+
### Comprehensive Server Instructions
|
|
130
|
+
|
|
131
|
+
Added 15+ new documentation sections to `ServerInstructions.ts`:
|
|
132
|
+
|
|
133
|
+
Core, Transaction, Admin, Performance, Optimization, Monitoring, Replication, Schema, Events, Sys Schema, Stats, Security, ProxySQL, InnoDB Cluster, Shell, Fulltext, Text, Backup, Partitioning, Role Management, Document Store
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 📊 Payload Optimization
|
|
138
|
+
|
|
139
|
+
### Default Limits
|
|
140
|
+
|
|
141
|
+
| Tool | Before | After |
|
|
142
|
+
| --------------------------- | ---------- | -------- |
|
|
143
|
+
| `mysql_export_table` | Unbounded | 100 rows |
|
|
144
|
+
| `mysql_show_status` | ~517 rows | 100 |
|
|
145
|
+
| `mysql_show_variables` | ~600 rows | 100 |
|
|
146
|
+
| `mysql_binlog_events` | 100 events | 20 |
|
|
147
|
+
| `mysql_query_stats` | 20 | 10 |
|
|
148
|
+
| `mysql_index_usage` | 50 → 20 | 10 |
|
|
149
|
+
| `mysql_sys_schema_stats` | 50 → 20 | 10 |
|
|
150
|
+
| `mysql_sys_memory_summary` | 20 | 10 |
|
|
151
|
+
| `proxysql_global_variables` | 200 | 50 |
|
|
152
|
+
|
|
153
|
+
### Minimal Payload (P137)
|
|
154
|
+
|
|
155
|
+
- **Fulltext tools** — Return only `id`, searched column(s), and `relevance`
|
|
156
|
+
- **Text tools** — Return only `id`, target column(s), and computed result
|
|
157
|
+
- **`mysql_json_contains`/`mysql_json_search`** — Return only relevant columns instead of `SELECT *`
|
|
158
|
+
- **`mysql_slow_queries`/`mysql_query_stats`** — Digest text truncated to 200 chars
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## ⚙️ Changed
|
|
163
|
+
|
|
164
|
+
### Infrastructure
|
|
165
|
+
|
|
166
|
+
- **Node.js 24 LTS Baseline** — Upgraded from Node 20 across Dockerfile, CI, and `package.json`
|
|
167
|
+
- **Docker Workflow** — Docker publishing now depends on both `quality-gate` and `codeql` jobs
|
|
168
|
+
- **Dependabot Grouping** — Added groups for vitest, eslint, and types
|
|
169
|
+
- **`cluster` tool group** — Migrated from `dba-secure` to `ecosystem` shortcut (42 → 32 / 31 → 41 tools)
|
|
170
|
+
|
|
171
|
+
### Response Improvements
|
|
172
|
+
|
|
173
|
+
- **`mysql_replication_status` / `mysql_slave_status`** — Return `{ configured: false }` instead of empty object
|
|
174
|
+
- **Cluster payload reduction** — `Configuration` blobs stripped from `mysql_cluster_status` and `mysql_cluster_router_status` full mode
|
|
175
|
+
- **`mysql_json_diff`** — Enhanced with value-level comparison (`addedKeys`, `removedKeys`, `differences`)
|
|
176
|
+
- **`mysql_json_insert`** — Returns `{ changed: true/false }` indicator
|
|
177
|
+
- **`mysql_create_table`** — Boolean defaults auto-converted (`true` → `1`, `false` → `0`)
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 📦 Dependencies
|
|
182
|
+
|
|
183
|
+
- `@modelcontextprotocol/sdk` `^1.25.2` → `^1.26.0`
|
|
184
|
+
- `@types/node` `^25.0.8` → `^25.2.2`
|
|
185
|
+
- `@vitest/coverage-v8` `^4.0.17` → `^4.0.18`
|
|
186
|
+
- `globals` `^17.0.0` → `^17.3.0`
|
|
187
|
+
- `mysql2` `^3.16.0` → `^3.16.3`
|
|
188
|
+
- `typescript-eslint` `^8.53.0` → `^8.54.0`
|
|
189
|
+
- `vitest` `^4.0.17` → `^4.0.18`
|
|
190
|
+
- `zod` `^4.3.5` → `^4.3.6`
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 📦 Installation & Upgrade
|
|
195
|
+
|
|
196
|
+
### Docker (Recommended)
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# Latest v2.2.0
|
|
200
|
+
docker pull writenotenow/mysql-mcp:v2.2.0
|
|
201
|
+
docker pull writenotenow/mysql-mcp:latest
|
|
202
|
+
|
|
203
|
+
# Run with stdio transport
|
|
204
|
+
docker run -i --rm writenotenow/mysql-mcp:v2.2.0 \
|
|
205
|
+
--transport stdio \
|
|
206
|
+
--mysql mysql://user:password@host.docker.internal:3306/database
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### NPM
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
npm install -g @neverinfamous/mysql-mcp@2.2.0
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### From Source
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
git clone https://github.com/neverinfamous/mysql-mcp.git
|
|
219
|
+
cd mysql-mcp
|
|
220
|
+
git checkout v2.2.0
|
|
221
|
+
npm install
|
|
222
|
+
npm run build
|
|
223
|
+
node dist/cli.js --transport stdio --mysql mysql://user:pass@localhost:3306/db
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 🔗 Links
|
|
229
|
+
|
|
230
|
+
- **GitHub Repository:** https://github.com/neverinfamous/mysql-mcp
|
|
231
|
+
- **Docker Hub:** https://hub.docker.com/r/writenotenow/mysql-mcp
|
|
232
|
+
- **NPM Package:** https://www.npmjs.com/package/@neverinfamous/mysql-mcp
|
|
233
|
+
- **Changelog:** https://github.com/neverinfamous/mysql-mcp/blob/master/CHANGELOG.md
|
|
234
|
+
- **Issues:** https://github.com/neverinfamous/mysql-mcp/issues
|
|
235
|
+
- **License:** MIT
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
**Full Changelog:** [v2.1.0...v2.2.0](https://github.com/neverinfamous/mysql-mcp/compare/v2.1.0...v2.2.0)
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# mysql-mcp v2.3.0 Release Notes
|
|
2
|
+
|
|
3
|
+
**Release Date:** February 18, 2026
|
|
4
|
+
**Status:** Production/Stable
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 🎉 Release Highlights
|
|
9
|
+
|
|
10
|
+
**mysql-mcp v2.3.0** introduces **Code Mode** — a sandboxed JavaScript/TypeScript execution environment that lets AI agents compose multi-step MySQL workflows in a single tool call, reducing token usage by 70–90%. This release also adds **Parameter Aliases** (Split Schema) for more natural tool inputs, a configurable `--server-host` CLI option, and delivers **55+ bug fixes** across nearly every tool group — including many fixes to tools that existed before Code Mode.
|
|
11
|
+
|
|
12
|
+
### At a Glance
|
|
13
|
+
|
|
14
|
+
- **1 Major Feature** — Code Mode (`mysql_execute_code`): 22 API groups, 168+ methods, VM-based sandboxed execution
|
|
15
|
+
- **3 New Capabilities** — Parameter Aliases (Split Schema), `--server-host` CLI option, Stale Router Detection
|
|
16
|
+
- **~55 Bug Fixes** — Code mode group registrations, tool help examples, text tool schema violations, event SQL ordering, timer overflows, spatial precision, error handling improvements
|
|
17
|
+
- **3 Security Items** — CodeQL temp file hardening, `ajv` ReDoS CVE, `qs` DoS CVE
|
|
18
|
+
- **5 Dependency Bumps** — eslint 10.x, mysql2, @types/node, typescript-eslint
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## ⚡ Code Mode (`mysql_execute_code`)
|
|
23
|
+
|
|
24
|
+
The headline feature of v2.3.0. Code Mode provides a sandboxed `mysql.*` API namespace enabling AI agents to execute multi-step database workflows as JavaScript/TypeScript code in a single tool call.
|
|
25
|
+
|
|
26
|
+
### Key Capabilities
|
|
27
|
+
|
|
28
|
+
| Feature | Details |
|
|
29
|
+
|---|---|
|
|
30
|
+
| **22 API Groups** | `mysql.core`, `mysql.json`, `mysql.transactions`, `mysql.spatial`, `mysql.stats`, `mysql.security`, `mysql.cluster`, `mysql.router`, and 14 more |
|
|
31
|
+
| **168+ Methods** | Full coverage of all mysql-mcp tools |
|
|
32
|
+
| **VM Isolation** | Sandboxed execution with security validation and rate limiting |
|
|
33
|
+
| **Auto-Cleanup** | Automatic transaction rollback on completion — no dangling locks |
|
|
34
|
+
| **Help System** | `mysql.help()` and `mysql.{group}.help()` for introspection |
|
|
35
|
+
| **Token Savings** | 70–90% reduction vs. individual tool calls for multi-step operations |
|
|
36
|
+
|
|
37
|
+
### API Groups
|
|
38
|
+
|
|
39
|
+
`core` · `json` · `text` · `fulltext` · `performance` · `optimization` · `admin` · `monitoring` · `backup` · `replication` · `partitioning` · `schema` · `shell` · `events` · `sysschema` · `stats` · `spatial` · `security` · `roles` · `docstore` · `cluster` · `router`
|
|
40
|
+
|
|
41
|
+
### Auto-Injection
|
|
42
|
+
|
|
43
|
+
Code Mode is automatically included in all preset shortcuts (`starter`, `essential`, `dev-power`, etc.) and is auto-injected when using raw group filters (e.g., `--tool-filter core`). Explicit exclusion via `-codemode` is respected.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 🆕 Parameter Aliases (Split Schema)
|
|
48
|
+
|
|
49
|
+
Tools now accept alternative parameter names for commonly used fields, normalized automatically via Zod schema preprocessing:
|
|
50
|
+
|
|
51
|
+
| Alias | Canonical | Applies To |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `table` / `tableName` / `name` | table parameter | Core, Text, Backup, Partitioning, Performance, Admin |
|
|
54
|
+
| `query` / `sql` | query parameter | `mysql_read_query`, `mysql_write_query`, `mysql_explain`, `mysql_explain_analyze`, `mysql_query_rewrite`, `mysql_optimizer_trace` |
|
|
55
|
+
| `where` / `filter` | WHERE clause | `mysql_export_table` and all Text tools |
|
|
56
|
+
| `column` / `col` | column parameter | Text tools |
|
|
57
|
+
|
|
58
|
+
Schema definitions use a **Dual-Schema pattern**: `SchemaBase` (with aliases visible to MCP clients) for `inputSchema`, and the runtime `Schema` (with preprocessing + transformation) for handler validation.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🔒 Security
|
|
63
|
+
|
|
64
|
+
### CVE Fixes
|
|
65
|
+
|
|
66
|
+
- **`ajv` ReDoS via `$data` Option (GHSA-2g4f-4pwh-qvx6)** — Overrode transitive `ajv` from 8.17.1 to 8.18.0 to fix ReDoS vulnerability in runtime regex patterns
|
|
67
|
+
- **`qs` ArrayLimit Bypass (GHSA-w7fw-mjwx-w883)** — Updated transitive `qs` from 6.14.1 to 6.14.2 to fix DoS via comma parsing bypass
|
|
68
|
+
|
|
69
|
+
### CodeQL Remediation
|
|
70
|
+
|
|
71
|
+
- **`mysqlsh_run_script` Secure Temporary File Handling** — Replaced insecure `os.tmpdir()` with `fs.mkdtemp()` for SQL script temp files, eliminating predictable file paths flagged by CodeQL
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 🐛 Bug Fixes (Highlights)
|
|
76
|
+
|
|
77
|
+
### Code Mode Group Registration Fixes
|
|
78
|
+
|
|
79
|
+
Five tool groups were completely inaccessible in Code Mode due to prefix-stripping misconfigurations. All returned `TypeError: ... is not a function`:
|
|
80
|
+
|
|
81
|
+
| Group | Tools Affected | Root Cause |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| **Security** | 9 tools | `security` in `keepPrefix` set |
|
|
84
|
+
| **Stats** | 8 tools | `stats` in `keepPrefix` set |
|
|
85
|
+
| **Spatial** | 12 tools | `spatial` in `keepPrefix` set |
|
|
86
|
+
| **Router** | 9 tools | `router` in `keepPrefix` set |
|
|
87
|
+
| **Shell** | 10 tools | Missing `groupPrefixMap` entry |
|
|
88
|
+
|
|
89
|
+
### Code Mode Help Example Fixes
|
|
90
|
+
|
|
91
|
+
Corrected inaccurate parameter names and method references in `help()` output for: `backup`, `optimization`, `security`, `stats`, `spatial`, `json`, `sysschema`, `cluster`, `replication`, `router`, and `shell` groups.
|
|
92
|
+
|
|
93
|
+
### Non-Code-Mode Bug Fixes
|
|
94
|
+
|
|
95
|
+
These fixes affect tools that existed in v2.2.0:
|
|
96
|
+
|
|
97
|
+
- **`mysql_event_alter` Clause Ordering** — Generated invalid SQL when combining `newName` with other clauses. Reordered to match MySQL's required syntax
|
|
98
|
+
- **`mysql_explain` TRADITIONAL Format** — Returned TREE format when TRADITIONAL was requested. Now explicitly uses `EXPLAIN FORMAT=TRADITIONAL`
|
|
99
|
+
- **Text Tool Schema Violations** — `mysql_substring`, `mysql_concat`, `mysql_collation_convert` lacked parameter alias support. Replaced with proper Dual-Schema definitions
|
|
100
|
+
- **Timer Overflow Detection** — `mysql_slow_queries` / `mysql_query_stats` returned absurdly large values (~213 days) due to unsigned 64-bit picosecond counter wrapping. Now clamped to `-1` with `overflow: true`
|
|
101
|
+
- **Timer Value Type Consistency** — Non-overflowed timer values returned as strings instead of numbers. Now consistently numbers
|
|
102
|
+
- **`mysql_security_mask_data`** — Three fixes: credit card 8-digit boundary masking, warning message accuracy, partial masking silent no-op detection
|
|
103
|
+
- **`mysql_spatial_create_index`** — Duplicate index error consistency and duplicate column index detection
|
|
104
|
+
- **`mysql_spatial_buffer` Precision** — Added `precision` parameter (default: 6) to control GeoJSON decimal places, significantly reducing payload size for geographic buffers
|
|
105
|
+
- **`mysql_json_update` Missing Reason** — Now returns `{ success: false, reason }` when target row doesn't exist
|
|
106
|
+
- **`mysql_json_validate` Auto-Conversion** — Removed auto-conversion that made it impossible to return `valid: false`
|
|
107
|
+
- **`mysql_read_query` / `mysql_write_query`** — Uniform structured error handling (`{ success: false, error }`) for all query errors
|
|
108
|
+
- **`mysql_buffer_pool_stats` Payload Reduction** — Curated 23 operationally meaningful columns instead of all 32
|
|
109
|
+
- **`mysql_query_rewrite` / `mysql_optimizer_trace`** — Missing `sql` alias for `query` parameter
|
|
110
|
+
- **`mysql_explain_analyze`** — Missing `sql` alias for `query` parameter
|
|
111
|
+
- **`mysql_transaction_execute`** — Empty statements now return structured error instead of Zod validation error
|
|
112
|
+
- **`mysql_event_create`** — Informative existing event messaging with `{ skipped: true, reason }`
|
|
113
|
+
- **`mysql_sys_memory_summary` / `mysql_sys_schema_stats`** — Added missing count fields for response consistency
|
|
114
|
+
- **Partitioning Write Tools** — `mysql_add_partition`, `mysql_drop_partition`, `mysql_reorganize_partition` now perform P154 existence checks
|
|
115
|
+
- **`mysql_router_pool_status`** — Enabled Router connection pool REST API infrastructure
|
|
116
|
+
- **`mysqlsh_export_table`** — Shell dump-specific error extraction instead of generic privilege-hint message
|
|
117
|
+
- **`mysqlsh_load_dump`** — Dry run now captures and returns `dryRunOutput` field
|
|
118
|
+
- **Code Mode Auto-Rollback** — Fixed orphaned transaction cleanup to run unconditionally, not just on failure
|
|
119
|
+
- **Code Mode Negative Memory Metric** — Clamped to `Math.max(0, ...)` when GC reclaims heap between snapshots
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## ✨ New Features
|
|
124
|
+
|
|
125
|
+
### `mysql_cluster_router_status` Stale Router Detection
|
|
126
|
+
|
|
127
|
+
Router responses now include `isStale` boolean per router (true when `lastCheckIn` is null or >1 hour old) and a top-level `staleCount` field, making stale/abandoned router entries immediately identifiable.
|
|
128
|
+
|
|
129
|
+
### `--server-host` CLI Option / `MCP_HOST` Environment Variable
|
|
130
|
+
|
|
131
|
+
Configurable host binding for HTTP/SSE transport. Defaults to `localhost`. Set to `0.0.0.0` for containerized deployments.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 📦 Dependencies
|
|
136
|
+
|
|
137
|
+
- `@eslint/js` `^9.39.2` → `^10.0.1`
|
|
138
|
+
- `@types/node` `^25.2.2` → `^25.2.3`
|
|
139
|
+
- `eslint` `^9.39.2` → `^10.0.0`
|
|
140
|
+
- `mysql2` `^3.16.3` → `^3.17.2`
|
|
141
|
+
- `typescript-eslint` `^8.54.0` → `^8.56.0`
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 📦 Installation & Upgrade
|
|
146
|
+
|
|
147
|
+
### Docker (Recommended)
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Latest v2.3.0
|
|
151
|
+
docker pull writenotenow/mysql-mcp:v2.3.0
|
|
152
|
+
docker pull writenotenow/mysql-mcp:latest
|
|
153
|
+
|
|
154
|
+
# Run with stdio transport
|
|
155
|
+
docker run -i --rm writenotenow/mysql-mcp:v2.3.0 \
|
|
156
|
+
--transport stdio \
|
|
157
|
+
--mysql mysql://user:password@host.docker.internal:3306/database
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### NPM
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
npm install -g @neverinfamous/mysql-mcp@2.3.0
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### From Source
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
git clone https://github.com/neverinfamous/mysql-mcp.git
|
|
170
|
+
cd mysql-mcp
|
|
171
|
+
git checkout v2.3.0
|
|
172
|
+
npm install
|
|
173
|
+
npm run build
|
|
174
|
+
node dist/cli.js --transport stdio --mysql mysql://user:pass@localhost:3306/db
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 🔗 Links
|
|
180
|
+
|
|
181
|
+
- **GitHub Repository:** https://github.com/neverinfamous/mysql-mcp
|
|
182
|
+
- **Docker Hub:** https://hub.docker.com/r/writenotenow/mysql-mcp
|
|
183
|
+
- **NPM Package:** https://www.npmjs.com/package/@neverinfamous/mysql-mcp
|
|
184
|
+
- **Changelog:** https://github.com/neverinfamous/mysql-mcp/blob/master/CHANGELOG.md
|
|
185
|
+
- **Wiki:** https://github.com/neverinfamous/mysql-mcp/wiki
|
|
186
|
+
- **Issues:** https://github.com/neverinfamous/mysql-mcp/issues
|
|
187
|
+
- **License:** MIT
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
**Full Changelog:** [v2.2.0...v2.3.0](https://github.com/neverinfamous/mysql-mcp/compare/v2.2.0...v2.3.0)
|
package/server.json
CHANGED