@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
package/DOCKER_README.md
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
# MySQL MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Last Updated February 18, 2026**
|
|
4
4
|
|
|
5
5
|
[](https://github.com/neverinfamous/mysql-mcp)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
[](https://github.com/neverinfamous/mysql-mcp/actions/workflows/codeql.yml)
|
|
8
|
-

|
|
8
|
+
[](https://www.npmjs.com/package/@neverinfamous/mysql-mcp)
|
|
10
9
|
[](https://hub.docker.com/r/writenotenow/mysql-mcp)
|
|
11
10
|
[](SECURITY.md)
|
|
12
11
|

|
|
13
|
-

|
|
13
|
+

|
|
15
14
|
|
|
16
|
-
**[📚 Full Documentation (Wiki)](https://github.com/neverinfamous/mysql-mcp/wiki)** • **[Changelog](https://github.com/neverinfamous/mysql-mcp/blob/master/CHANGELOG.md)** • **[Security](https://github.com/neverinfamous/mysql-mcp/blob/master/SECURITY.md)**
|
|
15
|
+
**[📚 Full Documentation (Wiki)](https://github.com/neverinfamous/mysql-mcp/wiki)** • **[Changelog](https://github.com/neverinfamous/mysql-mcp/blob/master/CHANGELOG.md)** • **[Security](https://github.com/neverinfamous/mysql-mcp/blob/master/SECURITY.md)** • **[Release Article](https://adamic.tech/articles/mysql-mcp-server)**
|
|
17
16
|
|
|
18
17
|
## The Most Comprehensive MySQL MCP Server Available
|
|
19
18
|
|
|
@@ -21,20 +20,20 @@
|
|
|
21
20
|
|
|
22
21
|
### 🎯 What Sets Us Apart
|
|
23
22
|
|
|
24
|
-
| Feature
|
|
25
|
-
|
|
26
|
-
| **
|
|
27
|
-
| **18 Observability Resources** | Real-time schema, performance metrics, process lists, status variables, replication status, and InnoDB diagnostics
|
|
28
|
-
| **19 AI-Powered Prompts**
|
|
29
|
-
| **OAuth 2.1 + Access Control** | Enterprise-ready security with RFC 9728/8414 compliance, granular scopes (`read`, `write`, `admin`, `full`, `db:*`, `table:*:*`), and Keycloak integration
|
|
30
|
-
| **Smart Tool Filtering**
|
|
31
|
-
| **HTTP Streaming Transport**
|
|
32
|
-
| **High-Performance Pooling**
|
|
33
|
-
| **Ecosystem Integrations**
|
|
34
|
-
| **Advanced Encryption**
|
|
35
|
-
| **Production-Ready Security**
|
|
36
|
-
| **Strict TypeScript**
|
|
37
|
-
| **MCP 2025-11-25 Compliant**
|
|
23
|
+
| Feature | Description |
|
|
24
|
+
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
25
|
+
| **193 Specialized Tools** | The largest MySQL tool collection for MCP — from core CRUD and native JSON functions (MySQL 5.7+) to advanced spatial/GIS, document store, and cluster management |
|
|
26
|
+
| **18 Observability Resources** | Real-time schema, performance metrics, process lists, status variables, replication status, and InnoDB diagnostics |
|
|
27
|
+
| **19 AI-Powered Prompts** | Guided workflows for query building, schema design, performance tuning, and infrastructure setup |
|
|
28
|
+
| **OAuth 2.1 + Access Control** | Enterprise-ready security with RFC 9728/8414 compliance, granular scopes (`read`, `write`, `admin`, `full`, `db:*`, `table:*:*`), and Keycloak integration |
|
|
29
|
+
| **Smart Tool Filtering** | 25 tool groups + 11 shortcuts let you stay within IDE limits while exposing exactly what you need |
|
|
30
|
+
| **HTTP Streaming Transport** | SSE-based streaming with `/sse`, `/messages`, and `/health` endpoints for remote deployments |
|
|
31
|
+
| **High-Performance Pooling** | Built-in connection pooling for efficient, concurrent database access |
|
|
32
|
+
| **Ecosystem Integrations** | First-class support for **MySQL Router**, **ProxySQL**, and **MySQL Shell** utilities |
|
|
33
|
+
| **Advanced Encryption** | Full TLS/SSL support for secure connections, plus tools for managing data masking, encryption monitoring, and compliance |
|
|
34
|
+
| **Production-Ready Security** | SQL injection protection, parameterized queries, input validation, and audit capabilities |
|
|
35
|
+
| **Strict TypeScript** | 100% type-safe codebase with 1833 tests and 86% coverage |
|
|
36
|
+
| **MCP 2025-11-25 Compliant** | Full protocol support with tool safety hints, resource priorities, and progress notifications |
|
|
38
37
|
|
|
39
38
|
---
|
|
40
39
|
|
|
@@ -42,21 +41,26 @@
|
|
|
42
41
|
|
|
43
42
|
### Prerequisites
|
|
44
43
|
|
|
45
|
-
- Node.js
|
|
44
|
+
- Node.js 24+
|
|
46
45
|
- MySQL 5.7+ or 8.0+ server
|
|
47
46
|
- npm or yarn
|
|
48
47
|
|
|
49
48
|
### Installation
|
|
50
49
|
|
|
50
|
+
#### NPM (Recommended)
|
|
51
|
+
|
|
51
52
|
```bash
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
# Install globally
|
|
54
|
+
npm install -g @neverinfamous/mysql-mcp
|
|
55
|
+
|
|
56
|
+
# Run
|
|
57
|
+
mysql-mcp --transport stdio --mysql mysql://user:password@localhost:3306/database
|
|
58
|
+
|
|
59
|
+
# Or use npx without installing
|
|
60
|
+
npx @neverinfamous/mysql-mcp --transport stdio --mysql mysql://user:password@localhost:3306/database
|
|
57
61
|
```
|
|
58
62
|
|
|
59
|
-
|
|
63
|
+
#### Docker
|
|
60
64
|
|
|
61
65
|
```bash
|
|
62
66
|
docker run -i --rm writenotenow/mysql-mcp:latest \
|
|
@@ -64,6 +68,16 @@ docker run -i --rm writenotenow/mysql-mcp:latest \
|
|
|
64
68
|
--mysql mysql://user:password@host.docker.internal:3306/database
|
|
65
69
|
```
|
|
66
70
|
|
|
71
|
+
#### From Source
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
git clone https://github.com/neverinfamous/mysql-mcp.git
|
|
75
|
+
cd mysql-mcp
|
|
76
|
+
npm install
|
|
77
|
+
npm run build
|
|
78
|
+
node dist/cli.js --transport stdio --mysql mysql://user:password@localhost:3306/database
|
|
79
|
+
```
|
|
80
|
+
|
|
67
81
|
---
|
|
68
82
|
|
|
69
83
|
## ⚡ MCP Client Configuration
|
|
@@ -73,6 +87,7 @@ docker run -i --rm writenotenow/mysql-mcp:latest \
|
|
|
73
87
|
> **When to use HTTP mode:** Use HTTP mode when deploying `mysql-mcp` as a standalone server that multiple clients can connect to remotely. For local development with Claude Desktop or Cursor IDE, use the default `stdio` mode shown below instead.
|
|
74
88
|
|
|
75
89
|
**Use cases for HTTP mode:**
|
|
90
|
+
|
|
76
91
|
- Running the server in a Docker container accessible over a network
|
|
77
92
|
- Deploying to cloud platforms (AWS, GCP, Azure)
|
|
78
93
|
- Enabling OAuth 2.1 authentication for enterprise security
|
|
@@ -85,11 +100,13 @@ For enterprise deployments, mysql-mcp supports OAuth 2.1 authentication with Key
|
|
|
85
100
|
### Quick Setup
|
|
86
101
|
|
|
87
102
|
**1. Start with OAuth disabled (default)**
|
|
103
|
+
|
|
88
104
|
```bash
|
|
89
105
|
mysql-mcp --mysql mysql://root:pass@localhost/db
|
|
90
106
|
```
|
|
91
107
|
|
|
92
108
|
**2. Enable OAuth with an identity provider**
|
|
109
|
+
|
|
93
110
|
```bash
|
|
94
111
|
mysql-mcp --mysql mysql://root:pass@localhost/db \
|
|
95
112
|
--oauth-enabled \
|
|
@@ -101,16 +118,18 @@ mysql-mcp --mysql mysql://root:pass@localhost/db \
|
|
|
101
118
|
|
|
102
119
|
```bash
|
|
103
120
|
# Local installation
|
|
104
|
-
node dist/cli.js --transport http --port 3000 --mysql mysql://user:password@localhost:3306/database
|
|
121
|
+
node dist/cli.js --transport http --port 3000 --server-host 0.0.0.0 --mysql mysql://user:password@localhost:3306/database
|
|
105
122
|
|
|
106
123
|
# Docker (expose port 3000)
|
|
107
124
|
docker run -p 3000:3000 writenotenow/mysql-mcp \
|
|
108
125
|
--transport http \
|
|
109
126
|
--port 3000 \
|
|
127
|
+
--server-host 0.0.0.0 \
|
|
110
128
|
--mysql mysql://user:password@host.docker.internal:3306/database
|
|
111
129
|
```
|
|
112
130
|
|
|
113
131
|
**Available endpoints:**
|
|
132
|
+
|
|
114
133
|
- `GET /sse` - Establish MCP connection via Server-Sent Events
|
|
115
134
|
- `POST /messages` - Send JSON-RPC messages to the server
|
|
116
135
|
- `GET /health` - Health check endpoint
|
|
@@ -127,8 +146,10 @@ docker run -p 3000:3000 writenotenow/mysql-mcp \
|
|
|
127
146
|
"command": "node",
|
|
128
147
|
"args": [
|
|
129
148
|
"C:/path/to/mysql-mcp/dist/cli.js",
|
|
130
|
-
"--transport",
|
|
131
|
-
"
|
|
149
|
+
"--transport",
|
|
150
|
+
"stdio",
|
|
151
|
+
"--mysql",
|
|
152
|
+
"mysql://user:password@localhost:3306/database"
|
|
132
153
|
]
|
|
133
154
|
}
|
|
134
155
|
}
|
|
@@ -142,20 +163,20 @@ docker run -p 3000:3000 writenotenow/mysql-mcp \
|
|
|
142
163
|
"mcpServers": {
|
|
143
164
|
"mysql-mcp": {
|
|
144
165
|
"command": "node",
|
|
145
|
-
"args": [
|
|
146
|
-
"C:/path/to/mysql-mcp/dist/cli.js",
|
|
147
|
-
"--transport", "stdio"
|
|
148
|
-
],
|
|
166
|
+
"args": ["C:/path/to/mysql-mcp/dist/cli.js", "--transport", "stdio"],
|
|
149
167
|
"env": {
|
|
150
168
|
"MYSQL_HOST": "localhost",
|
|
151
169
|
"MYSQL_PORT": "3306",
|
|
152
170
|
"MYSQL_USER": "your_user",
|
|
153
171
|
"MYSQL_PASSWORD": "your_password",
|
|
154
|
-
"MYSQL_DATABASE": "your_database"
|
|
172
|
+
"MYSQL_DATABASE": "your_database",
|
|
173
|
+
"MYSQL_XPORT": "33060"
|
|
155
174
|
}
|
|
156
175
|
}
|
|
157
176
|
}
|
|
158
177
|
}
|
|
178
|
+
|
|
179
|
+
> **Note:** `MYSQL_XPORT` (X Protocol port) defaults to `33060` if omitted. Only needed for `mysqlsh_import_json` and `docstore` tools. Set to your MySQL Router X Protocol port (e.g., `6448`) when using InnoDB Cluster.
|
|
159
180
|
```
|
|
160
181
|
|
|
161
182
|
> **📖 See the [Configuration Wiki](https://github.com/neverinfamous/mysql-mcp/wiki/Configuration)** for more configuration options.
|
|
@@ -164,20 +185,24 @@ docker run -p 3000:3000 writenotenow/mysql-mcp \
|
|
|
164
185
|
|
|
165
186
|
## 🔗 Database Connection Scenarios
|
|
166
187
|
|
|
167
|
-
| Scenario
|
|
168
|
-
|
|
169
|
-
| **MySQL on host machine** | `host.docker.internal`
|
|
170
|
-
| **MySQL in Docker**
|
|
171
|
-
| **Remote/Cloud MySQL**
|
|
188
|
+
| Scenario | Host to Use | Example Connection String |
|
|
189
|
+
| ------------------------- | ------------------------- | ------------------------------------------------ |
|
|
190
|
+
| **MySQL on host machine** | `host.docker.internal` | `mysql://user:pass@host.docker.internal:3306/db` |
|
|
191
|
+
| **MySQL in Docker** | Container name or network | `mysql://user:pass@mysql-container:3306/db` |
|
|
192
|
+
| **Remote/Cloud MySQL** | Hostname or IP | `mysql://user:pass@db.example.com:3306/db` |
|
|
172
193
|
|
|
173
194
|
### MySQL on Host Machine
|
|
195
|
+
|
|
174
196
|
If MySQL is installed directly on your computer (via installer, Homebrew, etc.):
|
|
197
|
+
|
|
175
198
|
```json
|
|
176
199
|
"--mysql", "mysql://user:password@host.docker.internal:3306/database"
|
|
177
200
|
```
|
|
178
201
|
|
|
179
202
|
### MySQL in Another Docker Container
|
|
203
|
+
|
|
180
204
|
Add both containers to the same Docker network, then use the container name:
|
|
205
|
+
|
|
181
206
|
```bash
|
|
182
207
|
# Create network and run MySQL
|
|
183
208
|
docker network create mynet
|
|
@@ -188,83 +213,102 @@ docker run -i --rm --network mynet writenotenow/mysql-mcp:latest \
|
|
|
188
213
|
```
|
|
189
214
|
|
|
190
215
|
### Remote/Cloud MySQL (RDS, Cloud SQL, etc.)
|
|
216
|
+
|
|
191
217
|
Use the remote hostname directly:
|
|
218
|
+
|
|
192
219
|
```json
|
|
193
220
|
"--mysql", "mysql://user:password@your-instance.region.rds.amazonaws.com:3306/database"
|
|
194
221
|
```
|
|
195
222
|
|
|
196
|
-
| Provider
|
|
197
|
-
|
|
198
|
-
| AWS RDS
|
|
199
|
-
| Google Cloud SQL | `project:region:instance` (via Cloud SQL Proxy)
|
|
200
|
-
| Azure MySQL
|
|
201
|
-
| PlanetScale
|
|
202
|
-
| DigitalOcean
|
|
223
|
+
| Provider | Example Hostname |
|
|
224
|
+
| ---------------- | ------------------------------------------------ |
|
|
225
|
+
| AWS RDS | `your-instance.xxxx.us-east-1.rds.amazonaws.com` |
|
|
226
|
+
| Google Cloud SQL | `project:region:instance` (via Cloud SQL Proxy) |
|
|
227
|
+
| Azure MySQL | `your-server.mysql.database.azure.com` |
|
|
228
|
+
| PlanetScale | `aws.connect.psdb.cloud` (SSL required) |
|
|
229
|
+
| DigitalOcean | `your-cluster-do-user-xxx.db.ondigitalocean.com` |
|
|
203
230
|
|
|
204
231
|
> **Tip:** For remote connections, ensure your MySQL server allows connections from Docker's IP range and that firewalls/security groups permit port 3306.
|
|
205
232
|
|
|
206
233
|
---
|
|
207
234
|
|
|
235
|
+
## Code Mode: Maximum Efficiency
|
|
236
|
+
|
|
237
|
+
Code Mode (`mysql_execute_code`) dramatically reduces token usage (70–90%) and is included by default in all presets.
|
|
238
|
+
|
|
239
|
+
> [!TIP]
|
|
240
|
+
> **Maximize Token Savings:** For the best results, instruct your AI agent to prefer Code Mode over individual tool calls. Add a rule like this to your agent's prompt or system configuration:
|
|
241
|
+
>
|
|
242
|
+
> _"When using mysql-mcp, prefer `mysql_execute_code` (Code Mode) for multi-step database operations to minimize token usage."_
|
|
243
|
+
>
|
|
244
|
+
> This ensures the agent batches operations into single calls instead of making many individual tool calls. See the [Code Mode wiki](https://github.com/neverinfamous/mysql-mcp/wiki/Code-Mode) for full API documentation.
|
|
245
|
+
|
|
246
|
+
> [!NOTE]
|
|
247
|
+
> **AntiGravity Users:** Server instructions are automatically sent to MCP clients during initialization. However, AntiGravity does not currently support MCP server instructions. For optimal Code Mode usage in AntiGravity, manually provide the contents of [`src/constants/ServerInstructions.ts`](https://github.com/neverinfamous/mysql-mcp/blob/master/src/constants/ServerInstructions.ts) to the agent in your prompt or user rules.
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
208
251
|
## 🛠️ Tool Filtering
|
|
209
252
|
|
|
210
253
|
> [!IMPORTANT]
|
|
211
|
-
> **AI IDEs like Cursor have tool limits (typically 40-50 tools).** With
|
|
254
|
+
> **AI IDEs like Cursor have tool limits (typically 40-50 tools).** With 193 tools available, you MUST use tool filtering to stay within your IDE's limits. We recommend `starter` (39 tools) as a starting point. Code Mode is included in all presets by default for 70-90% token savings on multi-step operations.
|
|
212
255
|
|
|
213
256
|
### What Can You Filter?
|
|
214
257
|
|
|
215
258
|
The `--tool-filter` argument accepts **shortcuts**, **groups**, or **tool names** — mix and match freely:
|
|
216
259
|
|
|
217
|
-
| Filter Pattern
|
|
218
|
-
|
|
219
|
-
| Shortcut only
|
|
220
|
-
| Groups only
|
|
221
|
-
| Shortcut + Group | `starter,spatial`
|
|
222
|
-
| Shortcut - Tool
|
|
260
|
+
| Filter Pattern | Example | Tools | Description |
|
|
261
|
+
| ---------------- | --------------------------- | ----- | ------------------------- |
|
|
262
|
+
| Shortcut only | `starter` | 39 | Use a predefined bundle |
|
|
263
|
+
| Groups only | `core,json,transactions` | 32 | Combine individual groups |
|
|
264
|
+
| Shortcut + Group | `starter,spatial` | 51 | Extend a shortcut |
|
|
265
|
+
| Shortcut - Tool | `starter,-mysql_drop_table` | 38 | Remove specific tools |
|
|
223
266
|
|
|
224
267
|
### Shortcuts (Predefined Bundles)
|
|
225
268
|
|
|
226
|
-
| Shortcut
|
|
227
|
-
|
|
228
|
-
| `starter`
|
|
229
|
-
| `essential`
|
|
230
|
-
| `dev-power`
|
|
231
|
-
| `ai-data`
|
|
232
|
-
| `ai-spatial`
|
|
233
|
-
| `dba-monitor`
|
|
234
|
-
| `dba-manage`
|
|
235
|
-
| `dba-secure`
|
|
236
|
-
| `base-core`
|
|
237
|
-
| `base-advanced` |
|
|
238
|
-
| `ecosystem`
|
|
239
|
-
|
|
240
|
-
### Tool Groups (
|
|
241
|
-
|
|
242
|
-
| Group
|
|
243
|
-
|
|
244
|
-
| `core`
|
|
245
|
-
| `transactions` | 7
|
|
246
|
-
| `json`
|
|
247
|
-
| `text`
|
|
248
|
-
| `fulltext`
|
|
249
|
-
| `performance`
|
|
250
|
-
| `optimization` | 4
|
|
251
|
-
| `admin`
|
|
252
|
-
| `monitoring`
|
|
253
|
-
| `backup`
|
|
254
|
-
| `replication`
|
|
255
|
-
| `partitioning` | 4
|
|
256
|
-
| `
|
|
257
|
-
| `
|
|
258
|
-
| `
|
|
259
|
-
| `
|
|
260
|
-
| `
|
|
261
|
-
| `
|
|
262
|
-
| `
|
|
263
|
-
| `
|
|
264
|
-
| `
|
|
265
|
-
| `cluster`
|
|
266
|
-
| `
|
|
267
|
-
| `
|
|
269
|
+
| Shortcut | Tools | Use Case | What's Included |
|
|
270
|
+
| --------------- | ------ | ------------------ | ------------------------------------------------------------------ |
|
|
271
|
+
| `starter` | **39** | 🌟 **Recommended** | core, json, transactions, text, codemode |
|
|
272
|
+
| `essential` | 16 | Minimal footprint | core, transactions, codemode |
|
|
273
|
+
| `dev-power` | 47 | Power Developer | core, schema, performance, stats, fulltext, transactions, codemode |
|
|
274
|
+
| `ai-data` | 46 | AI Data Analyst | core, json, docstore, text, fulltext, codemode |
|
|
275
|
+
| `ai-spatial` | 44 | AI Spatial Analyst | core, spatial, stats, performance, transactions, codemode |
|
|
276
|
+
| `dba-monitor` | 36 | DBA Monitoring | core, monitoring, performance, sysschema, optimization, codemode |
|
|
277
|
+
| `dba-manage` | 34 | DBA Management | core, admin, backup, replication, partitioning, events, codemode |
|
|
278
|
+
| `dba-secure` | 33 | DBA Security | core, security, roles, transactions, codemode |
|
|
279
|
+
| `base-core` | 49 | Base Ops | core, json, transactions, text, schema, codemode |
|
|
280
|
+
| `base-advanced` | 41 | Advanced Features | docstore, spatial, stats, fulltext, events, codemode |
|
|
281
|
+
| `ecosystem` | 42 | External Tools | cluster, proxysql, router, shell, codemode |
|
|
282
|
+
|
|
283
|
+
### Tool Groups (25 Available)
|
|
284
|
+
|
|
285
|
+
| Group | Tools | Description |
|
|
286
|
+
| -------------- | ----- | ---------------------------------------- |
|
|
287
|
+
| `core` | 8 | Read/write queries, tables, indexes |
|
|
288
|
+
| `transactions` | 7 | BEGIN, COMMIT, ROLLBACK, savepoints |
|
|
289
|
+
| `json` | 17 | JSON functions, merge, diff, stats |
|
|
290
|
+
| `text` | 6 | REGEXP, LIKE, SOUNDEX |
|
|
291
|
+
| `fulltext` | 5 | Natural language & boolean search |
|
|
292
|
+
| `performance` | 8 | EXPLAIN, query analysis, slow queries |
|
|
293
|
+
| `optimization` | 4 | Index hints, recommendations |
|
|
294
|
+
| `admin` | 6 | OPTIMIZE, ANALYZE, CHECK |
|
|
295
|
+
| `monitoring` | 7 | PROCESSLIST, status variables |
|
|
296
|
+
| `backup` | 4 | Export, import, mysqldump |
|
|
297
|
+
| `replication` | 5 | Master/slave, binlog |
|
|
298
|
+
| `partitioning` | 4 | Partition management |
|
|
299
|
+
| `schema` | 10 | Views, procedures, triggers, constraints |
|
|
300
|
+
| `shell` | 10 | MySQL Shell utilities |
|
|
301
|
+
| `events` | 6 | Event Scheduler management |
|
|
302
|
+
| `sysschema` | 8 | sys schema diagnostics |
|
|
303
|
+
| `stats` | 8 | Statistical analysis tools |
|
|
304
|
+
| `spatial` | 12 | Spatial/GIS operations |
|
|
305
|
+
| `security` | 9 | Audit, SSL, encryption, masking |
|
|
306
|
+
| `roles` | 8 | MySQL 8.0 role management |
|
|
307
|
+
| `docstore` | 9 | Document Store collections |
|
|
308
|
+
| `cluster` | 10 | Group Replication, InnoDB Cluster |
|
|
309
|
+
| `proxysql` | 12 | ProxySQL management |
|
|
310
|
+
| `router` | 9 | MySQL Router REST API |
|
|
311
|
+
| `codemode` | 1 | Sandboxed code execution |
|
|
268
312
|
|
|
269
313
|
---
|
|
270
314
|
|
|
@@ -272,7 +316,8 @@ The `--tool-filter` argument accepts **shortcuts**, **groups**, or **tool names*
|
|
|
272
316
|
|
|
273
317
|
Add one of these configurations to your IDE's MCP settings file (e.g., `cline_mcp_settings.json`, `.cursorrules`, or equivalent):
|
|
274
318
|
|
|
275
|
-
#### Option 1: Starter (
|
|
319
|
+
#### Option 1: Starter (39 Essential Tools)
|
|
320
|
+
|
|
276
321
|
**Best for:** General MySQL database work - CRUD operations, schema management, and monitoring.
|
|
277
322
|
|
|
278
323
|
```json
|
|
@@ -299,12 +344,50 @@ Add one of these configurations to your IDE's MCP settings file (e.g., `cline_mc
|
|
|
299
344
|
}
|
|
300
345
|
```
|
|
301
346
|
|
|
302
|
-
#### Option 2:
|
|
347
|
+
#### Option 2: Cluster (11 Tools for InnoDB Cluster Monitoring)
|
|
348
|
+
|
|
349
|
+
**Best for:** Monitoring InnoDB Cluster, Group Replication status, and cluster topology.
|
|
350
|
+
|
|
351
|
+
> **⚠️ Prerequisites:**
|
|
352
|
+
>
|
|
353
|
+
> - **InnoDB Cluster** must be configured and running with Group Replication enabled
|
|
354
|
+
> - Connect to a cluster node directly (e.g., `localhost:3307`) — NOT a standalone MySQL instance
|
|
355
|
+
> - Use `cluster_admin` or `root` user with appropriate privileges
|
|
356
|
+
> - See [MySQL Ecosystem Setup Guide](https://github.com/neverinfamous/mysql-mcp/wiki/MySQL-Ecosystem-Setup) for cluster setup instructions
|
|
357
|
+
|
|
358
|
+
```json
|
|
359
|
+
{
|
|
360
|
+
"mcpServers": {
|
|
361
|
+
"mysql-mcp-cluster": {
|
|
362
|
+
"command": "node",
|
|
363
|
+
"args": [
|
|
364
|
+
"/path/to/mysql-mcp/dist/cli.js",
|
|
365
|
+
"--transport",
|
|
366
|
+
"stdio",
|
|
367
|
+
"--tool-filter",
|
|
368
|
+
"cluster"
|
|
369
|
+
],
|
|
370
|
+
"env": {
|
|
371
|
+
"MYSQL_HOST": "localhost",
|
|
372
|
+
"MYSQL_PORT": "3307",
|
|
373
|
+
"MYSQL_USER": "cluster_admin",
|
|
374
|
+
"MYSQL_PASSWORD": "cluster_password",
|
|
375
|
+
"MYSQL_DATABASE": "mysql"
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
#### Option 3: Ecosystem (42 Tools for InnoDB Cluster Deployments)
|
|
383
|
+
|
|
303
384
|
**Best for:** MySQL Router, ProxySQL, MySQL Shell, and InnoDB Cluster deployments.
|
|
304
385
|
|
|
305
|
-
> **⚠️ Prerequisites:**
|
|
386
|
+
> **⚠️ Prerequisites:**
|
|
387
|
+
>
|
|
306
388
|
> - **InnoDB Cluster** with MySQL Router requires the cluster to be running for Router REST API authentication (uses `metadata_cache` backend)
|
|
307
389
|
> - Router REST API uses HTTPS with self-signed certificates by default — set `MYSQL_ROUTER_INSECURE=true` to bypass certificate verification
|
|
390
|
+
> - **X Protocol:** InnoDB Cluster includes the MySQL X Plugin by default. Set `MYSQL_XPORT` to the Router's X Protocol port (e.g., `6448`) for `mysqlsh_import_json` and `docstore` tools
|
|
308
391
|
> - See [MySQL Ecosystem Setup Guide](https://github.com/neverinfamous/mysql-mcp/wiki/MySQL-Ecosystem-Setup) for detailed instructions
|
|
309
392
|
|
|
310
393
|
```json
|
|
@@ -322,9 +405,10 @@ Add one of these configurations to your IDE's MCP settings file (e.g., `cline_mc
|
|
|
322
405
|
"env": {
|
|
323
406
|
"MYSQL_HOST": "localhost",
|
|
324
407
|
"MYSQL_PORT": "3307",
|
|
408
|
+
"MYSQL_XPORT": "6448",
|
|
325
409
|
"MYSQL_USER": "cluster_admin",
|
|
326
410
|
"MYSQL_PASSWORD": "cluster_password",
|
|
327
|
-
"MYSQL_DATABASE": "
|
|
411
|
+
"MYSQL_DATABASE": "testdb",
|
|
328
412
|
"MYSQL_ROUTER_URL": "https://localhost:8443",
|
|
329
413
|
"MYSQL_ROUTER_USER": "rest_api",
|
|
330
414
|
"MYSQL_ROUTER_PASSWORD": "router_password",
|
|
@@ -366,27 +450,27 @@ For debugging or manual reference, see the source: [`src/constants/ServerInstruc
|
|
|
366
450
|
|
|
367
451
|
This server includes **19 intelligent prompts** for guided workflows:
|
|
368
452
|
|
|
369
|
-
| Prompt
|
|
370
|
-
|
|
371
|
-
| `mysql_query_builder`
|
|
372
|
-
| `mysql_schema_design`
|
|
373
|
-
| `mysql_performance_analysis`
|
|
374
|
-
| `mysql_migration`
|
|
375
|
-
| `mysql_database_health_check` | Comprehensive database health assessment
|
|
376
|
-
| `mysql_backup_strategy`
|
|
377
|
-
| `mysql_index_tuning`
|
|
378
|
-
| `mysql_setup_router`
|
|
379
|
-
| `mysql_setup_proxysql`
|
|
380
|
-
| `mysql_setup_replication`
|
|
381
|
-
| `mysql_setup_shell`
|
|
382
|
-
| `mysql_tool_index`
|
|
383
|
-
| `mysql_quick_query`
|
|
384
|
-
| `mysql_quick_schema`
|
|
385
|
-
| **`mysql_setup_events`**
|
|
386
|
-
| **`mysql_sys_schema_guide`**
|
|
387
|
-
| **`mysql_setup_spatial`**
|
|
388
|
-
| **`mysql_setup_cluster`**
|
|
389
|
-
| **`mysql_setup_docstore`**
|
|
453
|
+
| Prompt | Description |
|
|
454
|
+
| ----------------------------- | ------------------------------------------------------ |
|
|
455
|
+
| `mysql_query_builder` | Construct SQL queries with security best practices |
|
|
456
|
+
| `mysql_schema_design` | Design table schemas with indexes and relationships |
|
|
457
|
+
| `mysql_performance_analysis` | Analyze slow queries with optimization recommendations |
|
|
458
|
+
| `mysql_migration` | Generate migration scripts with rollback options |
|
|
459
|
+
| `mysql_database_health_check` | Comprehensive database health assessment |
|
|
460
|
+
| `mysql_backup_strategy` | Enterprise backup planning with RTO/RPO |
|
|
461
|
+
| `mysql_index_tuning` | Index analysis and optimization workflow |
|
|
462
|
+
| `mysql_setup_router` | MySQL Router configuration guide |
|
|
463
|
+
| `mysql_setup_proxysql` | ProxySQL configuration guide |
|
|
464
|
+
| `mysql_setup_replication` | Replication setup guide |
|
|
465
|
+
| `mysql_setup_shell` | MySQL Shell usage guide |
|
|
466
|
+
| `mysql_tool_index` | Complete tool index with categories |
|
|
467
|
+
| `mysql_quick_query` | Quick query execution shortcut |
|
|
468
|
+
| `mysql_quick_schema` | Quick schema exploration |
|
|
469
|
+
| **`mysql_setup_events`** | Event Scheduler setup guide |
|
|
470
|
+
| **`mysql_sys_schema_guide`** | sys schema usage and diagnostics |
|
|
471
|
+
| **`mysql_setup_spatial`** | Spatial/GIS data setup guide |
|
|
472
|
+
| **`mysql_setup_cluster`** | InnoDB Cluster/Group Replication guide |
|
|
473
|
+
| **`mysql_setup_docstore`** | Document Store / X DevAPI guide |
|
|
390
474
|
|
|
391
475
|
---
|
|
392
476
|
|
|
@@ -394,26 +478,26 @@ This server includes **19 intelligent prompts** for guided workflows:
|
|
|
394
478
|
|
|
395
479
|
This server exposes **18 resources** for database observability:
|
|
396
480
|
|
|
397
|
-
| Resource
|
|
398
|
-
|
|
399
|
-
| `mysql://schema`
|
|
400
|
-
| `mysql://tables`
|
|
401
|
-
| `mysql://variables`
|
|
402
|
-
| `mysql://status`
|
|
403
|
-
| `mysql://processlist`
|
|
404
|
-
| `mysql://pool`
|
|
405
|
-
| `mysql://capabilities`
|
|
406
|
-
| `mysql://health`
|
|
407
|
-
| `mysql://performance`
|
|
408
|
-
| `mysql://indexes`
|
|
409
|
-
| `mysql://replication`
|
|
410
|
-
| `mysql://innodb`
|
|
411
|
-
| **`mysql://events`**
|
|
412
|
-
| **`mysql://sysschema`** | sys schema diagnostics summary
|
|
413
|
-
| **`mysql://locks`**
|
|
414
|
-
| **`mysql://cluster`**
|
|
415
|
-
| **`mysql://spatial`**
|
|
416
|
-
| **`mysql://docstore`**
|
|
481
|
+
| Resource | Description |
|
|
482
|
+
| ----------------------- | ------------------------------------------- |
|
|
483
|
+
| `mysql://schema` | Full database schema |
|
|
484
|
+
| `mysql://tables` | Table listing with metadata |
|
|
485
|
+
| `mysql://variables` | Server configuration variables |
|
|
486
|
+
| `mysql://status` | Server status metrics |
|
|
487
|
+
| `mysql://processlist` | Active connections and queries |
|
|
488
|
+
| `mysql://pool` | Connection pool statistics |
|
|
489
|
+
| `mysql://capabilities` | Server version, features, tool categories |
|
|
490
|
+
| `mysql://health` | Comprehensive health status |
|
|
491
|
+
| `mysql://performance` | Query performance metrics |
|
|
492
|
+
| `mysql://indexes` | Index usage and statistics |
|
|
493
|
+
| `mysql://replication` | Replication status and lag |
|
|
494
|
+
| `mysql://innodb` | InnoDB buffer pool and engine metrics |
|
|
495
|
+
| **`mysql://events`** | Event Scheduler status and scheduled events |
|
|
496
|
+
| **`mysql://sysschema`** | sys schema diagnostics summary |
|
|
497
|
+
| **`mysql://locks`** | InnoDB lock contention detection |
|
|
498
|
+
| **`mysql://cluster`** | Group Replication/InnoDB Cluster status |
|
|
499
|
+
| **`mysql://spatial`** | Spatial columns and indexes |
|
|
500
|
+
| **`mysql://docstore`** | Document Store collections |
|
|
417
501
|
|
|
418
502
|
---
|
|
419
503
|
|
|
@@ -421,43 +505,48 @@ This server exposes **18 resources** for database observability:
|
|
|
421
505
|
|
|
422
506
|
For specialized setups, see these Wiki pages:
|
|
423
507
|
|
|
424
|
-
| Topic
|
|
425
|
-
|
|
508
|
+
| Topic | Description |
|
|
509
|
+
| ---------------------------------------------------------------------------- | --------------------------------------------------- |
|
|
426
510
|
| [MySQL Router](https://github.com/neverinfamous/mysql-mcp/wiki/MySQL-Router) | Configure Router REST API access for InnoDB Cluster |
|
|
427
|
-
| [ProxySQL](https://github.com/neverinfamous/mysql-mcp/wiki/ProxySQL)
|
|
428
|
-
| [MySQL Shell](https://github.com/neverinfamous/mysql-mcp/wiki/MySQL-Shell)
|
|
511
|
+
| [ProxySQL](https://github.com/neverinfamous/mysql-mcp/wiki/ProxySQL) | Configure ProxySQL admin interface access |
|
|
512
|
+
| [MySQL Shell](https://github.com/neverinfamous/mysql-mcp/wiki/MySQL-Shell) | Configure MySQL Shell for dump/load operations |
|
|
429
513
|
|
|
430
514
|
---
|
|
431
515
|
|
|
432
516
|
## ⚡ Performance Tuning
|
|
433
517
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
|
437
|
-
|
|
|
518
|
+
Schema metadata is cached to reduce repeated queries during tool/resource invocations.
|
|
519
|
+
|
|
520
|
+
| Variable | Default | Description |
|
|
521
|
+
| ----------------------- | ------- | -------------------------------------------------- |
|
|
522
|
+
| `METADATA_CACHE_TTL_MS` | `30000` | Cache TTL for schema metadata (milliseconds) |
|
|
523
|
+
| `LOG_LEVEL` | `info` | Log verbosity: `debug`, `info`, `warning`, `error` |
|
|
438
524
|
|
|
439
525
|
> **Tip:** Lower `METADATA_CACHE_TTL_MS` for development (e.g., `5000`), or increase it for production with stable schemas (e.g., `300000` = 5 min).
|
|
440
526
|
|
|
527
|
+
> **Built-in payload optimization:** Many tools support optional `summary: true` for condensed responses and `limit` parameters to cap result sizes. These are particularly useful for cluster status, monitoring, and sys schema tools where full responses can be large. See [`ServerInstructions.ts`](https://github.com/neverinfamous/mysql-mcp/blob/master/src/constants/ServerInstructions.ts) for per-tool details.
|
|
528
|
+
|
|
441
529
|
---
|
|
442
530
|
|
|
443
531
|
### CLI Options
|
|
444
532
|
|
|
445
|
-
| Option
|
|
446
|
-
|
|
447
|
-
| `--
|
|
448
|
-
| `--oauth-
|
|
449
|
-
| `--oauth-
|
|
450
|
-
| `--oauth-
|
|
451
|
-
| `--oauth-
|
|
533
|
+
| Option | Environment Variable | Description |
|
|
534
|
+
| ------------------------- | ----------------------- | --------------------------------------------------- |
|
|
535
|
+
| `--server-host` | `MCP_HOST` | Host to bind HTTP transport to (default: localhost) |
|
|
536
|
+
| `--oauth-enabled` | `OAUTH_ENABLED` | Enable OAuth authentication |
|
|
537
|
+
| `--oauth-issuer` | `OAUTH_ISSUER` | Authorization server URL |
|
|
538
|
+
| `--oauth-audience` | `OAUTH_AUDIENCE` | Expected token audience |
|
|
539
|
+
| `--oauth-jwks-uri` | `OAUTH_JWKS_URI` | JWKS URI (auto-discovered) |
|
|
540
|
+
| `--oauth-clock-tolerance` | `OAUTH_CLOCK_TOLERANCE` | Clock tolerance in seconds |
|
|
452
541
|
|
|
453
542
|
### Scopes
|
|
454
543
|
|
|
455
|
-
| Scope
|
|
456
|
-
|
|
457
|
-
| `read`
|
|
458
|
-
| `write` | Read + write operations
|
|
544
|
+
| Scope | Access Level |
|
|
545
|
+
| ------- | ------------------------- |
|
|
546
|
+
| `read` | Read-only queries |
|
|
547
|
+
| `write` | Read + write operations |
|
|
459
548
|
| `admin` | Administrative operations |
|
|
460
|
-
| `full`
|
|
549
|
+
| `full` | All operations |
|
|
461
550
|
|
|
462
551
|
> **📖 See the [OAuth Wiki](https://github.com/neverinfamous/mysql-mcp/wiki/OAuth)** for Keycloak setup and detailed configuration.
|
|
463
552
|
|