@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
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
**mysql-mcp v2.0.0** is a transformative update representing our most significant release since v1.0. This release adds **85 new tools** (80% increase), introduces **HTTP/SSE streaming transport**, delivers **Smart Shortcuts** for instant tool customization, implements **AI-optimized protocol features** for seamless assistant integration, provides an **interactive Jupyter Notebook tutorial**, implements comprehensive **security enhancements**, and achieves **97% test coverage** with over 1,500 tests.
|
|
11
11
|
|
|
12
12
|
### At a Glance
|
|
13
|
+
|
|
13
14
|
- **191 Tools** (was 106) - 80% increase
|
|
14
|
-
- **18 Resources** (was 12) - 50% increase
|
|
15
|
+
- **18 Resources** (was 12) - 50% increase
|
|
15
16
|
- **19 Prompts** (was 14) - 36% increase
|
|
16
17
|
- **24 Tool Groups** (was 15) - 60% increase
|
|
17
18
|
- **Smart Shortcuts** - 7 intelligent tool presets (starter, ai, dba, dev, etc.)
|
|
@@ -41,12 +42,14 @@ docker run -p 3000:3000 writenotenow/mysql-mcp:v2.0.0 \
|
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
**Endpoints:**
|
|
45
|
+
|
|
44
46
|
- `GET /sse` - Establish MCP connection via Server-Sent Events
|
|
45
47
|
- `POST /messages` - Send JSON-RPC messages
|
|
46
48
|
- `GET /health` - Health check endpoint
|
|
47
49
|
- `GET /.well-known/oauth-protected-resource` - OAuth 2.0 metadata
|
|
48
50
|
|
|
49
51
|
**Features:**
|
|
52
|
+
|
|
50
53
|
- StreamableHTTPServerTransport from @modelcontextprotocol/sdk
|
|
51
54
|
- CORS support for cross-origin requests
|
|
52
55
|
- OAuth 2.0 integration for enterprise security
|
|
@@ -55,31 +58,41 @@ docker run -p 3000:3000 writenotenow/mysql-mcp:v2.0.0 \
|
|
|
55
58
|
### 85 New Tools Across 9 Categories
|
|
56
59
|
|
|
57
60
|
#### 1. Schema Management (10 tools) - `schema` group
|
|
61
|
+
|
|
58
62
|
Advanced schema object management:
|
|
63
|
+
|
|
59
64
|
- `mysql_list_schemas`, `mysql_create_schema`, `mysql_drop_schema`
|
|
60
65
|
- `mysql_list_views`, `mysql_create_view`
|
|
61
66
|
- `mysql_list_stored_procedures`, `mysql_list_functions`
|
|
62
67
|
- `mysql_list_triggers`, `mysql_list_constraints`, `mysql_list_events`
|
|
63
68
|
|
|
64
69
|
#### 2. Event Scheduler (6 tools) - `events` group
|
|
70
|
+
|
|
65
71
|
Complete event management:
|
|
72
|
+
|
|
66
73
|
- `mysql_event_create`, `mysql_event_alter`, `mysql_event_drop`
|
|
67
74
|
- `mysql_event_list`, `mysql_event_status`, `mysql_scheduler_status`
|
|
68
75
|
|
|
69
76
|
#### 3. sys Schema Diagnostics (8 tools) - `sysschema` group
|
|
77
|
+
|
|
70
78
|
Performance insights from MySQL sys schema:
|
|
79
|
+
|
|
71
80
|
- `mysql_sys_user_summary`, `mysql_sys_io_summary`, `mysql_sys_statement_summary`
|
|
72
81
|
- `mysql_sys_wait_summary`, `mysql_sys_innodb_lock_waits`
|
|
73
82
|
- `mysql_sys_schema_stats`, `mysql_sys_host_summary`, `mysql_sys_memory_summary`
|
|
74
83
|
|
|
75
84
|
#### 4. Statistical Analysis (8 tools) - `stats` group
|
|
85
|
+
|
|
76
86
|
Data science capabilities:
|
|
87
|
+
|
|
77
88
|
- `mysql_stats_descriptive`, `mysql_stats_percentiles`, `mysql_stats_correlation`
|
|
78
89
|
- `mysql_stats_distribution`, `mysql_stats_time_series`, `mysql_stats_regression`
|
|
79
90
|
- `mysql_stats_sampling`, `mysql_stats_histogram`
|
|
80
91
|
|
|
81
92
|
#### 5. Spatial/GIS (12 tools) - `spatial` group
|
|
93
|
+
|
|
82
94
|
Location-based data operations:
|
|
95
|
+
|
|
83
96
|
- `mysql_spatial_create_column`, `mysql_spatial_create_index`
|
|
84
97
|
- `mysql_spatial_point`, `mysql_spatial_polygon`
|
|
85
98
|
- `mysql_spatial_distance`, `mysql_spatial_distance_sphere`
|
|
@@ -87,26 +100,34 @@ Location-based data operations:
|
|
|
87
100
|
- `mysql_spatial_buffer`, `mysql_spatial_transform`, `mysql_spatial_geojson`
|
|
88
101
|
|
|
89
102
|
#### 6. Security (9 tools) - `security` group
|
|
103
|
+
|
|
90
104
|
Enterprise security features:
|
|
105
|
+
|
|
91
106
|
- `mysql_security_audit`, `mysql_security_firewall_status`, `mysql_security_firewall_rules`
|
|
92
107
|
- `mysql_security_mask_data`, `mysql_security_password_validate`
|
|
93
108
|
- `mysql_security_ssl_status`, `mysql_security_user_privileges`
|
|
94
109
|
- `mysql_security_sensitive_tables`, `mysql_security_encryption_status`
|
|
95
110
|
|
|
96
111
|
#### 7. Cluster Management (10 tools) - `cluster` group
|
|
112
|
+
|
|
97
113
|
InnoDB Cluster & Group Replication:
|
|
114
|
+
|
|
98
115
|
- `mysql_gr_status`, `mysql_gr_members`, `mysql_gr_primary`, `mysql_gr_transactions`
|
|
99
116
|
- `mysql_gr_flow_control`, `mysql_cluster_status`, `mysql_cluster_instances`
|
|
100
117
|
- `mysql_cluster_topology`, `mysql_cluster_router_status`, `mysql_cluster_switchover`
|
|
101
118
|
|
|
102
119
|
#### 8. Role Management (8 tools) - `roles` group
|
|
120
|
+
|
|
103
121
|
MySQL 8.0 RBAC:
|
|
122
|
+
|
|
104
123
|
- `mysql_role_list`, `mysql_role_create`, `mysql_role_drop`
|
|
105
124
|
- `mysql_role_grants`, `mysql_role_grant`, `mysql_role_assign`
|
|
106
125
|
- `mysql_role_revoke`, `mysql_user_roles`
|
|
107
126
|
|
|
108
127
|
#### 9. Document Store (9 tools) - `docstore` group
|
|
128
|
+
|
|
109
129
|
NoSQL/MongoDB-style API:
|
|
130
|
+
|
|
110
131
|
- `mysql_doc_list_collections`, `mysql_doc_create_collection`, `mysql_doc_drop_collection`
|
|
111
132
|
- `mysql_doc_find`, `mysql_doc_add`, `mysql_doc_modify`, `mysql_doc_remove`
|
|
112
133
|
- `mysql_doc_create_index`, `mysql_doc_collection_info`
|
|
@@ -141,15 +162,15 @@ NoSQL/MongoDB-style API:
|
|
|
141
162
|
|
|
142
163
|
**Available Shortcuts:**
|
|
143
164
|
|
|
144
|
-
| Shortcut
|
|
145
|
-
|
|
146
|
-
| `starter`
|
|
147
|
-
| `essential` | 15
|
|
148
|
-
| `dev`
|
|
149
|
-
| `ai`
|
|
150
|
-
| `dba`
|
|
151
|
-
| `base`
|
|
152
|
-
| `ecosystem` | 31
|
|
165
|
+
| Shortcut | Tools | Use Case | What's Included |
|
|
166
|
+
| ----------- | ------ | ------------------------- | ----------------------------------------------- |
|
|
167
|
+
| `starter` | **38** | 🌟 **Recommended** | Core CRUD, JSON, transactions, text search |
|
|
168
|
+
| `essential` | 15 | Minimal footprint | Only core + transactions |
|
|
169
|
+
| `dev` | 67 | Full development | starter + fulltext, performance, schema, stats |
|
|
170
|
+
| `ai` | 77 | **NEW** - AI/ML workloads | JSON, Document Store, spatial, statistics |
|
|
171
|
+
| `dba` | 103 | **NEW** - Database admin | Admin, monitoring, security, replication, roles |
|
|
172
|
+
| `base` | 160 | All core MySQL | Everything except Router/ProxySQL/Shell |
|
|
173
|
+
| `ecosystem` | 31 | External tools | MySQL Router, ProxySQL, MySQL Shell |
|
|
153
174
|
|
|
154
175
|
**Quick Examples:**
|
|
155
176
|
|
|
@@ -168,6 +189,7 @@ NoSQL/MongoDB-style API:
|
|
|
168
189
|
```
|
|
169
190
|
|
|
170
191
|
**Why Smart Shortcuts?**
|
|
192
|
+
|
|
171
193
|
- ✅ **Instant setup** - One command, perfect toolset
|
|
172
194
|
- ✅ **IDE-friendly** - Stay within tool limits
|
|
173
195
|
- ✅ **Role-based** - Presets for developers, DBAs, data scientists
|
|
@@ -178,23 +200,27 @@ NoSQL/MongoDB-style API:
|
|
|
178
200
|
**NEW in v2.0** - Learn mysql-mcp interactively! Our comprehensive [Jupyter Notebook](https://github.com/neverinfamous/mysql-mcp/blob/master/examples/notebooks/quickstart.ipynb) demonstrates:
|
|
179
201
|
|
|
180
202
|
**Basic Operations:**
|
|
203
|
+
|
|
181
204
|
- Connecting via `mcp` Python SDK
|
|
182
205
|
- Reading/Writing data with SQL tools
|
|
183
206
|
- Accessing Resources (schema, tables, performance)
|
|
184
207
|
- Error handling patterns
|
|
185
208
|
|
|
186
209
|
**Advanced Features:**
|
|
210
|
+
|
|
187
211
|
- **Transactions** - Atomic writes with COMMIT/ROLLBACK
|
|
188
212
|
- **AI Prompts** - Using guided workflows for optimization
|
|
189
213
|
- **Performance Analysis** - EXPLAIN plans and query tuning
|
|
190
214
|
|
|
191
215
|
**NEW Capabilities in v2.0:**
|
|
216
|
+
|
|
192
217
|
- **JSON Support** - Treating MySQL as a document store with `mysql_json_extract/set`
|
|
193
218
|
- **Fulltext Search** - Building RAG-ready search with `mysql_fulltext_create/search`
|
|
194
219
|
- **Spatial Data** - Location-based search (GIS) with `mysql_spatial_distance_sphere`
|
|
195
220
|
- **Document Store** - NoSQL API (MongoDB-style) with `mysql_doc_create_collection/add/find`
|
|
196
221
|
|
|
197
222
|
**Perfect for:**
|
|
223
|
+
|
|
198
224
|
- 🎓 Learning MCP protocol
|
|
199
225
|
- 🧪 Testing mysql-mcp features
|
|
200
226
|
- 📝 Prototyping database workflows
|
|
@@ -204,16 +230,17 @@ NoSQL/MongoDB-style API:
|
|
|
204
230
|
|
|
205
231
|
**NEW in v2.0** - Zero-configuration features that automatically enhance AI assistant interactions:
|
|
206
232
|
|
|
207
|
-
| Feature
|
|
208
|
-
|
|
209
|
-
| **Tool Annotations**
|
|
210
|
-
| **Resource Metadata**
|
|
211
|
-
| **Protocol Logging**
|
|
212
|
-
| **Progress Notifications** | Long-running operations report progress to prevent timeouts and show status
|
|
233
|
+
| Feature | Benefit |
|
|
234
|
+
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
235
|
+
| **Tool Annotations** | AI knows which tools are safe to auto-run (`readOnlyHint`), which are destructive (`destructiveHint`), and which interact with external systems (`openWorldHint`) |
|
|
236
|
+
| **Resource Metadata** | Resources include `priority` hints so AI can focus on the most relevant data (health, tables, schema) |
|
|
237
|
+
| **Protocol Logging** | AI clients receive real-time log notifications for transparency during operations |
|
|
238
|
+
| **Progress Notifications** | Long-running operations report progress to prevent timeouts and show status |
|
|
213
239
|
|
|
214
240
|
**MCP 2025-11-25 Compliant** - Works seamlessly with Claude Desktop, Cursor IDE, and all MCP clients.
|
|
215
241
|
|
|
216
242
|
**Why This Matters:**
|
|
243
|
+
|
|
217
244
|
- ✅ **Smarter AI** - Assistants understand tool safety and impact
|
|
218
245
|
- ✅ **Better UX** - Real-time feedback during long operations
|
|
219
246
|
- ✅ **Production-ready** - Proper logging and error handling
|
|
@@ -224,13 +251,17 @@ NoSQL/MongoDB-style API:
|
|
|
224
251
|
## 🔒 Security Enhancements
|
|
225
252
|
|
|
226
253
|
### Input Validation Module
|
|
254
|
+
|
|
227
255
|
New centralized `src/utils/validators.ts`:
|
|
256
|
+
|
|
228
257
|
- **`validateIdentifier()`** - Validates SQL identifiers against injection attacks
|
|
229
258
|
- **`validateWhereClause()`** - Detects dangerous SQL patterns (UNION, stacked queries, timing attacks)
|
|
230
259
|
- **`escapeIdentifier()`** and **`escapeLikePattern()`** - Safe escaping utilities
|
|
231
260
|
|
|
232
261
|
### HTTP Security Headers
|
|
262
|
+
|
|
233
263
|
All HTTP responses include:
|
|
264
|
+
|
|
234
265
|
- `X-Content-Type-Options: nosniff` - Prevents MIME type sniffing
|
|
235
266
|
- `X-Frame-Options: DENY` - Prevents clickjacking
|
|
236
267
|
- `X-XSS-Protection: 1; mode=block` - Enables XSS filtering
|
|
@@ -238,12 +269,15 @@ All HTTP responses include:
|
|
|
238
269
|
- `Cache-Control: no-store` - Prevents caching of API responses
|
|
239
270
|
|
|
240
271
|
### SQL Injection Prevention
|
|
272
|
+
|
|
241
273
|
Input validation applied to:
|
|
274
|
+
|
|
242
275
|
- Backup tools (`backup.ts`) - Table name and WHERE clause validation
|
|
243
276
|
- JSON tools (`json/core.ts`) - All 8 core JSON tools validated
|
|
244
277
|
- Shell tools - Fixed injection vulnerability in `mysqlsh_import_table`
|
|
245
278
|
|
|
246
279
|
### Security Test Suite
|
|
280
|
+
|
|
247
281
|
- `security_injection.test.ts` - 14 SQL injection prevention tests
|
|
248
282
|
- `security_integration.test.ts` - 11 validation flow tests
|
|
249
283
|
- `http.test.ts` - 6 security header verification tests
|
|
@@ -254,12 +288,15 @@ Input validation applied to:
|
|
|
254
288
|
## ⚡ Performance Optimizations
|
|
255
289
|
|
|
256
290
|
### Caching Improvements
|
|
291
|
+
|
|
257
292
|
- **Tool Definition Caching** - `getToolDefinitions()` caches 191 tool definitions after first call
|
|
258
293
|
- **O(1) Lookups** - `getToolGroup()` uses Map for instant lookup (was O(n×m) linear search)
|
|
259
294
|
- **Cached Tool Names** - `getAllToolNames()` caches 191-tool array
|
|
260
295
|
|
|
261
296
|
### Performance Test Suite
|
|
297
|
+
|
|
262
298
|
New `src/__tests__/perf.test.ts` with 11 timing-based regression tests:
|
|
299
|
+
|
|
263
300
|
- Tool definition caching validation
|
|
264
301
|
- Tool group lookup performance (Map vs linear)
|
|
265
302
|
- Filter parsing performance for complex chains
|
|
@@ -269,33 +306,41 @@ New `src/__tests__/perf.test.ts` with 11 timing-based regression tests:
|
|
|
269
306
|
## 🏗️ Architectural Improvements
|
|
270
307
|
|
|
271
308
|
### Modular Refactoring
|
|
309
|
+
|
|
272
310
|
Refactored large monolithic files (500+ lines) into focused modules:
|
|
273
311
|
|
|
274
312
|
**Phase 1:**
|
|
313
|
+
|
|
275
314
|
- `tools/spatial/` - Split into 4 modules: setup, geometry, queries, operations
|
|
276
315
|
- `tools/admin/` - Split into 3 modules: maintenance, monitoring, backup
|
|
277
316
|
- `tools/sysschema/` - Split into 3 modules: activity, performance, resources
|
|
278
317
|
|
|
279
318
|
**Phase 2:**
|
|
319
|
+
|
|
280
320
|
- `tools/performance/` - Split into 2 modules: analysis, optimization
|
|
281
321
|
- `tools/text/` - Split into 2 modules: processing, fulltext
|
|
282
322
|
- Separated `replication.ts` and `partitioning.ts` into distinct files
|
|
283
323
|
|
|
284
324
|
**Phase 3:**
|
|
325
|
+
|
|
285
326
|
- `tools/schema/` - Split into 6 modules: management, views, routines, triggers, constraints, scheduled_events
|
|
286
327
|
|
|
287
328
|
**Phase 4:**
|
|
329
|
+
|
|
288
330
|
- Extracted CLI argument parsing to `src/cli/args.ts`
|
|
289
331
|
- Moved schema operations to `src/adapters/mysql/SchemaManager.ts`
|
|
290
332
|
|
|
291
333
|
### Test Suite Modularity
|
|
334
|
+
|
|
292
335
|
Refactored monolithic test files:
|
|
336
|
+
|
|
293
337
|
- Split `admin.test.ts` (626 lines) → 3 focused files
|
|
294
338
|
- Split `json.test.ts` (729 lines) → 3 focused files
|
|
295
339
|
- Split shell tests → 5 modular files
|
|
296
340
|
- Split resource tests → 10 modular files
|
|
297
341
|
|
|
298
342
|
### Code Quality
|
|
343
|
+
|
|
299
344
|
- **Removed ALL `eslint-disable` directives** - Strict type safety throughout
|
|
300
345
|
- **Removed deprecated SSEServerTransport** - Migrated to StreamableHTTPServerTransport
|
|
301
346
|
- **Zero breaking changes** - Full backward compatibility maintained
|
|
@@ -305,18 +350,21 @@ Refactored monolithic test files:
|
|
|
305
350
|
## 🧪 Testing Excellence
|
|
306
351
|
|
|
307
352
|
### Coverage Achievements
|
|
353
|
+
|
|
308
354
|
- **Statement Coverage:** 97.34%
|
|
309
355
|
- **Branch Coverage:** 83.87%
|
|
310
356
|
- **Total Tests:** 1,500+ tests passing
|
|
311
357
|
- **Test Files:** 84 modular test files
|
|
312
358
|
|
|
313
359
|
### Test Infrastructure
|
|
360
|
+
|
|
314
361
|
- **Centralized mocks** in `src/__tests__/mocks/`
|
|
315
362
|
- **Fully mocked** - Tests run without database connection
|
|
316
363
|
- **Fast execution** - ~20 second total runtime
|
|
317
364
|
- **Meaningful assertions** - Replaced coverage boosters with real tests
|
|
318
365
|
|
|
319
366
|
### New Test Coverage
|
|
367
|
+
|
|
320
368
|
- CLI tests (91% coverage) - argument parsing, signal handling, error scenarios
|
|
321
369
|
- HTTP transport tests - CORS, health checks, OAuth metadata
|
|
322
370
|
- Security tests - injection prevention, validation flow
|
|
@@ -411,15 +459,15 @@ This gives you **38 essential tools**: core CRUD, JSON, transactions, text searc
|
|
|
411
459
|
|
|
412
460
|
### Meta-Groups
|
|
413
461
|
|
|
414
|
-
| Shortcut
|
|
415
|
-
|
|
416
|
-
| `starter`
|
|
417
|
-
| `essential` | 15
|
|
418
|
-
| `dev`
|
|
419
|
-
| `ai`
|
|
420
|
-
| `dba`
|
|
421
|
-
| `base`
|
|
422
|
-
| `ecosystem` | 31
|
|
462
|
+
| Shortcut | Tools | Use Case |
|
|
463
|
+
| ----------- | ----- | ---------------------------------------------------------- |
|
|
464
|
+
| `starter` | 38 | 🌟 **Recommended** - Essential development tools |
|
|
465
|
+
| `essential` | 15 | Minimal footprint - Core + transactions only |
|
|
466
|
+
| `dev` | 67 | Full development - starter + fulltext, performance, schema |
|
|
467
|
+
| `ai` | 77 | **NEW** - AI/ML workloads (JSON, spatial, stats, docstore) |
|
|
468
|
+
| `dba` | 103 | **NEW** - DBA tasks (admin, monitoring, security, roles) |
|
|
469
|
+
| `base` | 160 | All core MySQL tools |
|
|
470
|
+
| `ecosystem` | 31 | External tools (Router, ProxySQL, Shell) |
|
|
423
471
|
|
|
424
472
|
### Examples
|
|
425
473
|
|
|
@@ -472,32 +520,32 @@ This gives you **38 essential tools**: core CRUD, JSON, transactions, text searc
|
|
|
472
520
|
|
|
473
521
|
### Tools by Category (191 Total)
|
|
474
522
|
|
|
475
|
-
| Category
|
|
476
|
-
|
|
477
|
-
| Core
|
|
478
|
-
| Transactions
|
|
479
|
-
| JSON
|
|
480
|
-
| Text
|
|
481
|
-
| FULLTEXT
|
|
482
|
-
| Performance
|
|
483
|
-
| Optimization
|
|
484
|
-
| Admin
|
|
485
|
-
| Monitoring
|
|
486
|
-
| Backup
|
|
487
|
-
| Replication
|
|
488
|
-
| Partitioning
|
|
489
|
-
| Router
|
|
490
|
-
| ProxySQL
|
|
491
|
-
| Shell
|
|
492
|
-
| **Schema**
|
|
493
|
-
| **Events**
|
|
494
|
-
| **sys Schema**
|
|
495
|
-
| **Statistics**
|
|
496
|
-
| **Spatial/GIS**
|
|
497
|
-
| **Security**
|
|
498
|
-
| **Cluster**
|
|
499
|
-
| **Roles**
|
|
500
|
-
| **Document Store** | **9**
|
|
523
|
+
| Category | Count | Description |
|
|
524
|
+
| ------------------ | ------ | ------------------------------------- |
|
|
525
|
+
| Core | 8 | CRUD, schema, tables, indexes |
|
|
526
|
+
| Transactions | 7 | BEGIN, COMMIT, ROLLBACK, savepoints |
|
|
527
|
+
| JSON | 17 | JSON functions + merge, diff, stats |
|
|
528
|
+
| Text | 6 | REGEXP, LIKE, SOUNDEX |
|
|
529
|
+
| FULLTEXT | 4 | Natural language search |
|
|
530
|
+
| Performance | 8 | EXPLAIN, query analysis |
|
|
531
|
+
| Optimization | 4 | Index hints, recommendations |
|
|
532
|
+
| Admin | 6 | OPTIMIZE, ANALYZE, CHECK |
|
|
533
|
+
| Monitoring | 7 | PROCESSLIST, status variables |
|
|
534
|
+
| Backup | 4 | Export, import, mysqldump |
|
|
535
|
+
| Replication | 5 | Master/slave, binlog |
|
|
536
|
+
| Partitioning | 4 | Partition management |
|
|
537
|
+
| Router | 9 | MySQL Router REST API |
|
|
538
|
+
| ProxySQL | 12 | Proxy management |
|
|
539
|
+
| Shell | 10 | MySQL Shell utilities |
|
|
540
|
+
| **Schema** | **10** | **Views, procedures, triggers** |
|
|
541
|
+
| **Events** | **6** | **Event Scheduler** |
|
|
542
|
+
| **sys Schema** | **8** | **Diagnostics** |
|
|
543
|
+
| **Statistics** | **8** | **Statistical analysis** |
|
|
544
|
+
| **Spatial/GIS** | **12** | **Geospatial data** |
|
|
545
|
+
| **Security** | **9** | **Audit, SSL, encryption** |
|
|
546
|
+
| **Cluster** | **10** | **Group Replication, InnoDB Cluster** |
|
|
547
|
+
| **Roles** | **8** | **RBAC** |
|
|
548
|
+
| **Document Store** | **9** | **NoSQL API** |
|
|
501
549
|
|
|
502
550
|
---
|
|
503
551
|
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
**mysql-mcp v2.1.0** delivers significant bug fixes, performance improvements, and enhanced testing coverage. This release focuses on production stability with fixes for Document Store, Group Replication, InnoDB Cluster, spatial tools, and MySQL Shell integration.
|
|
11
11
|
|
|
12
12
|
### At a Glance
|
|
13
|
+
|
|
13
14
|
- **12+ Bug Fixes** — Document Store filters, Group Replication MySQL 8.0 compatibility, spatial coordinate handling, Router TLS, and more
|
|
14
15
|
- **Performance Improvements** — Native MCP SDK logging, parallelized health queries, batched index queries (N+1 → 1), configurable metadata cache
|
|
15
16
|
- **112 New Tests** — Branch coverage improved from ~83% to ~86% (1590 tests total)
|
|
@@ -20,6 +21,7 @@
|
|
|
20
21
|
## 🐛 Bug Fixes
|
|
21
22
|
|
|
22
23
|
### Document Store
|
|
24
|
+
|
|
23
25
|
- **Document Store Filter Tools** — Fixed `mysql_doc_modify` and `mysql_doc_remove` failing with "Invalid JSON path expression" error. Added `parseDocFilter()` function supporting three filter formats:
|
|
24
26
|
- By `_id`: Direct 32-char hex string (e.g., `bbc83181703d43e68ffad119c4bbbfde`)
|
|
25
27
|
- By `field=value`: Simple equality (e.g., `name=Alice`, `age=30`)
|
|
@@ -27,19 +29,24 @@
|
|
|
27
29
|
- Now uses parameterized queries for SQL injection protection
|
|
28
30
|
|
|
29
31
|
### Group Replication & InnoDB Cluster
|
|
32
|
+
|
|
30
33
|
- **Group Replication Tools MySQL 8.0 Compatibility** — Fixed `mysql_gr_members` and `mysql_gr_transactions` failing with "Unknown column" errors on MySQL 8.0.44. Removed non-existent columns from queries.
|
|
31
34
|
- **InnoDB Cluster Status Tool** — Fixed `mysql_cluster_status` failing with "Unable to query cluster metadata" due to hardcoded column names. Changed to `SELECT *` for compatibility across MySQL versions.
|
|
32
35
|
|
|
33
36
|
### Spatial Tools
|
|
37
|
+
|
|
34
38
|
- **Spatial Coordinate Order (Final Fix)** — Fixed `mysql_spatial_point`, `mysql_spatial_distance`, and `mysql_spatial_distance_sphere` to correctly accept longitude-latitude parameter order by using MySQL's `axis-order=long-lat` option.
|
|
35
39
|
|
|
36
40
|
### MySQL Router
|
|
41
|
+
|
|
37
42
|
- **Router TLS with Node.js fetch** — Fixed `mysql_router_*` tools failing with "fetch failed" when `MYSQL_ROUTER_INSECURE=true`. Replaced with native `https.request()` module for proper self-signed certificate handling.
|
|
38
43
|
|
|
39
44
|
### Partitioning
|
|
45
|
+
|
|
40
46
|
- **Partitioning Tools** — Fixed `mysql_reorganize_partition` to support both RANGE and LIST partition types (previously hardcoded to RANGE only). Added required `partitionType` parameter to schema.
|
|
41
47
|
|
|
42
48
|
### MySQL Shell
|
|
49
|
+
|
|
43
50
|
- **MySQL Shell Tools Error Handling** — Improved error detection in `execShellJS()` to properly catch errors from stderr (e.g., `local_infile disabled`, privilege errors, fatal dump errors).
|
|
44
51
|
- **MySQL Shell Export Table** — Removed unsupported `columns` option from `mysqlsh_export_table` (not supported by `util.exportTable()` in MySQL Shell 9.x).
|
|
45
52
|
|
|
@@ -48,23 +55,25 @@
|
|
|
48
55
|
## ✨ New Features
|
|
49
56
|
|
|
50
57
|
### New Tool Parameters
|
|
58
|
+
|
|
51
59
|
- **`mysqlsh_import_table` / `mysqlsh_load_dump`** — Added `updateServerSettings` boolean option to automatically enable `local_infile` on the server before import/load operations
|
|
52
60
|
- **`mysqlsh_dump_schemas`** — Added `ddlOnly` boolean option to dump only DDL (schema structure) without events, triggers, or routines
|
|
53
61
|
- **`mysqlsh_dump_tables`** — Added `all` boolean option to control whether triggers are included in the dump
|
|
54
62
|
|
|
55
63
|
### Server Instructions
|
|
64
|
+
|
|
56
65
|
- **Automatic Usage Instructions** — Usage instructions are now automatically provided to AI agents via the MCP protocol's `instructions` capability during server initialization
|
|
57
66
|
|
|
58
67
|
---
|
|
59
68
|
|
|
60
69
|
## ⚡ Performance Improvements
|
|
61
70
|
|
|
62
|
-
| Improvement
|
|
63
|
-
|
|
64
|
-
| **Native MCP Logging**
|
|
71
|
+
| Improvement | Description |
|
|
72
|
+
| ------------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
73
|
+
| **Native MCP Logging** | Upgraded to MCP SDK v1.25.1 with native `server.sendLoggingMessage()` |
|
|
65
74
|
| **Parallelized Health Queries** | Health resource now executes status and max_connections queries concurrently using `Promise.all()` |
|
|
66
|
-
| **Batched Index Queries**
|
|
67
|
-
| **Metadata Cache with TTL**
|
|
75
|
+
| **Batched Index Queries** | `SchemaManager.getSchema()` now fetches all indexes in a single query (eliminates N+1 pattern) |
|
|
76
|
+
| **Metadata Cache with TTL** | Added configurable TTL-based cache (default 30s, via `METADATA_CACHE_TTL_MS`) |
|
|
68
77
|
|
|
69
78
|
---
|
|
70
79
|
|