@neverinfamous/mysql-mcp 2.1.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/.dockerignore +41 -0
- package/.env.example +33 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +29 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
- package/.github/dependabot.yml +19 -0
- package/.github/pull_request_template.md +23 -0
- package/.github/workflows/codeql.yml +64 -0
- package/.github/workflows/docker-publish.yml +285 -0
- package/.github/workflows/publish-npm.yml +75 -0
- package/CHANGELOG.md +481 -0
- package/CODE_OF_CONDUCT.md +29 -0
- package/CONTRIBUTING.md +57 -0
- package/DOCKER_README.md +482 -0
- package/Dockerfile +78 -0
- package/LICENSE +21 -0
- package/README.md +594 -0
- package/SECURITY.md +66 -0
- package/VERSION +1 -0
- package/dist/__tests__/mocks/adapter.d.ts +80 -0
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -0
- package/dist/__tests__/mocks/adapter.js +202 -0
- package/dist/__tests__/mocks/adapter.js.map +1 -0
- package/dist/__tests__/mocks/index.d.ts +11 -0
- package/dist/__tests__/mocks/index.d.ts.map +1 -0
- package/dist/__tests__/mocks/index.js +11 -0
- package/dist/__tests__/mocks/index.js.map +1 -0
- package/dist/__tests__/mocks/mysql.d.ts +36 -0
- package/dist/__tests__/mocks/mysql.d.ts.map +1 -0
- package/dist/__tests__/mocks/mysql.js +110 -0
- package/dist/__tests__/mocks/mysql.js.map +1 -0
- package/dist/__tests__/setup.d.ts +40 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +45 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/adapters/DatabaseAdapter.d.ts +134 -0
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
- package/dist/adapters/DatabaseAdapter.js +211 -0
- package/dist/adapters/DatabaseAdapter.js.map +1 -0
- package/dist/adapters/mysql/MySQLAdapter.d.ts +88 -0
- package/dist/adapters/mysql/MySQLAdapter.d.ts.map +1 -0
- package/dist/adapters/mysql/MySQLAdapter.js +469 -0
- package/dist/adapters/mysql/MySQLAdapter.js.map +1 -0
- package/dist/adapters/mysql/SchemaManager.d.ts +36 -0
- package/dist/adapters/mysql/SchemaManager.d.ts.map +1 -0
- package/dist/adapters/mysql/SchemaManager.js +260 -0
- package/dist/adapters/mysql/SchemaManager.js.map +1 -0
- package/dist/adapters/mysql/index.d.ts +6 -0
- package/dist/adapters/mysql/index.d.ts.map +1 -0
- package/dist/adapters/mysql/index.js +7 -0
- package/dist/adapters/mysql/index.js.map +1 -0
- package/dist/adapters/mysql/prompts/backupStrategy.d.ts +8 -0
- package/dist/adapters/mysql/prompts/backupStrategy.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/backupStrategy.js +74 -0
- package/dist/adapters/mysql/prompts/backupStrategy.js.map +1 -0
- package/dist/adapters/mysql/prompts/clusterSetup.d.ts +8 -0
- package/dist/adapters/mysql/prompts/clusterSetup.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/clusterSetup.js +112 -0
- package/dist/adapters/mysql/prompts/clusterSetup.js.map +1 -0
- package/dist/adapters/mysql/prompts/docstoreSetup.d.ts +8 -0
- package/dist/adapters/mysql/prompts/docstoreSetup.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/docstoreSetup.js +117 -0
- package/dist/adapters/mysql/prompts/docstoreSetup.js.map +1 -0
- package/dist/adapters/mysql/prompts/eventScheduler.d.ts +8 -0
- package/dist/adapters/mysql/prompts/eventScheduler.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/eventScheduler.js +97 -0
- package/dist/adapters/mysql/prompts/eventScheduler.js.map +1 -0
- package/dist/adapters/mysql/prompts/healthCheck.d.ts +8 -0
- package/dist/adapters/mysql/prompts/healthCheck.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/healthCheck.js +49 -0
- package/dist/adapters/mysql/prompts/healthCheck.js.map +1 -0
- package/dist/adapters/mysql/prompts/index.d.ts +31 -0
- package/dist/adapters/mysql/prompts/index.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/index.js +308 -0
- package/dist/adapters/mysql/prompts/index.js.map +1 -0
- package/dist/adapters/mysql/prompts/indexTuning.d.ts +8 -0
- package/dist/adapters/mysql/prompts/indexTuning.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/indexTuning.js +83 -0
- package/dist/adapters/mysql/prompts/indexTuning.js.map +1 -0
- package/dist/adapters/mysql/prompts/mysqlshSetup.d.ts +8 -0
- package/dist/adapters/mysql/prompts/mysqlshSetup.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/mysqlshSetup.js +113 -0
- package/dist/adapters/mysql/prompts/mysqlshSetup.js.map +1 -0
- package/dist/adapters/mysql/prompts/proxysqlSetup.d.ts +8 -0
- package/dist/adapters/mysql/prompts/proxysqlSetup.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/proxysqlSetup.js +109 -0
- package/dist/adapters/mysql/prompts/proxysqlSetup.js.map +1 -0
- package/dist/adapters/mysql/prompts/replicationSetup.d.ts +8 -0
- package/dist/adapters/mysql/prompts/replicationSetup.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/replicationSetup.js +140 -0
- package/dist/adapters/mysql/prompts/replicationSetup.js.map +1 -0
- package/dist/adapters/mysql/prompts/routerSetup.d.ts +8 -0
- package/dist/adapters/mysql/prompts/routerSetup.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/routerSetup.js +100 -0
- package/dist/adapters/mysql/prompts/routerSetup.js.map +1 -0
- package/dist/adapters/mysql/prompts/spatialSetup.d.ts +8 -0
- package/dist/adapters/mysql/prompts/spatialSetup.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/spatialSetup.js +103 -0
- package/dist/adapters/mysql/prompts/spatialSetup.js.map +1 -0
- package/dist/adapters/mysql/prompts/sysSchema.d.ts +8 -0
- package/dist/adapters/mysql/prompts/sysSchema.d.ts.map +1 -0
- package/dist/adapters/mysql/prompts/sysSchema.js +103 -0
- package/dist/adapters/mysql/prompts/sysSchema.js.map +1 -0
- package/dist/adapters/mysql/resources/capabilities.d.ts +9 -0
- package/dist/adapters/mysql/resources/capabilities.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/capabilities.js +41 -0
- package/dist/adapters/mysql/resources/capabilities.js.map +1 -0
- package/dist/adapters/mysql/resources/cluster.d.ts +7 -0
- package/dist/adapters/mysql/resources/cluster.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/cluster.js +61 -0
- package/dist/adapters/mysql/resources/cluster.js.map +1 -0
- package/dist/adapters/mysql/resources/docstore.d.ts +7 -0
- package/dist/adapters/mysql/resources/docstore.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/docstore.js +61 -0
- package/dist/adapters/mysql/resources/docstore.js.map +1 -0
- package/dist/adapters/mysql/resources/events.d.ts +7 -0
- package/dist/adapters/mysql/resources/events.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/events.js +41 -0
- package/dist/adapters/mysql/resources/events.js.map +1 -0
- package/dist/adapters/mysql/resources/health.d.ts +10 -0
- package/dist/adapters/mysql/resources/health.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/health.js +76 -0
- package/dist/adapters/mysql/resources/health.js.map +1 -0
- package/dist/adapters/mysql/resources/index.d.ts +29 -0
- package/dist/adapters/mysql/resources/index.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/index.js +66 -0
- package/dist/adapters/mysql/resources/index.js.map +1 -0
- package/dist/adapters/mysql/resources/indexes.d.ts +9 -0
- package/dist/adapters/mysql/resources/indexes.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/indexes.js +88 -0
- package/dist/adapters/mysql/resources/indexes.js.map +1 -0
- package/dist/adapters/mysql/resources/innodb.d.ts +9 -0
- package/dist/adapters/mysql/resources/innodb.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/innodb.js +95 -0
- package/dist/adapters/mysql/resources/innodb.js.map +1 -0
- package/dist/adapters/mysql/resources/locks.d.ts +7 -0
- package/dist/adapters/mysql/resources/locks.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/locks.js +57 -0
- package/dist/adapters/mysql/resources/locks.js.map +1 -0
- package/dist/adapters/mysql/resources/performance.d.ts +9 -0
- package/dist/adapters/mysql/resources/performance.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/performance.js +89 -0
- package/dist/adapters/mysql/resources/performance.js.map +1 -0
- package/dist/adapters/mysql/resources/pool.d.ts +7 -0
- package/dist/adapters/mysql/resources/pool.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/pool.js +21 -0
- package/dist/adapters/mysql/resources/pool.js.map +1 -0
- package/dist/adapters/mysql/resources/processlist.d.ts +7 -0
- package/dist/adapters/mysql/resources/processlist.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/processlist.js +18 -0
- package/dist/adapters/mysql/resources/processlist.js.map +1 -0
- package/dist/adapters/mysql/resources/replication.d.ts +9 -0
- package/dist/adapters/mysql/resources/replication.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/replication.js +116 -0
- package/dist/adapters/mysql/resources/replication.js.map +1 -0
- package/dist/adapters/mysql/resources/schema.d.ts +7 -0
- package/dist/adapters/mysql/resources/schema.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/schema.js +18 -0
- package/dist/adapters/mysql/resources/schema.js.map +1 -0
- package/dist/adapters/mysql/resources/spatial.d.ts +7 -0
- package/dist/adapters/mysql/resources/spatial.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/spatial.js +47 -0
- package/dist/adapters/mysql/resources/spatial.js.map +1 -0
- package/dist/adapters/mysql/resources/status.d.ts +7 -0
- package/dist/adapters/mysql/resources/status.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/status.js +22 -0
- package/dist/adapters/mysql/resources/status.js.map +1 -0
- package/dist/adapters/mysql/resources/sysschema.d.ts +7 -0
- package/dist/adapters/mysql/resources/sysschema.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/sysschema.js +50 -0
- package/dist/adapters/mysql/resources/sysschema.js.map +1 -0
- package/dist/adapters/mysql/resources/tables.d.ts +7 -0
- package/dist/adapters/mysql/resources/tables.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/tables.js +18 -0
- package/dist/adapters/mysql/resources/tables.js.map +1 -0
- package/dist/adapters/mysql/resources/variables.d.ts +7 -0
- package/dist/adapters/mysql/resources/variables.d.ts.map +1 -0
- package/dist/adapters/mysql/resources/variables.js +22 -0
- package/dist/adapters/mysql/resources/variables.js.map +1 -0
- package/dist/adapters/mysql/tools/admin/backup.d.ts +13 -0
- package/dist/adapters/mysql/tools/admin/backup.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/admin/backup.js +208 -0
- package/dist/adapters/mysql/tools/admin/backup.js.map +1 -0
- package/dist/adapters/mysql/tools/admin/index.d.ts +21 -0
- package/dist/adapters/mysql/tools/admin/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/admin/index.js +49 -0
- package/dist/adapters/mysql/tools/admin/index.js.map +1 -0
- package/dist/adapters/mysql/tools/admin/maintenance.d.ts +15 -0
- package/dist/adapters/mysql/tools/admin/maintenance.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/admin/maintenance.js +143 -0
- package/dist/adapters/mysql/tools/admin/maintenance.js.map +1 -0
- package/dist/adapters/mysql/tools/admin/monitoring.d.ts +16 -0
- package/dist/adapters/mysql/tools/admin/monitoring.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/admin/monitoring.js +199 -0
- package/dist/adapters/mysql/tools/admin/monitoring.js.map +1 -0
- package/dist/adapters/mysql/tools/cluster/group-replication.d.ts +29 -0
- package/dist/adapters/mysql/tools/cluster/group-replication.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/cluster/group-replication.js +290 -0
- package/dist/adapters/mysql/tools/cluster/group-replication.js.map +1 -0
- package/dist/adapters/mysql/tools/cluster/index.d.ts +13 -0
- package/dist/adapters/mysql/tools/cluster/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/cluster/index.js +27 -0
- package/dist/adapters/mysql/tools/cluster/index.js.map +1 -0
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts +29 -0
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.js +351 -0
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.js.map +1 -0
- package/dist/adapters/mysql/tools/core.d.ts +13 -0
- package/dist/adapters/mysql/tools/core.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/core.js +308 -0
- package/dist/adapters/mysql/tools/core.js.map +1 -0
- package/dist/adapters/mysql/tools/docstore.d.ts +10 -0
- package/dist/adapters/mysql/tools/docstore.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/docstore.js +320 -0
- package/dist/adapters/mysql/tools/docstore.js.map +1 -0
- package/dist/adapters/mysql/tools/events.d.ts +13 -0
- package/dist/adapters/mysql/tools/events.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/events.js +367 -0
- package/dist/adapters/mysql/tools/events.js.map +1 -0
- package/dist/adapters/mysql/tools/index.d.ts +25 -0
- package/dist/adapters/mysql/tools/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/index.js +43 -0
- package/dist/adapters/mysql/tools/index.js.map +1 -0
- package/dist/adapters/mysql/tools/json/core.d.ts +17 -0
- package/dist/adapters/mysql/tools/json/core.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/json/core.js +264 -0
- package/dist/adapters/mysql/tools/json/core.js.map +1 -0
- package/dist/adapters/mysql/tools/json/enhanced.d.ts +14 -0
- package/dist/adapters/mysql/tools/json/enhanced.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/json/enhanced.js +305 -0
- package/dist/adapters/mysql/tools/json/enhanced.js.map +1 -0
- package/dist/adapters/mysql/tools/json/helpers.d.ts +16 -0
- package/dist/adapters/mysql/tools/json/helpers.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/json/helpers.js +118 -0
- package/dist/adapters/mysql/tools/json/helpers.js.map +1 -0
- package/dist/adapters/mysql/tools/json/index.d.ts +21 -0
- package/dist/adapters/mysql/tools/json/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/json/index.js +49 -0
- package/dist/adapters/mysql/tools/json/index.js.map +1 -0
- package/dist/adapters/mysql/tools/partitioning.d.ts +13 -0
- package/dist/adapters/mysql/tools/partitioning.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/partitioning.js +160 -0
- package/dist/adapters/mysql/tools/partitioning.js.map +1 -0
- package/dist/adapters/mysql/tools/performance/analysis.d.ts +17 -0
- package/dist/adapters/mysql/tools/performance/analysis.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/performance/analysis.js +278 -0
- package/dist/adapters/mysql/tools/performance/analysis.js.map +1 -0
- package/dist/adapters/mysql/tools/performance/index.d.ts +17 -0
- package/dist/adapters/mysql/tools/performance/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/performance/index.js +36 -0
- package/dist/adapters/mysql/tools/performance/index.js.map +1 -0
- package/dist/adapters/mysql/tools/performance/optimization.d.ts +13 -0
- package/dist/adapters/mysql/tools/performance/optimization.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/performance/optimization.js +187 -0
- package/dist/adapters/mysql/tools/performance/optimization.js.map +1 -0
- package/dist/adapters/mysql/tools/proxysql.d.ts +16 -0
- package/dist/adapters/mysql/tools/proxysql.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/proxysql.js +427 -0
- package/dist/adapters/mysql/tools/proxysql.js.map +1 -0
- package/dist/adapters/mysql/tools/replication.d.ts +13 -0
- package/dist/adapters/mysql/tools/replication.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/replication.js +191 -0
- package/dist/adapters/mysql/tools/replication.js.map +1 -0
- package/dist/adapters/mysql/tools/roles.d.ts +7 -0
- package/dist/adapters/mysql/tools/roles.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/roles.js +190 -0
- package/dist/adapters/mysql/tools/roles.js.map +1 -0
- package/dist/adapters/mysql/tools/router.d.ts +16 -0
- package/dist/adapters/mysql/tools/router.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/router.js +369 -0
- package/dist/adapters/mysql/tools/router.js.map +1 -0
- package/dist/adapters/mysql/tools/schema/constraints.d.ts +7 -0
- package/dist/adapters/mysql/tools/schema/constraints.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/schema/constraints.js +67 -0
- package/dist/adapters/mysql/tools/schema/constraints.js.map +1 -0
- package/dist/adapters/mysql/tools/schema/index.d.ts +12 -0
- package/dist/adapters/mysql/tools/schema/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/schema/index.js +29 -0
- package/dist/adapters/mysql/tools/schema/index.js.map +1 -0
- package/dist/adapters/mysql/tools/schema/management.d.ts +15 -0
- package/dist/adapters/mysql/tools/schema/management.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/schema/management.js +113 -0
- package/dist/adapters/mysql/tools/schema/management.js.map +1 -0
- package/dist/adapters/mysql/tools/schema/routines.d.ts +11 -0
- package/dist/adapters/mysql/tools/schema/routines.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/schema/routines.js +98 -0
- package/dist/adapters/mysql/tools/schema/routines.js.map +1 -0
- package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts +7 -0
- package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/schema/scheduled_events.js +58 -0
- package/dist/adapters/mysql/tools/schema/scheduled_events.js.map +1 -0
- package/dist/adapters/mysql/tools/schema/triggers.d.ts +7 -0
- package/dist/adapters/mysql/tools/schema/triggers.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/schema/triggers.js +49 -0
- package/dist/adapters/mysql/tools/schema/triggers.js.map +1 -0
- package/dist/adapters/mysql/tools/schema/views.d.ts +11 -0
- package/dist/adapters/mysql/tools/schema/views.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/schema/views.js +78 -0
- package/dist/adapters/mysql/tools/schema/views.js.map +1 -0
- package/dist/adapters/mysql/tools/security/audit.d.ts +20 -0
- package/dist/adapters/mysql/tools/security/audit.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/security/audit.js +233 -0
- package/dist/adapters/mysql/tools/security/audit.js.map +1 -0
- package/dist/adapters/mysql/tools/security/data-protection.d.ts +20 -0
- package/dist/adapters/mysql/tools/security/data-protection.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/security/data-protection.js +243 -0
- package/dist/adapters/mysql/tools/security/data-protection.js.map +1 -0
- package/dist/adapters/mysql/tools/security/encryption.d.ts +20 -0
- package/dist/adapters/mysql/tools/security/encryption.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/security/encryption.js +191 -0
- package/dist/adapters/mysql/tools/security/encryption.js.map +1 -0
- package/dist/adapters/mysql/tools/security/index.d.ts +13 -0
- package/dist/adapters/mysql/tools/security/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/security/index.js +27 -0
- package/dist/adapters/mysql/tools/security/index.js.map +1 -0
- package/dist/adapters/mysql/tools/shell/backup.d.ts +19 -0
- package/dist/adapters/mysql/tools/shell/backup.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/shell/backup.js +187 -0
- package/dist/adapters/mysql/tools/shell/backup.js.map +1 -0
- package/dist/adapters/mysql/tools/shell/common.d.ts +41 -0
- package/dist/adapters/mysql/tools/shell/common.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/shell/common.js +167 -0
- package/dist/adapters/mysql/tools/shell/common.js.map +1 -0
- package/dist/adapters/mysql/tools/shell/data-transfer.d.ts +19 -0
- package/dist/adapters/mysql/tools/shell/data-transfer.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/shell/data-transfer.js +226 -0
- package/dist/adapters/mysql/tools/shell/data-transfer.js.map +1 -0
- package/dist/adapters/mysql/tools/shell/index.d.ts +17 -0
- package/dist/adapters/mysql/tools/shell/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/shell/index.js +34 -0
- package/dist/adapters/mysql/tools/shell/index.js.map +1 -0
- package/dist/adapters/mysql/tools/shell/info.d.ts +11 -0
- package/dist/adapters/mysql/tools/shell/info.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/shell/info.js +40 -0
- package/dist/adapters/mysql/tools/shell/info.js.map +1 -0
- package/dist/adapters/mysql/tools/shell/restore.d.ts +15 -0
- package/dist/adapters/mysql/tools/shell/restore.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/shell/restore.js +135 -0
- package/dist/adapters/mysql/tools/shell/restore.js.map +1 -0
- package/dist/adapters/mysql/tools/shell/utilities.d.ts +11 -0
- package/dist/adapters/mysql/tools/shell/utilities.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/shell/utilities.js +49 -0
- package/dist/adapters/mysql/tools/shell/utilities.js.map +1 -0
- package/dist/adapters/mysql/tools/spatial/geometry.d.ts +17 -0
- package/dist/adapters/mysql/tools/spatial/geometry.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/spatial/geometry.js +87 -0
- package/dist/adapters/mysql/tools/spatial/geometry.js.map +1 -0
- package/dist/adapters/mysql/tools/spatial/index.d.ts +13 -0
- package/dist/adapters/mysql/tools/spatial/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/spatial/index.js +31 -0
- package/dist/adapters/mysql/tools/spatial/index.js.map +1 -0
- package/dist/adapters/mysql/tools/spatial/operations.d.ts +25 -0
- package/dist/adapters/mysql/tools/spatial/operations.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/spatial/operations.js +179 -0
- package/dist/adapters/mysql/tools/spatial/operations.js.map +1 -0
- package/dist/adapters/mysql/tools/spatial/queries.d.ts +25 -0
- package/dist/adapters/mysql/tools/spatial/queries.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/spatial/queries.js +205 -0
- package/dist/adapters/mysql/tools/spatial/queries.js.map +1 -0
- package/dist/adapters/mysql/tools/spatial/setup.d.ts +17 -0
- package/dist/adapters/mysql/tools/spatial/setup.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/spatial/setup.js +85 -0
- package/dist/adapters/mysql/tools/spatial/setup.js.map +1 -0
- package/dist/adapters/mysql/tools/stats/comparative.d.ts +21 -0
- package/dist/adapters/mysql/tools/stats/comparative.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/stats/comparative.js +247 -0
- package/dist/adapters/mysql/tools/stats/comparative.js.map +1 -0
- package/dist/adapters/mysql/tools/stats/descriptive.d.ts +30 -0
- package/dist/adapters/mysql/tools/stats/descriptive.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/stats/descriptive.js +403 -0
- package/dist/adapters/mysql/tools/stats/descriptive.js.map +1 -0
- package/dist/adapters/mysql/tools/stats/index.d.ts +13 -0
- package/dist/adapters/mysql/tools/stats/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/stats/index.js +25 -0
- package/dist/adapters/mysql/tools/stats/index.js.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/activity.d.ts +17 -0
- package/dist/adapters/mysql/tools/sysschema/activity.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/activity.js +107 -0
- package/dist/adapters/mysql/tools/sysschema/activity.js.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/index.d.ts +13 -0
- package/dist/adapters/mysql/tools/sysschema/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/index.js +26 -0
- package/dist/adapters/mysql/tools/sysschema/index.js.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/performance.d.ts +21 -0
- package/dist/adapters/mysql/tools/sysschema/performance.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/performance.js +220 -0
- package/dist/adapters/mysql/tools/sysschema/performance.js.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/resources.d.ts +21 -0
- package/dist/adapters/mysql/tools/sysschema/resources.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/sysschema/resources.js +214 -0
- package/dist/adapters/mysql/tools/sysschema/resources.js.map +1 -0
- package/dist/adapters/mysql/tools/text/fulltext.d.ts +13 -0
- package/dist/adapters/mysql/tools/text/fulltext.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/text/fulltext.js +116 -0
- package/dist/adapters/mysql/tools/text/fulltext.js.map +1 -0
- package/dist/adapters/mysql/tools/text/index.d.ts +17 -0
- package/dist/adapters/mysql/tools/text/index.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/text/index.js +34 -0
- package/dist/adapters/mysql/tools/text/index.js.map +1 -0
- package/dist/adapters/mysql/tools/text/processing.d.ts +15 -0
- package/dist/adapters/mysql/tools/text/processing.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/text/processing.js +203 -0
- package/dist/adapters/mysql/tools/text/processing.js.map +1 -0
- package/dist/adapters/mysql/tools/transactions.d.ts +13 -0
- package/dist/adapters/mysql/tools/transactions.d.ts.map +1 -0
- package/dist/adapters/mysql/tools/transactions.js +224 -0
- package/dist/adapters/mysql/tools/transactions.js.map +1 -0
- package/dist/adapters/mysql/types/proxysql-types.d.ts +156 -0
- package/dist/adapters/mysql/types/proxysql-types.d.ts.map +1 -0
- package/dist/adapters/mysql/types/proxysql-types.js +150 -0
- package/dist/adapters/mysql/types/proxysql-types.js.map +1 -0
- package/dist/adapters/mysql/types/router-types.d.ts +97 -0
- package/dist/adapters/mysql/types/router-types.d.ts.map +1 -0
- package/dist/adapters/mysql/types/router-types.js +89 -0
- package/dist/adapters/mysql/types/router-types.js.map +1 -0
- package/dist/adapters/mysql/types/shell-types.d.ts +109 -0
- package/dist/adapters/mysql/types/shell-types.d.ts.map +1 -0
- package/dist/adapters/mysql/types/shell-types.js +119 -0
- package/dist/adapters/mysql/types/shell-types.js.map +1 -0
- package/dist/adapters/mysql/types.d.ts +257 -0
- package/dist/adapters/mysql/types.d.ts.map +1 -0
- package/dist/adapters/mysql/types.js +245 -0
- package/dist/adapters/mysql/types.js.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts +44 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.js +110 -0
- package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
- package/dist/auth/OAuthResourceServer.d.ts +42 -0
- package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
- package/dist/auth/OAuthResourceServer.js +75 -0
- package/dist/auth/OAuthResourceServer.js.map +1 -0
- package/dist/auth/TokenValidator.d.ts +36 -0
- package/dist/auth/TokenValidator.d.ts.map +1 -0
- package/dist/auth/TokenValidator.js +125 -0
- package/dist/auth/TokenValidator.js.map +1 -0
- package/dist/auth/errors.d.ts +63 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +102 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/index.d.ts +13 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +15 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +61 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +152 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/scopes.d.ts +61 -0
- package/dist/auth/scopes.d.ts.map +1 -0
- package/dist/auth/scopes.js +167 -0
- package/dist/auth/scopes.js.map +1 -0
- package/dist/auth/types.d.ts +208 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +8 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cli/args.d.ts +15 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +303 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli.d.ts +17 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +141 -0
- package/dist/cli.js.map +1 -0
- package/dist/constants/ServerInstructions.d.ts +17 -0
- package/dist/constants/ServerInstructions.d.ts.map +1 -0
- package/dist/constants/ServerInstructions.js +143 -0
- package/dist/constants/ServerInstructions.js.map +1 -0
- package/dist/filtering/ToolConstants.d.ts +32 -0
- package/dist/filtering/ToolConstants.d.ts.map +1 -0
- package/dist/filtering/ToolConstants.js +290 -0
- package/dist/filtering/ToolConstants.js.map +1 -0
- package/dist/filtering/ToolFilter.d.ts +82 -0
- package/dist/filtering/ToolFilter.d.ts.map +1 -0
- package/dist/filtering/ToolFilter.js +319 -0
- package/dist/filtering/ToolFilter.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/McpLogging.d.ts +81 -0
- package/dist/logging/McpLogging.d.ts.map +1 -0
- package/dist/logging/McpLogging.js +129 -0
- package/dist/logging/McpLogging.js.map +1 -0
- package/dist/logging/index.d.ts +7 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +7 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/pool/ConnectionPool.d.ts +76 -0
- package/dist/pool/ConnectionPool.d.ts.map +1 -0
- package/dist/pool/ConnectionPool.js +238 -0
- package/dist/pool/ConnectionPool.js.map +1 -0
- package/dist/progress/ProgressReporter.d.ts +101 -0
- package/dist/progress/ProgressReporter.d.ts.map +1 -0
- package/dist/progress/ProgressReporter.js +153 -0
- package/dist/progress/ProgressReporter.js.map +1 -0
- package/dist/progress/index.d.ts +7 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +7 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/server/McpServer.d.ts +86 -0
- package/dist/server/McpServer.d.ts.map +1 -0
- package/dist/server/McpServer.js +289 -0
- package/dist/server/McpServer.js.map +1 -0
- package/dist/transports/http.d.ts +74 -0
- package/dist/transports/http.d.ts.map +1 -0
- package/dist/transports/http.js +199 -0
- package/dist/transports/http.js.map +1 -0
- package/dist/transports/index.d.ts +7 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports/index.js +7 -0
- package/dist/transports/index.js.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/modules/database.d.ts +101 -0
- package/dist/types/modules/database.d.ts.map +1 -0
- package/dist/types/modules/database.js +8 -0
- package/dist/types/modules/database.js.map +1 -0
- package/dist/types/modules/errors.d.ts +56 -0
- package/dist/types/modules/errors.d.ts.map +1 -0
- package/dist/types/modules/errors.js +82 -0
- package/dist/types/modules/errors.js.map +1 -0
- package/dist/types/modules/oauth.d.ts +66 -0
- package/dist/types/modules/oauth.d.ts.map +1 -0
- package/dist/types/modules/oauth.js +8 -0
- package/dist/types/modules/oauth.js.map +1 -0
- package/dist/types/modules/query.d.ts +126 -0
- package/dist/types/modules/query.d.ts.map +1 -0
- package/dist/types/modules/query.js +8 -0
- package/dist/types/modules/query.js.map +1 -0
- package/dist/types/modules/server.d.ts +31 -0
- package/dist/types/modules/server.d.ts.map +1 -0
- package/dist/types/modules/server.js +7 -0
- package/dist/types/modules/server.js.map +1 -0
- package/dist/types/modules/tools.d.ts +202 -0
- package/dist/types/modules/tools.d.ts.map +1 -0
- package/dist/types/modules/tools.js +8 -0
- package/dist/types/modules/tools.js.map +1 -0
- package/dist/utils/logger.d.ts +116 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +315 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/promptGenerator.d.ts +15 -0
- package/dist/utils/promptGenerator.d.ts.map +1 -0
- package/dist/utils/promptGenerator.js +51 -0
- package/dist/utils/promptGenerator.js.map +1 -0
- package/dist/utils/validators.d.ts +59 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +145 -0
- package/dist/utils/validators.js.map +1 -0
- package/eslint.config.js +86 -0
- package/package.json +66 -0
- package/releases/release-notes.md +134 -0
- package/releases/v2.0.0-release-notes.md +522 -0
- package/releases/v2.1.0-release-notes.md +145 -0
- package/server.json +33 -0
- package/src/__tests__/cli.test.ts +304 -0
- package/src/__tests__/index.test.ts +25 -0
- package/src/__tests__/mocks/adapter.ts +265 -0
- package/src/__tests__/mocks/index.ts +36 -0
- package/src/__tests__/mocks/mysql.ts +135 -0
- package/src/__tests__/perf.test.ts +224 -0
- package/src/__tests__/performance.test.ts +181 -0
- package/src/__tests__/setup.ts +55 -0
- package/src/adapters/DatabaseAdapter.ts +376 -0
- package/src/adapters/__tests__/DatabaseAdapter.test.ts +441 -0
- package/src/adapters/mysql/MySQLAdapter.ts +544 -0
- package/src/adapters/mysql/SchemaManager.ts +298 -0
- package/src/adapters/mysql/__tests__/MySQLAdapter.integration.test.ts +155 -0
- package/src/adapters/mysql/__tests__/MySQLAdapter.test.ts +510 -0
- package/src/adapters/mysql/__tests__/SchemaManager.test.ts +165 -0
- package/src/adapters/mysql/index.ts +8 -0
- package/src/adapters/mysql/prompts/__tests__/indexTuning.test.ts +32 -0
- package/src/adapters/mysql/prompts/__tests__/prompts.test.ts +301 -0
- package/src/adapters/mysql/prompts/backupStrategy.ts +81 -0
- package/src/adapters/mysql/prompts/clusterSetup.ts +118 -0
- package/src/adapters/mysql/prompts/docstoreSetup.ts +123 -0
- package/src/adapters/mysql/prompts/eventScheduler.ts +103 -0
- package/src/adapters/mysql/prompts/healthCheck.ts +56 -0
- package/src/adapters/mysql/prompts/index.ts +329 -0
- package/src/adapters/mysql/prompts/indexTuning.ts +90 -0
- package/src/adapters/mysql/prompts/mysqlshSetup.ts +119 -0
- package/src/adapters/mysql/prompts/proxysqlSetup.ts +115 -0
- package/src/adapters/mysql/prompts/replicationSetup.ts +147 -0
- package/src/adapters/mysql/prompts/routerSetup.ts +106 -0
- package/src/adapters/mysql/prompts/spatialSetup.ts +109 -0
- package/src/adapters/mysql/prompts/sysSchema.ts +109 -0
- package/src/adapters/mysql/resources/__tests__/capabilities.test.ts +52 -0
- package/src/adapters/mysql/resources/__tests__/cluster.test.ts +105 -0
- package/src/adapters/mysql/resources/__tests__/docstore.test.ts +97 -0
- package/src/adapters/mysql/resources/__tests__/events.test.ts +97 -0
- package/src/adapters/mysql/resources/__tests__/health.test.ts +92 -0
- package/src/adapters/mysql/resources/__tests__/indexes.test.ts +106 -0
- package/src/adapters/mysql/resources/__tests__/innodb.test.ts +74 -0
- package/src/adapters/mysql/resources/__tests__/locks.test.ts +110 -0
- package/src/adapters/mysql/resources/__tests__/performance.test.ts +60 -0
- package/src/adapters/mysql/resources/__tests__/pool.test.ts +50 -0
- package/src/adapters/mysql/resources/__tests__/processlist.test.ts +29 -0
- package/src/adapters/mysql/resources/__tests__/replication.test.ts +213 -0
- package/src/adapters/mysql/resources/__tests__/resources.test.ts +117 -0
- package/src/adapters/mysql/resources/__tests__/schema.test.ts +30 -0
- package/src/adapters/mysql/resources/__tests__/spatial.test.ts +47 -0
- package/src/adapters/mysql/resources/__tests__/status.test.ts +58 -0
- package/src/adapters/mysql/resources/__tests__/sysschema.test.ts +62 -0
- package/src/adapters/mysql/resources/__tests__/tables.test.ts +37 -0
- package/src/adapters/mysql/resources/__tests__/variables.test.ts +70 -0
- package/src/adapters/mysql/resources/capabilities.ts +51 -0
- package/src/adapters/mysql/resources/cluster.ts +71 -0
- package/src/adapters/mysql/resources/docstore.ts +69 -0
- package/src/adapters/mysql/resources/events.ts +50 -0
- package/src/adapters/mysql/resources/health.ts +96 -0
- package/src/adapters/mysql/resources/index.ts +77 -0
- package/src/adapters/mysql/resources/indexes.ts +98 -0
- package/src/adapters/mysql/resources/innodb.ts +110 -0
- package/src/adapters/mysql/resources/locks.ts +64 -0
- package/src/adapters/mysql/resources/performance.ts +100 -0
- package/src/adapters/mysql/resources/pool.ts +26 -0
- package/src/adapters/mysql/resources/processlist.ts +23 -0
- package/src/adapters/mysql/resources/replication.ts +120 -0
- package/src/adapters/mysql/resources/schema.ts +23 -0
- package/src/adapters/mysql/resources/spatial.ts +54 -0
- package/src/adapters/mysql/resources/status.ts +27 -0
- package/src/adapters/mysql/resources/sysschema.ts +57 -0
- package/src/adapters/mysql/resources/tables.ts +23 -0
- package/src/adapters/mysql/resources/variables.ts +27 -0
- package/src/adapters/mysql/tools/__tests__/cluster.test.ts +349 -0
- package/src/adapters/mysql/tools/__tests__/core.test.ts +439 -0
- package/src/adapters/mysql/tools/__tests__/docstore.test.ts +459 -0
- package/src/adapters/mysql/tools/__tests__/events.test.ts +515 -0
- package/src/adapters/mysql/tools/__tests__/json_core.test.ts +285 -0
- package/src/adapters/mysql/tools/__tests__/json_enhanced.test.ts +380 -0
- package/src/adapters/mysql/tools/__tests__/json_helpers.test.ts +151 -0
- package/src/adapters/mysql/tools/__tests__/proxysql.test.ts +422 -0
- package/src/adapters/mysql/tools/__tests__/replication.test.ts +478 -0
- package/src/adapters/mysql/tools/__tests__/roles.test.ts +217 -0
- package/src/adapters/mysql/tools/__tests__/router.test.ts +603 -0
- package/src/adapters/mysql/tools/__tests__/security.test.ts +466 -0
- package/src/adapters/mysql/tools/__tests__/security_injection.test.ts +188 -0
- package/src/adapters/mysql/tools/__tests__/security_integration.test.ts +223 -0
- package/src/adapters/mysql/tools/__tests__/spatial.test.ts +333 -0
- package/src/adapters/mysql/tools/__tests__/spatial_handler.test.ts +153 -0
- package/src/adapters/mysql/tools/__tests__/stats.test.ts +577 -0
- package/src/adapters/mysql/tools/__tests__/transactions.test.ts +311 -0
- package/src/adapters/mysql/tools/admin/__tests__/backup.test.ts +400 -0
- package/src/adapters/mysql/tools/admin/__tests__/maintenance.test.ts +343 -0
- package/src/adapters/mysql/tools/admin/__tests__/monitoring.test.ts +402 -0
- package/src/adapters/mysql/tools/admin/backup.ts +238 -0
- package/src/adapters/mysql/tools/admin/index.ts +77 -0
- package/src/adapters/mysql/tools/admin/maintenance.ts +160 -0
- package/src/adapters/mysql/tools/admin/monitoring.ts +229 -0
- package/src/adapters/mysql/tools/cluster/__tests__/group-replication.test.ts +204 -0
- package/src/adapters/mysql/tools/cluster/__tests__/innodb-cluster.test.ts +130 -0
- package/src/adapters/mysql/tools/cluster/group-replication.ts +324 -0
- package/src/adapters/mysql/tools/cluster/index.ts +44 -0
- package/src/adapters/mysql/tools/cluster/innodb-cluster.ts +384 -0
- package/src/adapters/mysql/tools/core.ts +363 -0
- package/src/adapters/mysql/tools/docstore.ts +346 -0
- package/src/adapters/mysql/tools/events.ts +419 -0
- package/src/adapters/mysql/tools/index.ts +60 -0
- package/src/adapters/mysql/tools/json/__tests__/core.test.ts +207 -0
- package/src/adapters/mysql/tools/json/__tests__/enhanced.test.ts +316 -0
- package/src/adapters/mysql/tools/json/__tests__/helpers.test.ts +94 -0
- package/src/adapters/mysql/tools/json/__tests__/validation.test.ts +83 -0
- package/src/adapters/mysql/tools/json/core.ts +309 -0
- package/src/adapters/mysql/tools/json/enhanced.ts +346 -0
- package/src/adapters/mysql/tools/json/helpers.ts +137 -0
- package/src/adapters/mysql/tools/json/index.ts +77 -0
- package/src/adapters/mysql/tools/partitioning.ts +184 -0
- package/src/adapters/mysql/tools/performance/__tests__/analysis.test.ts +302 -0
- package/src/adapters/mysql/tools/performance/__tests__/optimization.test.ts +201 -0
- package/src/adapters/mysql/tools/performance/analysis.ts +322 -0
- package/src/adapters/mysql/tools/performance/index.ts +56 -0
- package/src/adapters/mysql/tools/performance/optimization.ts +218 -0
- package/src/adapters/mysql/tools/proxysql.ts +465 -0
- package/src/adapters/mysql/tools/replication.ts +215 -0
- package/src/adapters/mysql/tools/roles.ts +202 -0
- package/src/adapters/mysql/tools/router.ts +405 -0
- package/src/adapters/mysql/tools/schema/__tests__/constraints.test.ts +91 -0
- package/src/adapters/mysql/tools/schema/__tests__/management.test.ts +122 -0
- package/src/adapters/mysql/tools/schema/__tests__/routines.test.ts +45 -0
- package/src/adapters/mysql/tools/schema/__tests__/scheduled_events.test.ts +44 -0
- package/src/adapters/mysql/tools/schema/__tests__/triggers.test.ts +44 -0
- package/src/adapters/mysql/tools/schema/__tests__/views.test.ts +85 -0
- package/src/adapters/mysql/tools/schema/constraints.ts +77 -0
- package/src/adapters/mysql/tools/schema/index.ts +54 -0
- package/src/adapters/mysql/tools/schema/management.ts +131 -0
- package/src/adapters/mysql/tools/schema/routines.ts +106 -0
- package/src/adapters/mysql/tools/schema/scheduled_events.ts +66 -0
- package/src/adapters/mysql/tools/schema/triggers.ts +57 -0
- package/src/adapters/mysql/tools/schema/views.ts +90 -0
- package/src/adapters/mysql/tools/security/__tests__/audit.test.ts +181 -0
- package/src/adapters/mysql/tools/security/__tests__/data-protection.test.ts +111 -0
- package/src/adapters/mysql/tools/security/__tests__/encryption.test.ts +156 -0
- package/src/adapters/mysql/tools/security/audit.ts +272 -0
- package/src/adapters/mysql/tools/security/data-protection.ts +274 -0
- package/src/adapters/mysql/tools/security/encryption.ts +237 -0
- package/src/adapters/mysql/tools/security/index.ts +45 -0
- package/src/adapters/mysql/tools/shell/__tests__/backup.test.ts +298 -0
- package/src/adapters/mysql/tools/shell/__tests__/common.test.ts +180 -0
- package/src/adapters/mysql/tools/shell/__tests__/data-transfer.test.ts +368 -0
- package/src/adapters/mysql/tools/shell/__tests__/info.test.ts +77 -0
- package/src/adapters/mysql/tools/shell/__tests__/restore.test.ts +187 -0
- package/src/adapters/mysql/tools/shell/__tests__/utilities.test.ts +154 -0
- package/src/adapters/mysql/tools/shell/backup.ts +215 -0
- package/src/adapters/mysql/tools/shell/common.ts +227 -0
- package/src/adapters/mysql/tools/shell/data-transfer.ts +256 -0
- package/src/adapters/mysql/tools/shell/index.ts +49 -0
- package/src/adapters/mysql/tools/shell/info.ts +45 -0
- package/src/adapters/mysql/tools/shell/restore.ts +153 -0
- package/src/adapters/mysql/tools/shell/utilities.ts +56 -0
- package/src/adapters/mysql/tools/spatial/__tests__/geometry.test.ts +101 -0
- package/src/adapters/mysql/tools/spatial/__tests__/operations.test.ts +164 -0
- package/src/adapters/mysql/tools/spatial/__tests__/queries.test.ts +253 -0
- package/src/adapters/mysql/tools/spatial/geometry.ts +106 -0
- package/src/adapters/mysql/tools/spatial/index.ts +54 -0
- package/src/adapters/mysql/tools/spatial/operations.ts +217 -0
- package/src/adapters/mysql/tools/spatial/queries.ts +235 -0
- package/src/adapters/mysql/tools/spatial/setup.ts +104 -0
- package/src/adapters/mysql/tools/stats/__tests__/comparative.test.ts +139 -0
- package/src/adapters/mysql/tools/stats/comparative.ts +272 -0
- package/src/adapters/mysql/tools/stats/descriptive.ts +452 -0
- package/src/adapters/mysql/tools/stats/index.ts +40 -0
- package/src/adapters/mysql/tools/sysschema/__tests__/activity.test.ts +89 -0
- package/src/adapters/mysql/tools/sysschema/__tests__/io_summary_fix.test.ts +24 -0
- package/src/adapters/mysql/tools/sysschema/__tests__/performance.test.ts +142 -0
- package/src/adapters/mysql/tools/sysschema/__tests__/resources.test.ts +142 -0
- package/src/adapters/mysql/tools/sysschema/activity.ts +122 -0
- package/src/adapters/mysql/tools/sysschema/index.ts +43 -0
- package/src/adapters/mysql/tools/sysschema/performance.ts +237 -0
- package/src/adapters/mysql/tools/sysschema/resources.ts +232 -0
- package/src/adapters/mysql/tools/text/__tests__/fulltext.test.ts +153 -0
- package/src/adapters/mysql/tools/text/__tests__/processing.test.ts +201 -0
- package/src/adapters/mysql/tools/text/fulltext.ts +140 -0
- package/src/adapters/mysql/tools/text/index.ts +52 -0
- package/src/adapters/mysql/tools/text/processing.ts +242 -0
- package/src/adapters/mysql/tools/transactions.ts +252 -0
- package/src/adapters/mysql/types/__tests__/shell-types.test.ts +210 -0
- package/src/adapters/mysql/types/proxysql-types.ts +190 -0
- package/src/adapters/mysql/types/router-types.ts +129 -0
- package/src/adapters/mysql/types/shell-types.ts +140 -0
- package/src/adapters/mysql/types.ts +298 -0
- package/src/auth/AuthorizationServerDiscovery.ts +133 -0
- package/src/auth/OAuthResourceServer.ts +87 -0
- package/src/auth/TokenValidator.ts +143 -0
- package/src/auth/__tests__/AuthorizationServerDiscovery.test.ts +312 -0
- package/src/auth/__tests__/OAuthResourceServer.test.ts +183 -0
- package/src/auth/__tests__/TokenValidator.test.ts +351 -0
- package/src/auth/__tests__/errors.test.ts +183 -0
- package/src/auth/__tests__/middleware.test.ts +276 -0
- package/src/auth/__tests__/scopes.test.ts +164 -0
- package/src/auth/errors.ts +116 -0
- package/src/auth/index.ts +30 -0
- package/src/auth/middleware.ts +214 -0
- package/src/auth/scopes.ts +193 -0
- package/src/auth/types.ts +303 -0
- package/src/cli/__tests__/args.test.ts +223 -0
- package/src/cli/__tests__/main.test.ts +193 -0
- package/src/cli/args.ts +343 -0
- package/src/cli.ts +168 -0
- package/src/constants/ServerInstructions.ts +159 -0
- package/src/filtering/ToolConstants.ts +297 -0
- package/src/filtering/ToolFilter.ts +363 -0
- package/src/filtering/__tests__/ToolFilter.test.ts +427 -0
- package/src/index.ts +78 -0
- package/src/logging/McpLogging.ts +163 -0
- package/src/logging/__tests__/McpLogging.test.ts +261 -0
- package/src/logging/index.ts +7 -0
- package/src/pool/ConnectionPool.ts +284 -0
- package/src/pool/__tests__/ConnectionPool.test.ts +448 -0
- package/src/progress/ProgressReporter.ts +179 -0
- package/src/progress/__tests__/ProgressReporter.test.ts +263 -0
- package/src/progress/index.ts +7 -0
- package/src/server/McpServer.ts +341 -0
- package/src/server/__tests__/McpServer.test.ts +368 -0
- package/src/transports/__tests__/http.test.ts +596 -0
- package/src/transports/http.ts +248 -0
- package/src/transports/index.ts +7 -0
- package/src/types/__tests__/types.test.ts +201 -0
- package/src/types/index.ts +58 -0
- package/src/types/modules/database.ts +127 -0
- package/src/types/modules/errors.ts +89 -0
- package/src/types/modules/oauth.ts +91 -0
- package/src/types/modules/query.ts +140 -0
- package/src/types/modules/server.ts +39 -0
- package/src/types/modules/tools.ts +296 -0
- package/src/utils/__tests__/logger.test.ts +422 -0
- package/src/utils/__tests__/validators.test.ts +172 -0
- package/src/utils/logger.ts +426 -0
- package/src/utils/promptGenerator.ts +74 -0
- package/src/utils/validators.ts +181 -0
- package/tsconfig.json +51 -0
- package/vitest.config.ts +26 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export function createSetupEventsPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_setup_events',
|
|
4
|
+
description: 'Complete MySQL Event Scheduler setup and configuration guide',
|
|
5
|
+
arguments: [],
|
|
6
|
+
handler: (_args, _context) => {
|
|
7
|
+
return Promise.resolve(`# MySQL Event Scheduler Setup Guide
|
|
8
|
+
|
|
9
|
+
MySQL Event Scheduler allows you to schedule SQL statements to run at specific times or intervals.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
1. **MySQL 5.1+** (Event Scheduler available)
|
|
14
|
+
2. **EVENT privilege** for creating events
|
|
15
|
+
3. **Event Scheduler enabled** globally
|
|
16
|
+
|
|
17
|
+
## Step 1: Enable Event Scheduler
|
|
18
|
+
|
|
19
|
+
Check current status:
|
|
20
|
+
\`\`\`sql
|
|
21
|
+
SHOW VARIABLES LIKE 'event_scheduler';
|
|
22
|
+
\`\`\`
|
|
23
|
+
|
|
24
|
+
Enable permanently in my.cnf:
|
|
25
|
+
\`\`\`ini
|
|
26
|
+
[mysqld]
|
|
27
|
+
event_scheduler = ON
|
|
28
|
+
\`\`\`
|
|
29
|
+
|
|
30
|
+
Enable at runtime:
|
|
31
|
+
\`\`\`sql
|
|
32
|
+
SET GLOBAL event_scheduler = ON;
|
|
33
|
+
\`\`\`
|
|
34
|
+
|
|
35
|
+
## Step 2: Create a One-Time Event
|
|
36
|
+
|
|
37
|
+
\`\`\`sql
|
|
38
|
+
CREATE EVENT cleanup_old_logs
|
|
39
|
+
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
|
40
|
+
DO
|
|
41
|
+
DELETE FROM logs WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY);
|
|
42
|
+
\`\`\`
|
|
43
|
+
|
|
44
|
+
## Step 3: Create a Recurring Event
|
|
45
|
+
|
|
46
|
+
\`\`\`sql
|
|
47
|
+
CREATE EVENT daily_stats_rollup
|
|
48
|
+
ON SCHEDULE EVERY 1 DAY
|
|
49
|
+
STARTS CURRENT_TIMESTAMP
|
|
50
|
+
DO
|
|
51
|
+
INSERT INTO daily_stats (date, total_orders, revenue)
|
|
52
|
+
SELECT DATE(created_at), COUNT(*), SUM(amount)
|
|
53
|
+
FROM orders
|
|
54
|
+
WHERE DATE(created_at) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
|
55
|
+
GROUP BY DATE(created_at);
|
|
56
|
+
\`\`\`
|
|
57
|
+
|
|
58
|
+
## Step 4: Event with Expiration
|
|
59
|
+
|
|
60
|
+
\`\`\`sql
|
|
61
|
+
CREATE EVENT temp_promotion
|
|
62
|
+
ON SCHEDULE EVERY 1 HOUR
|
|
63
|
+
STARTS '2024-01-01 00:00:00'
|
|
64
|
+
ENDS '2024-01-31 23:59:59'
|
|
65
|
+
DO
|
|
66
|
+
UPDATE products SET discount = 0.10 WHERE category = 'promo';
|
|
67
|
+
\`\`\`
|
|
68
|
+
|
|
69
|
+
## Available MCP Tools
|
|
70
|
+
|
|
71
|
+
| Tool | Description |
|
|
72
|
+
|------|-------------|
|
|
73
|
+
| \`mysql_event_create\` | Create scheduled event |
|
|
74
|
+
| \`mysql_event_alter\` | Modify existing event |
|
|
75
|
+
| \`mysql_event_drop\` | Remove event |
|
|
76
|
+
| \`mysql_event_list\` | List all events |
|
|
77
|
+
| \`mysql_event_status\` | Event execution history |
|
|
78
|
+
| \`mysql_scheduler_status\` | Scheduler global status |
|
|
79
|
+
|
|
80
|
+
## Best Practices
|
|
81
|
+
|
|
82
|
+
1. **Use DISABLE ON SLAVE** in replication environments
|
|
83
|
+
2. **Set appropriate DEFINER** for security
|
|
84
|
+
3. **Monitor event execution** with performance_schema
|
|
85
|
+
4. **Handle errors gracefully** - events don't report errors visibly
|
|
86
|
+
|
|
87
|
+
## Common Issues
|
|
88
|
+
|
|
89
|
+
1. **Events not running**: Check event_scheduler is ON
|
|
90
|
+
2. **Permission denied**: Grant EVENT privilege
|
|
91
|
+
3. **Event disappeared**: Check ON COMPLETION PRESERVE setting
|
|
92
|
+
|
|
93
|
+
Start by checking the scheduler status with \`mysql_scheduler_status\`.`);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=eventScheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventScheduler.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/eventScheduler.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,uBAAuB;IACnC,OAAO;QACH,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,8DAA8D;QAC3E,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC,KAA6B,EAAE,QAAwB,EAAE,EAAE;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAsFqC,CAAC,CAAC;QAClE,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - Database Health Check
|
|
3
|
+
*
|
|
4
|
+
* Guides user through comprehensive database health assessment.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createDatabaseHealthCheckPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=healthCheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthCheck.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/healthCheck.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,+BAA+B,IAAI,gBAAgB,CAgDlE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export function createDatabaseHealthCheckPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_database_health_check',
|
|
4
|
+
description: 'Comprehensive database health assessment workflow',
|
|
5
|
+
arguments: [
|
|
6
|
+
{ name: 'focus', description: 'Optional focus area: connections, performance, replication, storage', required: false }
|
|
7
|
+
],
|
|
8
|
+
handler: (args, _context) => {
|
|
9
|
+
const focus = args['focus'] ?? 'all';
|
|
10
|
+
return Promise.resolve(`# MySQL Database Health Check
|
|
11
|
+
|
|
12
|
+
Perform a comprehensive health assessment for this MySQL database.
|
|
13
|
+
${focus !== 'all' ? `**Focus area:** ${focus}` : ''}
|
|
14
|
+
|
|
15
|
+
## Step 1: Check Connection Health
|
|
16
|
+
Use \`mysql://health\` resource or \`mysql_pool_stats\` tool to verify:
|
|
17
|
+
- Connection pool utilization (should be < 80%)
|
|
18
|
+
- No connection errors or timeouts
|
|
19
|
+
- Thread activity within normal range
|
|
20
|
+
|
|
21
|
+
## Step 2: Assess Performance
|
|
22
|
+
Use \`mysql://performance\` resource or performance tools:
|
|
23
|
+
- Buffer pool hit ratio (should be > 99%)
|
|
24
|
+
- Slow query count and trends
|
|
25
|
+
- Table scan vs index usage ratio
|
|
26
|
+
- Temporary tables to disk ratio (should be < 10%)
|
|
27
|
+
|
|
28
|
+
## Step 3: Check Storage and Tables
|
|
29
|
+
- Table fragmentation (use \`mysql_check_table\`)
|
|
30
|
+
- Index health and unused indexes (\`mysql://indexes\`)
|
|
31
|
+
- InnoDB status (\`mysql://innodb\`)
|
|
32
|
+
|
|
33
|
+
## Step 4: Replication Status (if applicable)
|
|
34
|
+
Use \`mysql://replication\` resource:
|
|
35
|
+
- Replication lag (should be < 1 second typically)
|
|
36
|
+
- IO and SQL thread status
|
|
37
|
+
- Binary log position
|
|
38
|
+
|
|
39
|
+
## Step 5: Generate Recommendations
|
|
40
|
+
Based on findings, provide:
|
|
41
|
+
1. Critical issues requiring immediate attention
|
|
42
|
+
2. Performance optimization opportunities
|
|
43
|
+
3. Maintenance tasks to schedule
|
|
44
|
+
|
|
45
|
+
Please proceed with the health check and report findings.`);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=healthCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthCheck.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/healthCheck.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,+BAA+B;IAC3C,OAAO;QACH,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,mDAAmD;QAChE,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,qEAAqE,EAAE,QAAQ,EAAE,KAAK,EAAE;SACzH;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAErC,OAAO,OAAO,CAAC,OAAO,CAAC;;;EAGjC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAgCO,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL MCP Prompts
|
|
3
|
+
*
|
|
4
|
+
* AI-powered prompts for query building, schema design, and optimization.
|
|
5
|
+
* 19 prompts total.
|
|
6
|
+
*/
|
|
7
|
+
import type { MySQLAdapter } from '../MySQLAdapter.js';
|
|
8
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Get all MySQL prompts (14 total)
|
|
11
|
+
*
|
|
12
|
+
* Core (7):
|
|
13
|
+
* - mysql_tool_index - Lazy hydration tool index
|
|
14
|
+
* - mysql_quick_query - Quick query shortcut
|
|
15
|
+
* - mysql_quick_schema - Quick schema exploration
|
|
16
|
+
* - mysql_query_builder - Query construction assistance
|
|
17
|
+
* - mysql_schema_design - Schema design guidance
|
|
18
|
+
* - mysql_performance_analysis - Query performance analysis
|
|
19
|
+
* - mysql_migration - Migration script generation
|
|
20
|
+
*
|
|
21
|
+
* Extended (7):
|
|
22
|
+
* - mysql_database_health_check - Comprehensive health assessment
|
|
23
|
+
* - mysql_backup_strategy - Enterprise backup planning
|
|
24
|
+
* - mysql_index_tuning - Index analysis and optimization
|
|
25
|
+
* - mysql_setup_router - MySQL Router configuration
|
|
26
|
+
* - mysql_setup_proxysql - ProxySQL configuration
|
|
27
|
+
* - mysql_setup_replication - Replication setup guide
|
|
28
|
+
* - mysql_setup_shell - MySQL Shell usage guide
|
|
29
|
+
*/
|
|
30
|
+
export declare function getMySQLPrompts(adapter: MySQLAdapter): PromptDefinition[];
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAkC,MAAM,yBAAyB,CAAC;AAkBhG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,gBAAgB,EAAE,CA6BzE"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import { generateCompactIndex, generateDiscoveryPrompt } from '../../../utils/promptGenerator.js';
|
|
2
|
+
// Modular prompt imports
|
|
3
|
+
import { createDatabaseHealthCheckPrompt } from './healthCheck.js';
|
|
4
|
+
import { createBackupStrategyPrompt } from './backupStrategy.js';
|
|
5
|
+
import { createIndexTuningPrompt } from './indexTuning.js';
|
|
6
|
+
import { createSetupRouterPrompt } from './routerSetup.js';
|
|
7
|
+
import { createSetupProxysqlPrompt } from './proxysqlSetup.js';
|
|
8
|
+
import { createSetupReplicationPrompt } from './replicationSetup.js';
|
|
9
|
+
import { createSetupMysqlshPrompt } from './mysqlshSetup.js';
|
|
10
|
+
// New prompts (5)
|
|
11
|
+
import { createSetupEventsPrompt } from './eventScheduler.js';
|
|
12
|
+
import { createSysSchemaGuidePrompt } from './sysSchema.js';
|
|
13
|
+
import { createSetupSpatialPrompt } from './spatialSetup.js';
|
|
14
|
+
import { createSetupClusterPrompt } from './clusterSetup.js';
|
|
15
|
+
import { createSetupDocstorePrompt } from './docstoreSetup.js';
|
|
16
|
+
/**
|
|
17
|
+
* Get all MySQL prompts (14 total)
|
|
18
|
+
*
|
|
19
|
+
* Core (7):
|
|
20
|
+
* - mysql_tool_index - Lazy hydration tool index
|
|
21
|
+
* - mysql_quick_query - Quick query shortcut
|
|
22
|
+
* - mysql_quick_schema - Quick schema exploration
|
|
23
|
+
* - mysql_query_builder - Query construction assistance
|
|
24
|
+
* - mysql_schema_design - Schema design guidance
|
|
25
|
+
* - mysql_performance_analysis - Query performance analysis
|
|
26
|
+
* - mysql_migration - Migration script generation
|
|
27
|
+
*
|
|
28
|
+
* Extended (7):
|
|
29
|
+
* - mysql_database_health_check - Comprehensive health assessment
|
|
30
|
+
* - mysql_backup_strategy - Enterprise backup planning
|
|
31
|
+
* - mysql_index_tuning - Index analysis and optimization
|
|
32
|
+
* - mysql_setup_router - MySQL Router configuration
|
|
33
|
+
* - mysql_setup_proxysql - ProxySQL configuration
|
|
34
|
+
* - mysql_setup_replication - Replication setup guide
|
|
35
|
+
* - mysql_setup_shell - MySQL Shell usage guide
|
|
36
|
+
*/
|
|
37
|
+
export function getMySQLPrompts(adapter) {
|
|
38
|
+
// Get tool definitions for generating indexes
|
|
39
|
+
const toolDefs = adapter.getToolDefinitions();
|
|
40
|
+
return [
|
|
41
|
+
// Lazy hydration prompts
|
|
42
|
+
createToolIndexPrompt(toolDefs),
|
|
43
|
+
createQuickQueryPrompt(),
|
|
44
|
+
createQuickSchemaPrompt(),
|
|
45
|
+
// Original prompts
|
|
46
|
+
createQueryBuilderPrompt(),
|
|
47
|
+
createSchemaDesignPrompt(),
|
|
48
|
+
createPerformanceAnalysisPrompt(),
|
|
49
|
+
createMigrationPrompt(),
|
|
50
|
+
// Extended prompts (modular imports)
|
|
51
|
+
createDatabaseHealthCheckPrompt(),
|
|
52
|
+
createBackupStrategyPrompt(),
|
|
53
|
+
createIndexTuningPrompt(),
|
|
54
|
+
createSetupRouterPrompt(),
|
|
55
|
+
createSetupProxysqlPrompt(),
|
|
56
|
+
createSetupReplicationPrompt(),
|
|
57
|
+
createSetupMysqlshPrompt(),
|
|
58
|
+
// New prompts (5)
|
|
59
|
+
createSetupEventsPrompt(),
|
|
60
|
+
createSysSchemaGuidePrompt(),
|
|
61
|
+
createSetupSpatialPrompt(),
|
|
62
|
+
createSetupClusterPrompt(),
|
|
63
|
+
createSetupDocstorePrompt()
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
// =============================================================================
|
|
67
|
+
// Core Prompts (inline for simplicity)
|
|
68
|
+
// =============================================================================
|
|
69
|
+
function createQueryBuilderPrompt() {
|
|
70
|
+
return {
|
|
71
|
+
name: 'mysql_query_builder',
|
|
72
|
+
description: 'Help build SQL queries for common operations',
|
|
73
|
+
arguments: [
|
|
74
|
+
{ name: 'operation', description: 'Type of query (SELECT, INSERT, UPDATE, DELETE)', required: true },
|
|
75
|
+
{ name: 'table', description: 'Target table name', required: true },
|
|
76
|
+
{ name: 'description', description: 'What you want to accomplish', required: true }
|
|
77
|
+
],
|
|
78
|
+
handler: (args, _context) => {
|
|
79
|
+
return Promise.resolve(`
|
|
80
|
+
You are a MySQL query expert. Help build a ${args['operation']} query for the table "${args['table']}".
|
|
81
|
+
|
|
82
|
+
User's goal: ${args['description']}
|
|
83
|
+
|
|
84
|
+
Please provide:
|
|
85
|
+
1. The complete SQL query with proper escaping
|
|
86
|
+
2. Explanation of what the query does
|
|
87
|
+
3. Any indexes that would improve performance
|
|
88
|
+
4. Security considerations (parameterization, input validation)
|
|
89
|
+
|
|
90
|
+
Use MySQL best practices:
|
|
91
|
+
- Use backticks for identifiers
|
|
92
|
+
- Use prepared statement placeholders (?)
|
|
93
|
+
- Include appropriate WHERE clauses
|
|
94
|
+
- Consider using LIMIT for large result sets
|
|
95
|
+
`);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Tool index prompt - shows all available tools in a compact format
|
|
101
|
+
*/
|
|
102
|
+
function createToolIndexPrompt(toolDefs) {
|
|
103
|
+
const compactIndex = generateCompactIndex(toolDefs);
|
|
104
|
+
const discovery = generateDiscoveryPrompt(toolDefs);
|
|
105
|
+
return {
|
|
106
|
+
name: 'mysql_tool_index',
|
|
107
|
+
description: 'Show all available MySQL tools organized by category',
|
|
108
|
+
arguments: [],
|
|
109
|
+
handler: (_args, _context) => {
|
|
110
|
+
return Promise.resolve(`
|
|
111
|
+
# MySQL MCP Tool Index
|
|
112
|
+
|
|
113
|
+
This server provides ${String(toolDefs.length)} MySQL tools for database operations.
|
|
114
|
+
|
|
115
|
+
${discovery}
|
|
116
|
+
## Complete Tool List
|
|
117
|
+
|
|
118
|
+
${compactIndex}
|
|
119
|
+
|
|
120
|
+
**Usage**: Call any tool by name with the required arguments. Use \`mysql_read_query\` for SELECT queries and \`mysql_write_query\` for INSERT/UPDATE/DELETE.
|
|
121
|
+
`);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Quick query prompt - shortcut for running queries
|
|
127
|
+
*/
|
|
128
|
+
function createQuickQueryPrompt() {
|
|
129
|
+
return {
|
|
130
|
+
name: 'mysql_quick_query',
|
|
131
|
+
description: 'Quickly run a SQL query - shortcut for mysql_read_query or mysql_write_query',
|
|
132
|
+
arguments: [
|
|
133
|
+
{ name: 'sql', description: 'SQL query to execute', required: true },
|
|
134
|
+
{ name: 'type', description: 'Query type: read or write (default: read)', required: false }
|
|
135
|
+
],
|
|
136
|
+
handler: (args, _context) => {
|
|
137
|
+
const queryType = args['type']?.toLowerCase() === 'write' ? 'write' : 'read';
|
|
138
|
+
const toolName = queryType === 'write' ? 'mysql_write_query' : 'mysql_read_query';
|
|
139
|
+
return Promise.resolve(`
|
|
140
|
+
Execute this ${queryType} query using the \`${toolName}\` tool:
|
|
141
|
+
|
|
142
|
+
\`\`\`sql
|
|
143
|
+
${args['sql']}
|
|
144
|
+
\`\`\`
|
|
145
|
+
|
|
146
|
+
**Tool to use**: \`${toolName}\`
|
|
147
|
+
**Arguments**: \`{ "query": "${(args['sql'] ?? '').replace(/\\/g, '\\\\').replace(/"/g, '\\"')}" }\`
|
|
148
|
+
`);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Quick schema prompt - shortcut for exploring database schema
|
|
154
|
+
*/
|
|
155
|
+
function createQuickSchemaPrompt() {
|
|
156
|
+
return {
|
|
157
|
+
name: 'mysql_quick_schema',
|
|
158
|
+
description: 'Quickly explore database schema - lists tables or describes a specific table',
|
|
159
|
+
arguments: [
|
|
160
|
+
{ name: 'table', description: 'Table name to describe (leave empty to list all tables)', required: false }
|
|
161
|
+
],
|
|
162
|
+
handler: (args, _context) => {
|
|
163
|
+
if (args['table']) {
|
|
164
|
+
return Promise.resolve(`
|
|
165
|
+
Describe the structure of table **${args['table']}** using the \`mysql_describe_table\` tool:
|
|
166
|
+
|
|
167
|
+
**Tool to use**: \`mysql_describe_table\`
|
|
168
|
+
**Arguments**: \`{ "table": "${args['table']}" }\`
|
|
169
|
+
|
|
170
|
+
This will show columns, types, indexes, and constraints.
|
|
171
|
+
`);
|
|
172
|
+
}
|
|
173
|
+
return Promise.resolve(`
|
|
174
|
+
List all tables in the database using the \`mysql_list_tables\` tool:
|
|
175
|
+
|
|
176
|
+
**Tool to use**: \`mysql_list_tables\`
|
|
177
|
+
**Arguments**: \`{}\`
|
|
178
|
+
|
|
179
|
+
This will show all tables with their row counts and metadata.
|
|
180
|
+
`);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function createSchemaDesignPrompt() {
|
|
185
|
+
return {
|
|
186
|
+
name: 'mysql_schema_design',
|
|
187
|
+
description: 'Help design table schemas',
|
|
188
|
+
arguments: [
|
|
189
|
+
{ name: 'entity', description: 'What entity/data you want to store', required: true },
|
|
190
|
+
{ name: 'requirements', description: 'Any specific requirements', required: false }
|
|
191
|
+
],
|
|
192
|
+
handler: (args, _context) => {
|
|
193
|
+
return Promise.resolve(`
|
|
194
|
+
You are a MySQL database architect. Design a schema for: ${args['entity']}
|
|
195
|
+
|
|
196
|
+
${args['requirements'] ? `Requirements: ${args['requirements']}` : ''}
|
|
197
|
+
|
|
198
|
+
Please provide:
|
|
199
|
+
1. CREATE TABLE statement with:
|
|
200
|
+
- Appropriate data types
|
|
201
|
+
- Primary key
|
|
202
|
+
- Indexes for common queries
|
|
203
|
+
- Foreign key relationships if applicable
|
|
204
|
+
- Engine: InnoDB (for transactions)
|
|
205
|
+
- Charset: utf8mb4 (for full Unicode support)
|
|
206
|
+
|
|
207
|
+
2. Explanation of design choices
|
|
208
|
+
|
|
209
|
+
3. Sample INSERT statements
|
|
210
|
+
|
|
211
|
+
4. Common SELECT queries with indexes
|
|
212
|
+
|
|
213
|
+
Best practices to follow:
|
|
214
|
+
- Use underscore_case for column names
|
|
215
|
+
- Include created_at and updated_at timestamps
|
|
216
|
+
- Use UNSIGNED for positive-only integers
|
|
217
|
+
- Consider JSON columns for flexible data
|
|
218
|
+
- Add appropriate indexes based on query patterns
|
|
219
|
+
`);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
function createPerformanceAnalysisPrompt() {
|
|
224
|
+
return {
|
|
225
|
+
name: 'mysql_performance_analysis',
|
|
226
|
+
description: 'Analyze and optimize slow queries',
|
|
227
|
+
arguments: [
|
|
228
|
+
{ name: 'query', description: 'The slow query to analyze', required: true },
|
|
229
|
+
{ name: 'context', description: 'Table structure and data volume', required: false }
|
|
230
|
+
],
|
|
231
|
+
handler: (args, _context) => {
|
|
232
|
+
return Promise.resolve(`
|
|
233
|
+
You are a MySQL performance expert. Analyze this query:
|
|
234
|
+
|
|
235
|
+
\`\`\`sql
|
|
236
|
+
${args['query']}
|
|
237
|
+
\`\`\`
|
|
238
|
+
|
|
239
|
+
${args['context'] ? `Context: ${args['context']}` : ''}
|
|
240
|
+
|
|
241
|
+
Please provide:
|
|
242
|
+
1. Run EXPLAIN on the query and interpret results
|
|
243
|
+
2. Identify performance bottlenecks:
|
|
244
|
+
- Full table scans
|
|
245
|
+
- Missing indexes
|
|
246
|
+
- Suboptimal join order
|
|
247
|
+
- Unnecessary columns in SELECT
|
|
248
|
+
|
|
249
|
+
3. Recommended optimizations:
|
|
250
|
+
- Index recommendations
|
|
251
|
+
- Query rewrites
|
|
252
|
+
- Schema changes if needed
|
|
253
|
+
|
|
254
|
+
4. Estimated improvement
|
|
255
|
+
|
|
256
|
+
Use these MySQL tools to analyze:
|
|
257
|
+
- mysql_explain for execution plan
|
|
258
|
+
- mysql_explain_analyze for actual timing
|
|
259
|
+
- mysql_index_usage to check index utilization
|
|
260
|
+
- mysql_table_stats for data volume
|
|
261
|
+
`);
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
function createMigrationPrompt() {
|
|
266
|
+
return {
|
|
267
|
+
name: 'mysql_migration',
|
|
268
|
+
description: 'Generate migration scripts for schema changes',
|
|
269
|
+
arguments: [
|
|
270
|
+
{ name: 'change', description: 'What schema change you need', required: true },
|
|
271
|
+
{ name: 'table', description: 'Target table name', required: true }
|
|
272
|
+
],
|
|
273
|
+
handler: (args, _context) => {
|
|
274
|
+
return Promise.resolve(`
|
|
275
|
+
You are a MySQL migration expert. Create a migration for: ${args['change']}
|
|
276
|
+
|
|
277
|
+
Target table: ${args['table']}
|
|
278
|
+
|
|
279
|
+
Please provide:
|
|
280
|
+
1. UP migration (apply the change):
|
|
281
|
+
- ALTER TABLE statements
|
|
282
|
+
- Create any new indexes
|
|
283
|
+
- Update any constraints
|
|
284
|
+
|
|
285
|
+
2. DOWN migration (rollback):
|
|
286
|
+
- Reverse all changes
|
|
287
|
+
- Handle data safely
|
|
288
|
+
|
|
289
|
+
3. Safety considerations:
|
|
290
|
+
- Impact on running queries
|
|
291
|
+
- Lock time estimates
|
|
292
|
+
- Data preservation
|
|
293
|
+
|
|
294
|
+
4. For large tables, provide online migration options:
|
|
295
|
+
- pt-online-schema-change approach
|
|
296
|
+
- gh-ost compatibility
|
|
297
|
+
- Rolling deployment strategy
|
|
298
|
+
|
|
299
|
+
Best practices:
|
|
300
|
+
- Test on staging first
|
|
301
|
+
- Backup before migration
|
|
302
|
+
- Run during low-traffic periods
|
|
303
|
+
- Monitor for lock contention
|
|
304
|
+
`);
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAElG,yBAAyB;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,kBAAkB;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAAC,OAAqB;IACjD,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAE9C,OAAO;QACH,yBAAyB;QACzB,qBAAqB,CAAC,QAAQ,CAAC;QAC/B,sBAAsB,EAAE;QACxB,uBAAuB,EAAE;QACzB,mBAAmB;QACnB,wBAAwB,EAAE;QAC1B,wBAAwB,EAAE;QAC1B,+BAA+B,EAAE;QACjC,qBAAqB,EAAE;QACvB,qCAAqC;QACrC,+BAA+B,EAAE;QACjC,0BAA0B,EAAE;QAC5B,uBAAuB,EAAE;QACzB,uBAAuB,EAAE;QACzB,yBAAyB,EAAE;QAC3B,4BAA4B,EAAE;QAC9B,wBAAwB,EAAE;QAC1B,kBAAkB;QAClB,uBAAuB,EAAE;QACzB,0BAA0B,EAAE;QAC5B,wBAAwB,EAAE;QAC1B,wBAAwB,EAAE;QAC1B,yBAAyB,EAAE;KAC9B,CAAC;AACN,CAAC;AAED,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF,SAAS,wBAAwB;IAC7B,OAAO;QACH,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,8CAA8C;QAC3D,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACtF;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAmB,EAAE;YACjF,OAAO,OAAO,CAAC,OAAO,CAAC;6CACU,IAAI,CAAC,WAAW,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC;;eAErF,IAAI,CAAC,aAAa,CAAC;;;;;;;;;;;;;CAajC,CAAC,CAAC;QACK,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,QAA0B;IACrD,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAEpD,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC,KAA6B,EAAE,QAAwB,EAAE,EAAE;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC;;;uBAGZ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;;EAE5C,SAAS;;;EAGT,YAAY;;;CAGb,CAAC,CAAC;QACK,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB;IAC3B,OAAO;QACH,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,8EAA8E;QAC3F,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,2CAA2C,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC9F;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,MAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAElF,OAAO,OAAO,CAAC,OAAO,CAAC;eACpB,SAAS,sBAAsB,QAAQ;;;EAGpD,IAAI,CAAC,KAAK,CAAC;;;qBAGQ,QAAQ;+BACE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;CAC7F,CAAC,CAAC;QACK,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB;IAC5B,OAAO;QACH,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,8EAA8E;QAC3F,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yDAAyD,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC7G;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC;oCACH,IAAI,CAAC,OAAO,CAAC;;;+BAGlB,IAAI,CAAC,OAAO,CAAC;;;CAG3C,CAAC,CAAC;YACS,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC;;;;;;;CAOlC,CAAC,CAAC;QACK,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB;IAC7B,OAAO;QACH,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,2BAA2B;QACxC,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrF,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE;SACtF;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC;2DACwB,IAAI,CAAC,QAAQ,CAAC;;EAEvE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBpE,CAAC,CAAC;QACK,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,+BAA+B;IACpC,OAAO;QACH,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,mCAAmC;QAChD,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC3E,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE;SACvF;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC;;;;EAIjC,IAAI,CAAC,OAAO,CAAC;;;EAGb,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBrD,CAAC,CAAC;QACK,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB;IAC1B,OAAO;QACH,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+CAA+C;QAC5D,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9E,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;SACtE;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC;4DACyB,IAAI,CAAC,QAAQ,CAAC;;gBAE1D,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B5B,CAAC,CAAC;QACK,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - Index Tuning
|
|
3
|
+
*
|
|
4
|
+
* Index analysis and optimization workflow.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createIndexTuningPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=indexTuning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexTuning.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/indexTuning.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,uBAAuB,IAAI,gBAAgB,CAkF1D"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export function createIndexTuningPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_index_tuning',
|
|
4
|
+
description: 'Analyze and optimize database indexes',
|
|
5
|
+
arguments: [
|
|
6
|
+
{ name: 'table', description: 'Specific table to analyze (optional, analyzes all if not provided)', required: false }
|
|
7
|
+
],
|
|
8
|
+
handler: (args, _context) => {
|
|
9
|
+
const table = args['table'];
|
|
10
|
+
return Promise.resolve(`# MySQL Index Tuning Workflow
|
|
11
|
+
|
|
12
|
+
${table ? `Analyze and optimize indexes for table: **${table}**` : 'Analyze and optimize indexes across the database'}
|
|
13
|
+
|
|
14
|
+
## Step 1: Identify Index Issues
|
|
15
|
+
|
|
16
|
+
### Check for Unused Indexes
|
|
17
|
+
Use \`mysql://indexes\` resource to find indexes with zero scans.
|
|
18
|
+
Unused indexes:
|
|
19
|
+
- Waste storage space
|
|
20
|
+
- Slow down INSERT/UPDATE/DELETE operations
|
|
21
|
+
- Should be reviewed for removal
|
|
22
|
+
|
|
23
|
+
### Check for Missing Indexes
|
|
24
|
+
Use \`mysql_index_usage\` or \`mysql_explain_analyze\` on slow queries:
|
|
25
|
+
- Look for full table scans (type = ALL)
|
|
26
|
+
- Look for range scans that could use indexes (type = range without index)
|
|
27
|
+
- Check for filesort and temporary table usage
|
|
28
|
+
|
|
29
|
+
### Check for Duplicate Indexes
|
|
30
|
+
The \`mysql://indexes\` resource identifies potential duplicates:
|
|
31
|
+
- Indexes with same leading columns
|
|
32
|
+
- Redundant indexes (e.g., INDEX(a) when INDEX(a,b) exists)
|
|
33
|
+
|
|
34
|
+
## Step 2: Analyze Query Patterns
|
|
35
|
+
|
|
36
|
+
### Find Slow Queries
|
|
37
|
+
Use \`mysql://performance\` resource or \`mysql_slow_queries\` tool:
|
|
38
|
+
- Identify top queries by execution time
|
|
39
|
+
- Look for queries without appropriate indexes
|
|
40
|
+
|
|
41
|
+
### EXPLAIN Analysis
|
|
42
|
+
For each slow query, use \`mysql_explain_analyze\`:
|
|
43
|
+
\`\`\`
|
|
44
|
+
Key things to look for:
|
|
45
|
+
- type: ALL (full table scan - bad)
|
|
46
|
+
- type: index (full index scan - often bad)
|
|
47
|
+
- type: range, ref, eq_ref (good)
|
|
48
|
+
- Extra: Using filesort (may need index)
|
|
49
|
+
- Extra: Using temporary (may need index)
|
|
50
|
+
\`\`\`
|
|
51
|
+
|
|
52
|
+
## Step 3: Index Recommendations
|
|
53
|
+
|
|
54
|
+
Use \`mysql_index_recommendation\` tool for AI-powered suggestions:
|
|
55
|
+
- Composite index recommendations
|
|
56
|
+
- Covering index opportunities
|
|
57
|
+
- Index order optimization
|
|
58
|
+
|
|
59
|
+
## Step 4: Implement Changes
|
|
60
|
+
|
|
61
|
+
### Adding Indexes
|
|
62
|
+
\`\`\`sql
|
|
63
|
+
CREATE INDEX idx_name ON table_name (column1, column2);
|
|
64
|
+
-- Or for large tables, use pt-online-schema-change
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
### Removing Unused Indexes
|
|
68
|
+
\`\`\`sql
|
|
69
|
+
-- First verify the index is truly unused
|
|
70
|
+
DROP INDEX idx_name ON table_name;
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
## Step 5: Verify Improvements
|
|
74
|
+
After changes:
|
|
75
|
+
1. Re-run EXPLAIN on problematic queries
|
|
76
|
+
2. Compare query execution times
|
|
77
|
+
3. Monitor \`mysql://performance\` for improvements
|
|
78
|
+
|
|
79
|
+
${table ? `\nStart by analyzing indexes on table **${table}**.` : '\nStart by reviewing the `mysql://indexes` resource.'}`);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=indexTuning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexTuning.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/indexTuning.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,uBAAuB;IACnC,OAAO;QACH,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uCAAuC;QACpD,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,oEAAoE,EAAE,QAAQ,EAAE,KAAK,EAAE;SACxH;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAE5B,OAAO,OAAO,CAAC,OAAO,CAAC;;EAEjC,KAAK,CAAC,CAAC,CAAC,6CAA6C,KAAK,IAAI,CAAC,CAAC,CAAC,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEnH,KAAK,CAAC,CAAC,CAAC,2CAA2C,KAAK,KAAK,CAAC,CAAC,CAAC,sDAAsD,EAAE,CAAC,CAAC;QACpH,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - MySQL Shell Setup
|
|
3
|
+
*
|
|
4
|
+
* MySQL Shell installation and usage guide.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createSetupMysqlshPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=mysqlshSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysqlshSetup.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/mysqlshSetup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,wBAAwB,IAAI,gBAAgB,CA+G3D"}
|