@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,113 @@
|
|
|
1
|
+
export function createSetupMysqlshPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_setup_shell',
|
|
4
|
+
description: 'MySQL Shell setup and usage guide',
|
|
5
|
+
arguments: [],
|
|
6
|
+
handler: (_args, _context) => {
|
|
7
|
+
return Promise.resolve(`# MySQL Shell Setup Guide
|
|
8
|
+
|
|
9
|
+
MySQL Shell is an advanced client with JavaScript, Python, and SQL modes, plus powerful dump/load utilities.
|
|
10
|
+
|
|
11
|
+
## Step 1: Verify Installation
|
|
12
|
+
|
|
13
|
+
Use \`mysqlsh_version\` tool to check if MySQL Shell is installed:
|
|
14
|
+
- Requires MySQL Shell 8.0+
|
|
15
|
+
- Should be in PATH or configured via MYSQLSH_PATH
|
|
16
|
+
|
|
17
|
+
## Step 2: Configure Environment
|
|
18
|
+
|
|
19
|
+
Set environment variables for MCP server:
|
|
20
|
+
\`\`\`bash
|
|
21
|
+
# Path to mysqlsh binary (if not in PATH)
|
|
22
|
+
MYSQLSH_PATH=/usr/bin/mysqlsh
|
|
23
|
+
|
|
24
|
+
# Working directory for dump/load operations
|
|
25
|
+
MYSQLSH_WORK_DIR=/tmp/mysql-dumps
|
|
26
|
+
|
|
27
|
+
# Timeout for shell commands (ms, default: 300000 = 5 min)
|
|
28
|
+
MYSQLSH_TIMEOUT=300000
|
|
29
|
+
\`\`\`
|
|
30
|
+
|
|
31
|
+
## Step 3: Basic MySQL Shell Usage
|
|
32
|
+
|
|
33
|
+
### SQL Mode
|
|
34
|
+
\`\`\`bash
|
|
35
|
+
mysqlsh --sql mysql://user:pass@localhost/dbname
|
|
36
|
+
\`\`\`
|
|
37
|
+
|
|
38
|
+
### JavaScript Mode
|
|
39
|
+
\`\`\`bash
|
|
40
|
+
mysqlsh --js mysql://user:pass@localhost
|
|
41
|
+
\\js session.runSql("SELECT 1")
|
|
42
|
+
\`\`\`
|
|
43
|
+
|
|
44
|
+
### Python Mode
|
|
45
|
+
\`\`\`bash
|
|
46
|
+
mysqlsh --py mysql://user:pass@localhost
|
|
47
|
+
\\py session.run_sql("SELECT 1")
|
|
48
|
+
\`\`\`
|
|
49
|
+
|
|
50
|
+
## Step 4: Available MCP Tools
|
|
51
|
+
|
|
52
|
+
### Version and Upgrade Check
|
|
53
|
+
- \`mysqlsh_version\` - Check Shell version
|
|
54
|
+
- \`mysqlsh_check_upgrade\` - Check MySQL server upgrade compatibility
|
|
55
|
+
|
|
56
|
+
### Data Export
|
|
57
|
+
- \`mysqlsh_export_table\` - Export table to CSV/TSV/JSON
|
|
58
|
+
- \`mysqlsh_dump_instance\` - Dump entire instance (parallel, fast)
|
|
59
|
+
- \`mysqlsh_dump_schemas\` - Dump specific schemas
|
|
60
|
+
- \`mysqlsh_dump_tables\` - Dump specific tables
|
|
61
|
+
|
|
62
|
+
### Data Import
|
|
63
|
+
- \`mysqlsh_import_table\` - Parallel table import
|
|
64
|
+
- \`mysqlsh_import_json\` - Import JSON documents
|
|
65
|
+
- \`mysqlsh_load_dump\` - Load MySQL Shell dump
|
|
66
|
+
|
|
67
|
+
### Scripting
|
|
68
|
+
- \`mysqlsh_run_script\` - Execute JS/Python/SQL script
|
|
69
|
+
|
|
70
|
+
## Step 5: Common Workflows
|
|
71
|
+
|
|
72
|
+
### Fast Instance Backup
|
|
73
|
+
\`\`\`
|
|
74
|
+
Use mysqlsh_dump_instance tool:
|
|
75
|
+
- 10-20x faster than mysqldump
|
|
76
|
+
- Parallel execution
|
|
77
|
+
- Consistent snapshot
|
|
78
|
+
\`\`\`
|
|
79
|
+
|
|
80
|
+
### Large Table Import
|
|
81
|
+
\`\`\`
|
|
82
|
+
Use mysqlsh_import_table tool:
|
|
83
|
+
- Parallel chunk loading
|
|
84
|
+
- Automatic transaction management
|
|
85
|
+
- Progress reporting
|
|
86
|
+
\`\`\`
|
|
87
|
+
|
|
88
|
+
### Schema Migration
|
|
89
|
+
\`\`\`
|
|
90
|
+
1. Check upgrade compatibility: mysqlsh_check_upgrade
|
|
91
|
+
2. Dump source: mysqlsh_dump_instance
|
|
92
|
+
3. Load to target: mysqlsh_load_dump
|
|
93
|
+
\`\`\`
|
|
94
|
+
|
|
95
|
+
## Step 6: Best Practices
|
|
96
|
+
|
|
97
|
+
1. **Use dump utilities for large databases** - Much faster than mysqldump
|
|
98
|
+
2. **Set appropriate work directory** - Ensure enough disk space
|
|
99
|
+
3. **Adjust timeout for large operations** - Dumps may take hours
|
|
100
|
+
4. **Use compression** - Reduces storage and transfer time
|
|
101
|
+
|
|
102
|
+
## Troubleshooting
|
|
103
|
+
|
|
104
|
+
- **mysqlsh not found**: Set MYSQLSH_PATH
|
|
105
|
+
- **Permission denied**: Check work directory permissions
|
|
106
|
+
- **Timeout**: Increase MYSQLSH_TIMEOUT for large operations
|
|
107
|
+
- **Connection errors**: Verify MySQL connection string
|
|
108
|
+
|
|
109
|
+
Start by running \`mysqlsh_version\` to verify installation.`);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=mysqlshSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysqlshSetup.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/mysqlshSetup.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,wBAAwB;IACpC,OAAO;QACH,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,mCAAmC;QAChD,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC,KAA6B,EAAE,QAAwB,EAAE,EAAE;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAsG0B,CAAC,CAAC;QACvD,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - ProxySQL Setup
|
|
3
|
+
*
|
|
4
|
+
* Complete ProxySQL configuration guide.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createSetupProxysqlPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=proxysqlSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxysqlSetup.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/proxysqlSetup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,yBAAyB,IAAI,gBAAgB,CA2G5D"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export function createSetupProxysqlPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_setup_proxysql',
|
|
4
|
+
description: 'Complete ProxySQL setup and configuration guide',
|
|
5
|
+
arguments: [],
|
|
6
|
+
handler: (_args, _context) => {
|
|
7
|
+
return Promise.resolve(`# ProxySQL Setup Guide
|
|
8
|
+
|
|
9
|
+
ProxySQL is a high-performance MySQL proxy supporting connection pooling, query routing, and caching.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
1. **ProxySQL installed** (v2.x recommended)
|
|
14
|
+
2. **MySQL backend servers** accessible
|
|
15
|
+
3. **Admin access** to ProxySQL (default: admin:admin on port 6032)
|
|
16
|
+
|
|
17
|
+
## Step 1: Connect to ProxySQL Admin
|
|
18
|
+
|
|
19
|
+
\`\`\`bash
|
|
20
|
+
mysql -h 127.0.0.1 -P 6032 -u admin -padmin
|
|
21
|
+
\`\`\`
|
|
22
|
+
|
|
23
|
+
## Step 2: Configure Backend Servers
|
|
24
|
+
|
|
25
|
+
\`\`\`sql
|
|
26
|
+
-- Add primary server (hostgroup 0 = writers)
|
|
27
|
+
INSERT INTO mysql_servers (hostgroup_id, hostname, port, weight)
|
|
28
|
+
VALUES (0, 'primary-host', 3306, 1000);
|
|
29
|
+
|
|
30
|
+
-- Add replica servers (hostgroup 1 = readers)
|
|
31
|
+
INSERT INTO mysql_servers (hostgroup_id, hostname, port, weight)
|
|
32
|
+
VALUES (1, 'replica1-host', 3306, 500),
|
|
33
|
+
(1, 'replica2-host', 3306, 500);
|
|
34
|
+
|
|
35
|
+
-- Load and save configuration
|
|
36
|
+
LOAD MYSQL SERVERS TO RUNTIME;
|
|
37
|
+
SAVE MYSQL SERVERS TO DISK;
|
|
38
|
+
\`\`\`
|
|
39
|
+
|
|
40
|
+
## Step 3: Configure Users
|
|
41
|
+
|
|
42
|
+
\`\`\`sql
|
|
43
|
+
-- Add MySQL users that will connect through ProxySQL
|
|
44
|
+
INSERT INTO mysql_users (username, password, default_hostgroup)
|
|
45
|
+
VALUES ('app_user', 'password', 0);
|
|
46
|
+
|
|
47
|
+
LOAD MYSQL USERS TO RUNTIME;
|
|
48
|
+
SAVE MYSQL USERS TO DISK;
|
|
49
|
+
\`\`\`
|
|
50
|
+
|
|
51
|
+
## Step 4: Configure Query Rules
|
|
52
|
+
|
|
53
|
+
\`\`\`sql
|
|
54
|
+
-- Route SELECT queries to readers (hostgroup 1)
|
|
55
|
+
INSERT INTO mysql_query_rules (rule_id, active, match_pattern, destination_hostgroup)
|
|
56
|
+
VALUES (1, 1, '^SELECT.*FOR UPDATE', 0), -- SELECT FOR UPDATE to writers
|
|
57
|
+
(2, 1, '^SELECT', 1); -- Other SELECTs to readers
|
|
58
|
+
|
|
59
|
+
LOAD MYSQL QUERY RULES TO RUNTIME;
|
|
60
|
+
SAVE MYSQL QUERY RULES TO DISK;
|
|
61
|
+
\`\`\`
|
|
62
|
+
|
|
63
|
+
## Step 5: Configure MCP Server
|
|
64
|
+
|
|
65
|
+
Set environment variables:
|
|
66
|
+
\`\`\`bash
|
|
67
|
+
PROXYSQL_HOST=localhost
|
|
68
|
+
PROXYSQL_PORT=6032
|
|
69
|
+
PROXYSQL_USER=admin
|
|
70
|
+
PROXYSQL_PASSWORD=admin
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
## Step 6: Verify with MCP Tools
|
|
74
|
+
|
|
75
|
+
Use ProxySQL tools to verify:
|
|
76
|
+
- \`proxysql_status\` - Check ProxySQL is running
|
|
77
|
+
- \`proxysql_servers\` - List configured servers
|
|
78
|
+
- \`proxysql_hostgroups\` - View hostgroup configuration
|
|
79
|
+
- \`proxysql_query_rules\` - Review routing rules
|
|
80
|
+
- \`proxysql_query_digest\` - Analyze query patterns
|
|
81
|
+
|
|
82
|
+
## Connection Pooling
|
|
83
|
+
|
|
84
|
+
ProxySQL provides connection multiplexing:
|
|
85
|
+
\`\`\`sql
|
|
86
|
+
-- Configure max connections per hostgroup
|
|
87
|
+
UPDATE mysql_servers SET max_connections = 100;
|
|
88
|
+
LOAD MYSQL SERVERS TO RUNTIME;
|
|
89
|
+
\`\`\`
|
|
90
|
+
|
|
91
|
+
## Monitoring Queries
|
|
92
|
+
|
|
93
|
+
Use \`proxysql_query_digest\` to find:
|
|
94
|
+
- Slow queries
|
|
95
|
+
- Most frequent queries
|
|
96
|
+
- Queries for caching candidates
|
|
97
|
+
|
|
98
|
+
## Best Practices
|
|
99
|
+
|
|
100
|
+
1. **Connection pooling**: Set max_connections appropriately
|
|
101
|
+
2. **Query caching**: Cache read-heavy, stable queries
|
|
102
|
+
3. **Health checks**: Configure proper health check intervals
|
|
103
|
+
4. **Monitor**: Watch query digest for performance issues
|
|
104
|
+
|
|
105
|
+
Start by checking ProxySQL connection with \`proxysql_status\`.`);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=proxysqlSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxysqlSetup.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/proxysqlSetup.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,yBAAyB;IACrC,OAAO;QACH,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,iDAAiD;QAC9D,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC,KAA6B,EAAE,QAAwB,EAAE,EAAE;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAkG6B,CAAC,CAAC;QAC1D,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - Replication Setup
|
|
3
|
+
*
|
|
4
|
+
* MySQL replication configuration guide.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createSetupReplicationPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=replicationSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replicationSetup.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/replicationSetup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,4BAA4B,IAAI,gBAAgB,CA2I/D"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export function createSetupReplicationPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_setup_replication',
|
|
4
|
+
description: 'MySQL replication setup and configuration guide',
|
|
5
|
+
arguments: [
|
|
6
|
+
{ name: 'type', description: 'Replication type: async, semisync, group', required: false }
|
|
7
|
+
],
|
|
8
|
+
handler: (args, _context) => {
|
|
9
|
+
const replicationType = args['type'] ?? 'async';
|
|
10
|
+
return Promise.resolve(`# MySQL Replication Setup Guide
|
|
11
|
+
|
|
12
|
+
Configure MySQL replication for high availability and read scaling.
|
|
13
|
+
|
|
14
|
+
**Replication Type:** ${replicationType}
|
|
15
|
+
|
|
16
|
+
## Step 1: Check Current Replication Status
|
|
17
|
+
|
|
18
|
+
Use \`mysql://replication\` resource to check:
|
|
19
|
+
- Current role (source/replica/standalone)
|
|
20
|
+
- Binary log configuration
|
|
21
|
+
- GTID status
|
|
22
|
+
|
|
23
|
+
## Step 2: Prepare Source Server
|
|
24
|
+
|
|
25
|
+
### Enable Binary Logging
|
|
26
|
+
\`\`\`ini
|
|
27
|
+
# my.cnf on source
|
|
28
|
+
[mysqld]
|
|
29
|
+
server-id = 1
|
|
30
|
+
log_bin = mysql-bin
|
|
31
|
+
binlog_format = ROW
|
|
32
|
+
gtid_mode = ON
|
|
33
|
+
enforce_gtid_consistency = ON
|
|
34
|
+
\`\`\`
|
|
35
|
+
|
|
36
|
+
### Create Replication User
|
|
37
|
+
\`\`\`sql
|
|
38
|
+
CREATE USER 'repl'@'%' IDENTIFIED BY 'replication_password';
|
|
39
|
+
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
## Step 3: Prepare Replica Server
|
|
43
|
+
|
|
44
|
+
### Configure Replica
|
|
45
|
+
\`\`\`ini
|
|
46
|
+
# my.cnf on replica
|
|
47
|
+
[mysqld]
|
|
48
|
+
server-id = 2
|
|
49
|
+
log_bin = mysql-bin
|
|
50
|
+
relay_log = relay-bin
|
|
51
|
+
gtid_mode = ON
|
|
52
|
+
enforce_gtid_consistency = ON
|
|
53
|
+
read_only = ON
|
|
54
|
+
super_read_only = ON
|
|
55
|
+
${replicationType === 'semisync' ? `
|
|
56
|
+
# Semi-synchronous replication
|
|
57
|
+
rpl_semi_sync_replica_enabled = 1` : ''}
|
|
58
|
+
\`\`\`
|
|
59
|
+
|
|
60
|
+
## Step 4: Initialize Replica
|
|
61
|
+
|
|
62
|
+
### Option A: GTID-based (Recommended)
|
|
63
|
+
\`\`\`sql
|
|
64
|
+
CHANGE REPLICATION SOURCE TO
|
|
65
|
+
SOURCE_HOST = 'source-host',
|
|
66
|
+
SOURCE_PORT = 3306,
|
|
67
|
+
SOURCE_USER = 'repl',
|
|
68
|
+
SOURCE_PASSWORD = 'replication_password',
|
|
69
|
+
SOURCE_AUTO_POSITION = 1;
|
|
70
|
+
|
|
71
|
+
START REPLICA;
|
|
72
|
+
\`\`\`
|
|
73
|
+
|
|
74
|
+
### Option B: Binary Log Position
|
|
75
|
+
\`\`\`sql
|
|
76
|
+
-- Get position from source
|
|
77
|
+
SHOW BINARY LOG STATUS;
|
|
78
|
+
|
|
79
|
+
-- On replica
|
|
80
|
+
CHANGE REPLICATION SOURCE TO
|
|
81
|
+
SOURCE_HOST = 'source-host',
|
|
82
|
+
SOURCE_PORT = 3306,
|
|
83
|
+
SOURCE_USER = 'repl',
|
|
84
|
+
SOURCE_PASSWORD = 'replication_password',
|
|
85
|
+
SOURCE_LOG_FILE = 'mysql-bin.000001',
|
|
86
|
+
SOURCE_LOG_POS = 123456;
|
|
87
|
+
|
|
88
|
+
START REPLICA;
|
|
89
|
+
\`\`\`
|
|
90
|
+
|
|
91
|
+
## Step 5: Verify Replication
|
|
92
|
+
|
|
93
|
+
Use these tools to verify:
|
|
94
|
+
- \`mysql_replication_status\` - Detailed status
|
|
95
|
+
- \`mysql_replication_lag\` - Check replication delay
|
|
96
|
+
- \`mysql://replication\` - Overall status
|
|
97
|
+
|
|
98
|
+
\`\`\`sql
|
|
99
|
+
SHOW REPLICA STATUS\\G
|
|
100
|
+
\`\`\`
|
|
101
|
+
|
|
102
|
+
Key things to check:
|
|
103
|
+
- Replica_IO_Running: Yes
|
|
104
|
+
- Replica_SQL_Running: Yes
|
|
105
|
+
- Seconds_Behind_Source: 0 (or low)
|
|
106
|
+
|
|
107
|
+
## Semi-Synchronous Replication
|
|
108
|
+
|
|
109
|
+
For reduced data loss risk:
|
|
110
|
+
\`\`\`sql
|
|
111
|
+
-- On source
|
|
112
|
+
INSTALL PLUGIN rpl_semi_sync_source SONAME 'semisync_source.so';
|
|
113
|
+
SET GLOBAL rpl_semi_sync_source_enabled = 1;
|
|
114
|
+
|
|
115
|
+
-- On replica
|
|
116
|
+
INSTALL PLUGIN rpl_semi_sync_replica SONAME 'semisync_replica.so';
|
|
117
|
+
SET GLOBAL rpl_semi_sync_replica_enabled = 1;
|
|
118
|
+
\`\`\`
|
|
119
|
+
|
|
120
|
+
## Monitoring
|
|
121
|
+
|
|
122
|
+
Regular monitoring should include:
|
|
123
|
+
- Replication lag trends
|
|
124
|
+
- Binary log volume
|
|
125
|
+
- Error log for replication errors
|
|
126
|
+
- GTID gaps
|
|
127
|
+
|
|
128
|
+
## Failover Procedure
|
|
129
|
+
|
|
130
|
+
1. Verify replica is caught up
|
|
131
|
+
2. Stop replication on replica
|
|
132
|
+
3. Promote replica: \`SET GLOBAL read_only = OFF;\`
|
|
133
|
+
4. Update application connection strings
|
|
134
|
+
5. Re-point other replicas to new source
|
|
135
|
+
|
|
136
|
+
Start by checking current replication status with \`mysql://replication\`.`);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=replicationSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replicationSetup.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/replicationSetup.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,4BAA4B;IACxC,OAAO;QACH,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,iDAAiD;QAC9D,SAAS,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,0CAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC7F;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,QAAwB,EAAE,EAAE;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;YAEhD,OAAO,OAAO,CAAC,OAAO,CAAC;;;;wBAIX,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCrC,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC;;kCAED,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA+EoC,CAAC,CAAC;QACrE,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - Router Setup
|
|
3
|
+
*
|
|
4
|
+
* Complete MySQL Router configuration guide.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createSetupRouterPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=routerSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routerSetup.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/routerSetup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,uBAAuB,IAAI,gBAAgB,CAkG1D"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export function createSetupRouterPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_setup_router',
|
|
4
|
+
description: 'Complete MySQL Router setup and configuration guide',
|
|
5
|
+
arguments: [],
|
|
6
|
+
handler: (_args, _context) => {
|
|
7
|
+
return Promise.resolve(`# MySQL Router Setup Guide
|
|
8
|
+
|
|
9
|
+
MySQL Router provides transparent routing between applications and MySQL servers, supporting InnoDB Cluster for high availability.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
1. **MySQL Router installed** (comes with MySQL 8.0+)
|
|
14
|
+
2. **InnoDB Cluster** (optional but recommended for HA)
|
|
15
|
+
3. **Admin credentials** for MySQL servers
|
|
16
|
+
|
|
17
|
+
## Step 1: Bootstrap Router (InnoDB Cluster)
|
|
18
|
+
|
|
19
|
+
If using InnoDB Cluster:
|
|
20
|
+
\`\`\`bash
|
|
21
|
+
mysqlrouter --bootstrap admin@primary-host:3306 --user=mysqlrouter
|
|
22
|
+
\`\`\`
|
|
23
|
+
|
|
24
|
+
This auto-configures Router to work with your cluster.
|
|
25
|
+
|
|
26
|
+
## Step 2: Manual Configuration
|
|
27
|
+
|
|
28
|
+
For manual setup, edit \`mysqlrouter.conf\`:
|
|
29
|
+
\`\`\`ini
|
|
30
|
+
[routing:primary]
|
|
31
|
+
bind_address = 0.0.0.0
|
|
32
|
+
bind_port = 6446
|
|
33
|
+
destinations = primary-host:3306
|
|
34
|
+
routing_strategy = first-available
|
|
35
|
+
mode = read-write
|
|
36
|
+
|
|
37
|
+
[routing:secondary]
|
|
38
|
+
bind_address = 0.0.0.0
|
|
39
|
+
bind_port = 6447
|
|
40
|
+
destinations = secondary1:3306,secondary2:3306
|
|
41
|
+
routing_strategy = round-robin
|
|
42
|
+
mode = read-only
|
|
43
|
+
\`\`\`
|
|
44
|
+
|
|
45
|
+
## Step 3: Enable REST API (for monitoring)
|
|
46
|
+
|
|
47
|
+
Add to mysqlrouter.conf:
|
|
48
|
+
\`\`\`ini
|
|
49
|
+
[rest_api]
|
|
50
|
+
require_realm = default_realm
|
|
51
|
+
|
|
52
|
+
[rest_router]
|
|
53
|
+
require_realm = default_realm
|
|
54
|
+
|
|
55
|
+
[rest_metadata_cache]
|
|
56
|
+
require_realm = default_realm
|
|
57
|
+
|
|
58
|
+
[http_server]
|
|
59
|
+
port = 8443
|
|
60
|
+
ssl = 1
|
|
61
|
+
ssl_cert = /path/to/router-cert.pem
|
|
62
|
+
ssl_key = /path/to/router-key.pem
|
|
63
|
+
\`\`\`
|
|
64
|
+
|
|
65
|
+
## Step 4: Configure MCP Server
|
|
66
|
+
|
|
67
|
+
Set environment variables:
|
|
68
|
+
\`\`\`bash
|
|
69
|
+
MYSQL_ROUTER_URL=https://localhost:8443
|
|
70
|
+
MYSQL_ROUTER_USERNAME=admin
|
|
71
|
+
MYSQL_ROUTER_PASSWORD=your_password
|
|
72
|
+
MYSQL_ROUTER_INSECURE=true # For self-signed certs
|
|
73
|
+
\`\`\`
|
|
74
|
+
|
|
75
|
+
## Step 5: Verify with MCP Tools
|
|
76
|
+
|
|
77
|
+
Use Router tools to verify:
|
|
78
|
+
- \`mysql_router_status\` - Check Router is running
|
|
79
|
+
- \`mysql_router_routes\` - List configured routes
|
|
80
|
+
- \`mysql_router_route_health\` - Check route health
|
|
81
|
+
|
|
82
|
+
## Routing Strategies
|
|
83
|
+
|
|
84
|
+
| Strategy | Description | Use Case |
|
|
85
|
+
|----------|-------------|----------|
|
|
86
|
+
| first-available | Routes to first healthy server | Primary writes |
|
|
87
|
+
| round-robin | Distributes across all servers | Read scaling |
|
|
88
|
+
| round-robin-with-fallback | Round-robin with fallback | HA reads |
|
|
89
|
+
|
|
90
|
+
## Common Issues
|
|
91
|
+
|
|
92
|
+
1. **Connection refused**: Check Router is running and ports are open
|
|
93
|
+
2. **SSL errors**: Use MYSQL_ROUTER_INSECURE=true for self-signed certs
|
|
94
|
+
3. **No destinations**: Verify backend servers are healthy
|
|
95
|
+
|
|
96
|
+
Start by checking if MySQL Router is installed and running.`);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=routerSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routerSetup.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/routerSetup.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,uBAAuB;IACnC,OAAO;QACH,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,qDAAqD;QAClE,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC,KAA6B,EAAE,QAAwB,EAAE,EAAE;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DAyFyB,CAAC,CAAC;QACtD,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - Spatial/GIS Setup
|
|
3
|
+
*
|
|
4
|
+
* Complete Spatial data and GIS setup guide.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createSetupSpatialPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=spatialSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spatialSetup.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/spatialSetup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,wBAAwB,IAAI,gBAAgB,CAqG3D"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export function createSetupSpatialPrompt() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'mysql_setup_spatial',
|
|
4
|
+
description: 'Complete MySQL Spatial/GIS setup and usage guide',
|
|
5
|
+
arguments: [],
|
|
6
|
+
handler: (_args, _context) => {
|
|
7
|
+
return Promise.resolve(`# MySQL Spatial/GIS Setup Guide
|
|
8
|
+
|
|
9
|
+
MySQL provides native spatial data support with geometry types and spatial functions (ST_*).
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
1. **MySQL 5.7+** for full spatial support
|
|
14
|
+
2. **MySQL 8.0+** for proper SRID enforcement
|
|
15
|
+
3. **InnoDB engine** for spatial indexes
|
|
16
|
+
|
|
17
|
+
## Step 1: Create Spatial Columns
|
|
18
|
+
|
|
19
|
+
\`\`\`sql
|
|
20
|
+
CREATE TABLE locations (
|
|
21
|
+
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
22
|
+
name VARCHAR(100),
|
|
23
|
+
location POINT NOT NULL SRID 4326,
|
|
24
|
+
boundary POLYGON SRID 4326,
|
|
25
|
+
SPATIAL INDEX (location)
|
|
26
|
+
);
|
|
27
|
+
\`\`\`
|
|
28
|
+
|
|
29
|
+
## Step 2: Insert Spatial Data
|
|
30
|
+
|
|
31
|
+
\`\`\`sql
|
|
32
|
+
-- Using WKT (Well-Known Text)
|
|
33
|
+
INSERT INTO locations (name, location) VALUES
|
|
34
|
+
('Office', ST_GeomFromText('POINT(40.7484 -73.9857)', 4326));
|
|
35
|
+
|
|
36
|
+
-- Using GeoJSON
|
|
37
|
+
INSERT INTO locations (name, location) VALUES
|
|
38
|
+
('Store', ST_GeomFromGeoJSON('{"type":"Point","coordinates":[-73.9857,40.7484]}'));
|
|
39
|
+
\`\`\`
|
|
40
|
+
|
|
41
|
+
## Step 3: Query Spatial Data
|
|
42
|
+
|
|
43
|
+
\`\`\`sql
|
|
44
|
+
-- Find points within distance (meters for SRID 4326)
|
|
45
|
+
SELECT name, ST_Distance_Sphere(
|
|
46
|
+
location,
|
|
47
|
+
ST_GeomFromText('POINT(40.7128 -74.0060)', 4326)
|
|
48
|
+
) AS distance_meters
|
|
49
|
+
FROM locations
|
|
50
|
+
ORDER BY distance_meters
|
|
51
|
+
LIMIT 10;
|
|
52
|
+
|
|
53
|
+
-- Points within polygon
|
|
54
|
+
SELECT * FROM locations
|
|
55
|
+
WHERE ST_Contains(
|
|
56
|
+
ST_GeomFromText('POLYGON((...))'),
|
|
57
|
+
location
|
|
58
|
+
);
|
|
59
|
+
\`\`\`
|
|
60
|
+
|
|
61
|
+
## Common SRIDs
|
|
62
|
+
|
|
63
|
+
| SRID | Name | Use Case |
|
|
64
|
+
|------|------|----------|
|
|
65
|
+
| 4326 | WGS 84 | GPS coordinates (lon/lat) |
|
|
66
|
+
| 3857 | Web Mercator | Web maps |
|
|
67
|
+
| 0 | Planar | Local/metric calculations |
|
|
68
|
+
|
|
69
|
+
## Available MCP Tools
|
|
70
|
+
|
|
71
|
+
| Tool | Description |
|
|
72
|
+
|------|-------------|
|
|
73
|
+
| \`mysql_spatial_create_column\` | Add geometry column |
|
|
74
|
+
| \`mysql_spatial_create_index\` | Create SPATIAL index |
|
|
75
|
+
| \`mysql_spatial_point\` | Create POINT geometry |
|
|
76
|
+
| \`mysql_spatial_polygon\` | Create POLYGON geometry |
|
|
77
|
+
| \`mysql_spatial_distance\` | Calculate distance |
|
|
78
|
+
| \`mysql_spatial_distance_sphere\` | Spherical distance |
|
|
79
|
+
| \`mysql_spatial_contains\` | ST_Contains check |
|
|
80
|
+
| \`mysql_spatial_within\` | ST_Within check |
|
|
81
|
+
| \`mysql_spatial_intersection\` | Find intersection |
|
|
82
|
+
| \`mysql_spatial_buffer\` | Create buffer zone |
|
|
83
|
+
| \`mysql_spatial_transform\` | Transform SRID |
|
|
84
|
+
| \`mysql_spatial_geojson\` | Convert GeoJSON |
|
|
85
|
+
|
|
86
|
+
## Best Practices
|
|
87
|
+
|
|
88
|
+
1. **Always specify SRID** for geographic data
|
|
89
|
+
2. **Use SRID 4326** for GPS/lon-lat coordinates
|
|
90
|
+
3. **Index spatial columns** for query performance
|
|
91
|
+
4. **Use ST_Distance_Sphere** for earth distance calculations
|
|
92
|
+
|
|
93
|
+
## Common Issues
|
|
94
|
+
|
|
95
|
+
1. **SRID mismatch**: Ensure all geometries use same SRID
|
|
96
|
+
2. **Coordinate order**: MySQL 8.0+ with SRID 4326 uses (X, Y) = (latitude, longitude) per EPSG standard
|
|
97
|
+
3. **Index not used**: Check column is NOT NULL
|
|
98
|
+
|
|
99
|
+
Start by creating a spatial column with \`mysql_spatial_create_column\`.`);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=spatialSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spatialSetup.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/spatialSetup.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,wBAAwB;IACpC,OAAO;QACH,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,kDAAkD;QAC/D,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC,KAA6B,EAAE,QAAwB,EAAE,EAAE;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEA4FsC,CAAC,CAAC;QACnE,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MySQL Prompt - sys Schema Guide
|
|
3
|
+
*
|
|
4
|
+
* Complete sys schema usage guide for diagnostics.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from '../../../types/index.js';
|
|
7
|
+
export declare function createSysSchemaGuidePrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=sysSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sysSchema.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/sysSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAqG7D"}
|