@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.
Files changed (792) hide show
  1. package/.dockerignore +41 -0
  2. package/.env.example +33 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +29 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
  5. package/.github/dependabot.yml +19 -0
  6. package/.github/pull_request_template.md +23 -0
  7. package/.github/workflows/codeql.yml +64 -0
  8. package/.github/workflows/docker-publish.yml +285 -0
  9. package/.github/workflows/publish-npm.yml +75 -0
  10. package/CHANGELOG.md +481 -0
  11. package/CODE_OF_CONDUCT.md +29 -0
  12. package/CONTRIBUTING.md +57 -0
  13. package/DOCKER_README.md +482 -0
  14. package/Dockerfile +78 -0
  15. package/LICENSE +21 -0
  16. package/README.md +594 -0
  17. package/SECURITY.md +66 -0
  18. package/VERSION +1 -0
  19. package/dist/__tests__/mocks/adapter.d.ts +80 -0
  20. package/dist/__tests__/mocks/adapter.d.ts.map +1 -0
  21. package/dist/__tests__/mocks/adapter.js +202 -0
  22. package/dist/__tests__/mocks/adapter.js.map +1 -0
  23. package/dist/__tests__/mocks/index.d.ts +11 -0
  24. package/dist/__tests__/mocks/index.d.ts.map +1 -0
  25. package/dist/__tests__/mocks/index.js +11 -0
  26. package/dist/__tests__/mocks/index.js.map +1 -0
  27. package/dist/__tests__/mocks/mysql.d.ts +36 -0
  28. package/dist/__tests__/mocks/mysql.d.ts.map +1 -0
  29. package/dist/__tests__/mocks/mysql.js +110 -0
  30. package/dist/__tests__/mocks/mysql.js.map +1 -0
  31. package/dist/__tests__/setup.d.ts +40 -0
  32. package/dist/__tests__/setup.d.ts.map +1 -0
  33. package/dist/__tests__/setup.js +45 -0
  34. package/dist/__tests__/setup.js.map +1 -0
  35. package/dist/adapters/DatabaseAdapter.d.ts +134 -0
  36. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
  37. package/dist/adapters/DatabaseAdapter.js +211 -0
  38. package/dist/adapters/DatabaseAdapter.js.map +1 -0
  39. package/dist/adapters/mysql/MySQLAdapter.d.ts +88 -0
  40. package/dist/adapters/mysql/MySQLAdapter.d.ts.map +1 -0
  41. package/dist/adapters/mysql/MySQLAdapter.js +469 -0
  42. package/dist/adapters/mysql/MySQLAdapter.js.map +1 -0
  43. package/dist/adapters/mysql/SchemaManager.d.ts +36 -0
  44. package/dist/adapters/mysql/SchemaManager.d.ts.map +1 -0
  45. package/dist/adapters/mysql/SchemaManager.js +260 -0
  46. package/dist/adapters/mysql/SchemaManager.js.map +1 -0
  47. package/dist/adapters/mysql/index.d.ts +6 -0
  48. package/dist/adapters/mysql/index.d.ts.map +1 -0
  49. package/dist/adapters/mysql/index.js +7 -0
  50. package/dist/adapters/mysql/index.js.map +1 -0
  51. package/dist/adapters/mysql/prompts/backupStrategy.d.ts +8 -0
  52. package/dist/adapters/mysql/prompts/backupStrategy.d.ts.map +1 -0
  53. package/dist/adapters/mysql/prompts/backupStrategy.js +74 -0
  54. package/dist/adapters/mysql/prompts/backupStrategy.js.map +1 -0
  55. package/dist/adapters/mysql/prompts/clusterSetup.d.ts +8 -0
  56. package/dist/adapters/mysql/prompts/clusterSetup.d.ts.map +1 -0
  57. package/dist/adapters/mysql/prompts/clusterSetup.js +112 -0
  58. package/dist/adapters/mysql/prompts/clusterSetup.js.map +1 -0
  59. package/dist/adapters/mysql/prompts/docstoreSetup.d.ts +8 -0
  60. package/dist/adapters/mysql/prompts/docstoreSetup.d.ts.map +1 -0
  61. package/dist/adapters/mysql/prompts/docstoreSetup.js +117 -0
  62. package/dist/adapters/mysql/prompts/docstoreSetup.js.map +1 -0
  63. package/dist/adapters/mysql/prompts/eventScheduler.d.ts +8 -0
  64. package/dist/adapters/mysql/prompts/eventScheduler.d.ts.map +1 -0
  65. package/dist/adapters/mysql/prompts/eventScheduler.js +97 -0
  66. package/dist/adapters/mysql/prompts/eventScheduler.js.map +1 -0
  67. package/dist/adapters/mysql/prompts/healthCheck.d.ts +8 -0
  68. package/dist/adapters/mysql/prompts/healthCheck.d.ts.map +1 -0
  69. package/dist/adapters/mysql/prompts/healthCheck.js +49 -0
  70. package/dist/adapters/mysql/prompts/healthCheck.js.map +1 -0
  71. package/dist/adapters/mysql/prompts/index.d.ts +31 -0
  72. package/dist/adapters/mysql/prompts/index.d.ts.map +1 -0
  73. package/dist/adapters/mysql/prompts/index.js +308 -0
  74. package/dist/adapters/mysql/prompts/index.js.map +1 -0
  75. package/dist/adapters/mysql/prompts/indexTuning.d.ts +8 -0
  76. package/dist/adapters/mysql/prompts/indexTuning.d.ts.map +1 -0
  77. package/dist/adapters/mysql/prompts/indexTuning.js +83 -0
  78. package/dist/adapters/mysql/prompts/indexTuning.js.map +1 -0
  79. package/dist/adapters/mysql/prompts/mysqlshSetup.d.ts +8 -0
  80. package/dist/adapters/mysql/prompts/mysqlshSetup.d.ts.map +1 -0
  81. package/dist/adapters/mysql/prompts/mysqlshSetup.js +113 -0
  82. package/dist/adapters/mysql/prompts/mysqlshSetup.js.map +1 -0
  83. package/dist/adapters/mysql/prompts/proxysqlSetup.d.ts +8 -0
  84. package/dist/adapters/mysql/prompts/proxysqlSetup.d.ts.map +1 -0
  85. package/dist/adapters/mysql/prompts/proxysqlSetup.js +109 -0
  86. package/dist/adapters/mysql/prompts/proxysqlSetup.js.map +1 -0
  87. package/dist/adapters/mysql/prompts/replicationSetup.d.ts +8 -0
  88. package/dist/adapters/mysql/prompts/replicationSetup.d.ts.map +1 -0
  89. package/dist/adapters/mysql/prompts/replicationSetup.js +140 -0
  90. package/dist/adapters/mysql/prompts/replicationSetup.js.map +1 -0
  91. package/dist/adapters/mysql/prompts/routerSetup.d.ts +8 -0
  92. package/dist/adapters/mysql/prompts/routerSetup.d.ts.map +1 -0
  93. package/dist/adapters/mysql/prompts/routerSetup.js +100 -0
  94. package/dist/adapters/mysql/prompts/routerSetup.js.map +1 -0
  95. package/dist/adapters/mysql/prompts/spatialSetup.d.ts +8 -0
  96. package/dist/adapters/mysql/prompts/spatialSetup.d.ts.map +1 -0
  97. package/dist/adapters/mysql/prompts/spatialSetup.js +103 -0
  98. package/dist/adapters/mysql/prompts/spatialSetup.js.map +1 -0
  99. package/dist/adapters/mysql/prompts/sysSchema.d.ts +8 -0
  100. package/dist/adapters/mysql/prompts/sysSchema.d.ts.map +1 -0
  101. package/dist/adapters/mysql/prompts/sysSchema.js +103 -0
  102. package/dist/adapters/mysql/prompts/sysSchema.js.map +1 -0
  103. package/dist/adapters/mysql/resources/capabilities.d.ts +9 -0
  104. package/dist/adapters/mysql/resources/capabilities.d.ts.map +1 -0
  105. package/dist/adapters/mysql/resources/capabilities.js +41 -0
  106. package/dist/adapters/mysql/resources/capabilities.js.map +1 -0
  107. package/dist/adapters/mysql/resources/cluster.d.ts +7 -0
  108. package/dist/adapters/mysql/resources/cluster.d.ts.map +1 -0
  109. package/dist/adapters/mysql/resources/cluster.js +61 -0
  110. package/dist/adapters/mysql/resources/cluster.js.map +1 -0
  111. package/dist/adapters/mysql/resources/docstore.d.ts +7 -0
  112. package/dist/adapters/mysql/resources/docstore.d.ts.map +1 -0
  113. package/dist/adapters/mysql/resources/docstore.js +61 -0
  114. package/dist/adapters/mysql/resources/docstore.js.map +1 -0
  115. package/dist/adapters/mysql/resources/events.d.ts +7 -0
  116. package/dist/adapters/mysql/resources/events.d.ts.map +1 -0
  117. package/dist/adapters/mysql/resources/events.js +41 -0
  118. package/dist/adapters/mysql/resources/events.js.map +1 -0
  119. package/dist/adapters/mysql/resources/health.d.ts +10 -0
  120. package/dist/adapters/mysql/resources/health.d.ts.map +1 -0
  121. package/dist/adapters/mysql/resources/health.js +76 -0
  122. package/dist/adapters/mysql/resources/health.js.map +1 -0
  123. package/dist/adapters/mysql/resources/index.d.ts +29 -0
  124. package/dist/adapters/mysql/resources/index.d.ts.map +1 -0
  125. package/dist/adapters/mysql/resources/index.js +66 -0
  126. package/dist/adapters/mysql/resources/index.js.map +1 -0
  127. package/dist/adapters/mysql/resources/indexes.d.ts +9 -0
  128. package/dist/adapters/mysql/resources/indexes.d.ts.map +1 -0
  129. package/dist/adapters/mysql/resources/indexes.js +88 -0
  130. package/dist/adapters/mysql/resources/indexes.js.map +1 -0
  131. package/dist/adapters/mysql/resources/innodb.d.ts +9 -0
  132. package/dist/adapters/mysql/resources/innodb.d.ts.map +1 -0
  133. package/dist/adapters/mysql/resources/innodb.js +95 -0
  134. package/dist/adapters/mysql/resources/innodb.js.map +1 -0
  135. package/dist/adapters/mysql/resources/locks.d.ts +7 -0
  136. package/dist/adapters/mysql/resources/locks.d.ts.map +1 -0
  137. package/dist/adapters/mysql/resources/locks.js +57 -0
  138. package/dist/adapters/mysql/resources/locks.js.map +1 -0
  139. package/dist/adapters/mysql/resources/performance.d.ts +9 -0
  140. package/dist/adapters/mysql/resources/performance.d.ts.map +1 -0
  141. package/dist/adapters/mysql/resources/performance.js +89 -0
  142. package/dist/adapters/mysql/resources/performance.js.map +1 -0
  143. package/dist/adapters/mysql/resources/pool.d.ts +7 -0
  144. package/dist/adapters/mysql/resources/pool.d.ts.map +1 -0
  145. package/dist/adapters/mysql/resources/pool.js +21 -0
  146. package/dist/adapters/mysql/resources/pool.js.map +1 -0
  147. package/dist/adapters/mysql/resources/processlist.d.ts +7 -0
  148. package/dist/adapters/mysql/resources/processlist.d.ts.map +1 -0
  149. package/dist/adapters/mysql/resources/processlist.js +18 -0
  150. package/dist/adapters/mysql/resources/processlist.js.map +1 -0
  151. package/dist/adapters/mysql/resources/replication.d.ts +9 -0
  152. package/dist/adapters/mysql/resources/replication.d.ts.map +1 -0
  153. package/dist/adapters/mysql/resources/replication.js +116 -0
  154. package/dist/adapters/mysql/resources/replication.js.map +1 -0
  155. package/dist/adapters/mysql/resources/schema.d.ts +7 -0
  156. package/dist/adapters/mysql/resources/schema.d.ts.map +1 -0
  157. package/dist/adapters/mysql/resources/schema.js +18 -0
  158. package/dist/adapters/mysql/resources/schema.js.map +1 -0
  159. package/dist/adapters/mysql/resources/spatial.d.ts +7 -0
  160. package/dist/adapters/mysql/resources/spatial.d.ts.map +1 -0
  161. package/dist/adapters/mysql/resources/spatial.js +47 -0
  162. package/dist/adapters/mysql/resources/spatial.js.map +1 -0
  163. package/dist/adapters/mysql/resources/status.d.ts +7 -0
  164. package/dist/adapters/mysql/resources/status.d.ts.map +1 -0
  165. package/dist/adapters/mysql/resources/status.js +22 -0
  166. package/dist/adapters/mysql/resources/status.js.map +1 -0
  167. package/dist/adapters/mysql/resources/sysschema.d.ts +7 -0
  168. package/dist/adapters/mysql/resources/sysschema.d.ts.map +1 -0
  169. package/dist/adapters/mysql/resources/sysschema.js +50 -0
  170. package/dist/adapters/mysql/resources/sysschema.js.map +1 -0
  171. package/dist/adapters/mysql/resources/tables.d.ts +7 -0
  172. package/dist/adapters/mysql/resources/tables.d.ts.map +1 -0
  173. package/dist/adapters/mysql/resources/tables.js +18 -0
  174. package/dist/adapters/mysql/resources/tables.js.map +1 -0
  175. package/dist/adapters/mysql/resources/variables.d.ts +7 -0
  176. package/dist/adapters/mysql/resources/variables.d.ts.map +1 -0
  177. package/dist/adapters/mysql/resources/variables.js +22 -0
  178. package/dist/adapters/mysql/resources/variables.js.map +1 -0
  179. package/dist/adapters/mysql/tools/admin/backup.d.ts +13 -0
  180. package/dist/adapters/mysql/tools/admin/backup.d.ts.map +1 -0
  181. package/dist/adapters/mysql/tools/admin/backup.js +208 -0
  182. package/dist/adapters/mysql/tools/admin/backup.js.map +1 -0
  183. package/dist/adapters/mysql/tools/admin/index.d.ts +21 -0
  184. package/dist/adapters/mysql/tools/admin/index.d.ts.map +1 -0
  185. package/dist/adapters/mysql/tools/admin/index.js +49 -0
  186. package/dist/adapters/mysql/tools/admin/index.js.map +1 -0
  187. package/dist/adapters/mysql/tools/admin/maintenance.d.ts +15 -0
  188. package/dist/adapters/mysql/tools/admin/maintenance.d.ts.map +1 -0
  189. package/dist/adapters/mysql/tools/admin/maintenance.js +143 -0
  190. package/dist/adapters/mysql/tools/admin/maintenance.js.map +1 -0
  191. package/dist/adapters/mysql/tools/admin/monitoring.d.ts +16 -0
  192. package/dist/adapters/mysql/tools/admin/monitoring.d.ts.map +1 -0
  193. package/dist/adapters/mysql/tools/admin/monitoring.js +199 -0
  194. package/dist/adapters/mysql/tools/admin/monitoring.js.map +1 -0
  195. package/dist/adapters/mysql/tools/cluster/group-replication.d.ts +29 -0
  196. package/dist/adapters/mysql/tools/cluster/group-replication.d.ts.map +1 -0
  197. package/dist/adapters/mysql/tools/cluster/group-replication.js +290 -0
  198. package/dist/adapters/mysql/tools/cluster/group-replication.js.map +1 -0
  199. package/dist/adapters/mysql/tools/cluster/index.d.ts +13 -0
  200. package/dist/adapters/mysql/tools/cluster/index.d.ts.map +1 -0
  201. package/dist/adapters/mysql/tools/cluster/index.js +27 -0
  202. package/dist/adapters/mysql/tools/cluster/index.js.map +1 -0
  203. package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts +29 -0
  204. package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts.map +1 -0
  205. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js +351 -0
  206. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js.map +1 -0
  207. package/dist/adapters/mysql/tools/core.d.ts +13 -0
  208. package/dist/adapters/mysql/tools/core.d.ts.map +1 -0
  209. package/dist/adapters/mysql/tools/core.js +308 -0
  210. package/dist/adapters/mysql/tools/core.js.map +1 -0
  211. package/dist/adapters/mysql/tools/docstore.d.ts +10 -0
  212. package/dist/adapters/mysql/tools/docstore.d.ts.map +1 -0
  213. package/dist/adapters/mysql/tools/docstore.js +320 -0
  214. package/dist/adapters/mysql/tools/docstore.js.map +1 -0
  215. package/dist/adapters/mysql/tools/events.d.ts +13 -0
  216. package/dist/adapters/mysql/tools/events.d.ts.map +1 -0
  217. package/dist/adapters/mysql/tools/events.js +367 -0
  218. package/dist/adapters/mysql/tools/events.js.map +1 -0
  219. package/dist/adapters/mysql/tools/index.d.ts +25 -0
  220. package/dist/adapters/mysql/tools/index.d.ts.map +1 -0
  221. package/dist/adapters/mysql/tools/index.js +43 -0
  222. package/dist/adapters/mysql/tools/index.js.map +1 -0
  223. package/dist/adapters/mysql/tools/json/core.d.ts +17 -0
  224. package/dist/adapters/mysql/tools/json/core.d.ts.map +1 -0
  225. package/dist/adapters/mysql/tools/json/core.js +264 -0
  226. package/dist/adapters/mysql/tools/json/core.js.map +1 -0
  227. package/dist/adapters/mysql/tools/json/enhanced.d.ts +14 -0
  228. package/dist/adapters/mysql/tools/json/enhanced.d.ts.map +1 -0
  229. package/dist/adapters/mysql/tools/json/enhanced.js +305 -0
  230. package/dist/adapters/mysql/tools/json/enhanced.js.map +1 -0
  231. package/dist/adapters/mysql/tools/json/helpers.d.ts +16 -0
  232. package/dist/adapters/mysql/tools/json/helpers.d.ts.map +1 -0
  233. package/dist/adapters/mysql/tools/json/helpers.js +118 -0
  234. package/dist/adapters/mysql/tools/json/helpers.js.map +1 -0
  235. package/dist/adapters/mysql/tools/json/index.d.ts +21 -0
  236. package/dist/adapters/mysql/tools/json/index.d.ts.map +1 -0
  237. package/dist/adapters/mysql/tools/json/index.js +49 -0
  238. package/dist/adapters/mysql/tools/json/index.js.map +1 -0
  239. package/dist/adapters/mysql/tools/partitioning.d.ts +13 -0
  240. package/dist/adapters/mysql/tools/partitioning.d.ts.map +1 -0
  241. package/dist/adapters/mysql/tools/partitioning.js +160 -0
  242. package/dist/adapters/mysql/tools/partitioning.js.map +1 -0
  243. package/dist/adapters/mysql/tools/performance/analysis.d.ts +17 -0
  244. package/dist/adapters/mysql/tools/performance/analysis.d.ts.map +1 -0
  245. package/dist/adapters/mysql/tools/performance/analysis.js +278 -0
  246. package/dist/adapters/mysql/tools/performance/analysis.js.map +1 -0
  247. package/dist/adapters/mysql/tools/performance/index.d.ts +17 -0
  248. package/dist/adapters/mysql/tools/performance/index.d.ts.map +1 -0
  249. package/dist/adapters/mysql/tools/performance/index.js +36 -0
  250. package/dist/adapters/mysql/tools/performance/index.js.map +1 -0
  251. package/dist/adapters/mysql/tools/performance/optimization.d.ts +13 -0
  252. package/dist/adapters/mysql/tools/performance/optimization.d.ts.map +1 -0
  253. package/dist/adapters/mysql/tools/performance/optimization.js +187 -0
  254. package/dist/adapters/mysql/tools/performance/optimization.js.map +1 -0
  255. package/dist/adapters/mysql/tools/proxysql.d.ts +16 -0
  256. package/dist/adapters/mysql/tools/proxysql.d.ts.map +1 -0
  257. package/dist/adapters/mysql/tools/proxysql.js +427 -0
  258. package/dist/adapters/mysql/tools/proxysql.js.map +1 -0
  259. package/dist/adapters/mysql/tools/replication.d.ts +13 -0
  260. package/dist/adapters/mysql/tools/replication.d.ts.map +1 -0
  261. package/dist/adapters/mysql/tools/replication.js +191 -0
  262. package/dist/adapters/mysql/tools/replication.js.map +1 -0
  263. package/dist/adapters/mysql/tools/roles.d.ts +7 -0
  264. package/dist/adapters/mysql/tools/roles.d.ts.map +1 -0
  265. package/dist/adapters/mysql/tools/roles.js +190 -0
  266. package/dist/adapters/mysql/tools/roles.js.map +1 -0
  267. package/dist/adapters/mysql/tools/router.d.ts +16 -0
  268. package/dist/adapters/mysql/tools/router.d.ts.map +1 -0
  269. package/dist/adapters/mysql/tools/router.js +369 -0
  270. package/dist/adapters/mysql/tools/router.js.map +1 -0
  271. package/dist/adapters/mysql/tools/schema/constraints.d.ts +7 -0
  272. package/dist/adapters/mysql/tools/schema/constraints.d.ts.map +1 -0
  273. package/dist/adapters/mysql/tools/schema/constraints.js +67 -0
  274. package/dist/adapters/mysql/tools/schema/constraints.js.map +1 -0
  275. package/dist/adapters/mysql/tools/schema/index.d.ts +12 -0
  276. package/dist/adapters/mysql/tools/schema/index.d.ts.map +1 -0
  277. package/dist/adapters/mysql/tools/schema/index.js +29 -0
  278. package/dist/adapters/mysql/tools/schema/index.js.map +1 -0
  279. package/dist/adapters/mysql/tools/schema/management.d.ts +15 -0
  280. package/dist/adapters/mysql/tools/schema/management.d.ts.map +1 -0
  281. package/dist/adapters/mysql/tools/schema/management.js +113 -0
  282. package/dist/adapters/mysql/tools/schema/management.js.map +1 -0
  283. package/dist/adapters/mysql/tools/schema/routines.d.ts +11 -0
  284. package/dist/adapters/mysql/tools/schema/routines.d.ts.map +1 -0
  285. package/dist/adapters/mysql/tools/schema/routines.js +98 -0
  286. package/dist/adapters/mysql/tools/schema/routines.js.map +1 -0
  287. package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts +7 -0
  288. package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts.map +1 -0
  289. package/dist/adapters/mysql/tools/schema/scheduled_events.js +58 -0
  290. package/dist/adapters/mysql/tools/schema/scheduled_events.js.map +1 -0
  291. package/dist/adapters/mysql/tools/schema/triggers.d.ts +7 -0
  292. package/dist/adapters/mysql/tools/schema/triggers.d.ts.map +1 -0
  293. package/dist/adapters/mysql/tools/schema/triggers.js +49 -0
  294. package/dist/adapters/mysql/tools/schema/triggers.js.map +1 -0
  295. package/dist/adapters/mysql/tools/schema/views.d.ts +11 -0
  296. package/dist/adapters/mysql/tools/schema/views.d.ts.map +1 -0
  297. package/dist/adapters/mysql/tools/schema/views.js +78 -0
  298. package/dist/adapters/mysql/tools/schema/views.js.map +1 -0
  299. package/dist/adapters/mysql/tools/security/audit.d.ts +20 -0
  300. package/dist/adapters/mysql/tools/security/audit.d.ts.map +1 -0
  301. package/dist/adapters/mysql/tools/security/audit.js +233 -0
  302. package/dist/adapters/mysql/tools/security/audit.js.map +1 -0
  303. package/dist/adapters/mysql/tools/security/data-protection.d.ts +20 -0
  304. package/dist/adapters/mysql/tools/security/data-protection.d.ts.map +1 -0
  305. package/dist/adapters/mysql/tools/security/data-protection.js +243 -0
  306. package/dist/adapters/mysql/tools/security/data-protection.js.map +1 -0
  307. package/dist/adapters/mysql/tools/security/encryption.d.ts +20 -0
  308. package/dist/adapters/mysql/tools/security/encryption.d.ts.map +1 -0
  309. package/dist/adapters/mysql/tools/security/encryption.js +191 -0
  310. package/dist/adapters/mysql/tools/security/encryption.js.map +1 -0
  311. package/dist/adapters/mysql/tools/security/index.d.ts +13 -0
  312. package/dist/adapters/mysql/tools/security/index.d.ts.map +1 -0
  313. package/dist/adapters/mysql/tools/security/index.js +27 -0
  314. package/dist/adapters/mysql/tools/security/index.js.map +1 -0
  315. package/dist/adapters/mysql/tools/shell/backup.d.ts +19 -0
  316. package/dist/adapters/mysql/tools/shell/backup.d.ts.map +1 -0
  317. package/dist/adapters/mysql/tools/shell/backup.js +187 -0
  318. package/dist/adapters/mysql/tools/shell/backup.js.map +1 -0
  319. package/dist/adapters/mysql/tools/shell/common.d.ts +41 -0
  320. package/dist/adapters/mysql/tools/shell/common.d.ts.map +1 -0
  321. package/dist/adapters/mysql/tools/shell/common.js +167 -0
  322. package/dist/adapters/mysql/tools/shell/common.js.map +1 -0
  323. package/dist/adapters/mysql/tools/shell/data-transfer.d.ts +19 -0
  324. package/dist/adapters/mysql/tools/shell/data-transfer.d.ts.map +1 -0
  325. package/dist/adapters/mysql/tools/shell/data-transfer.js +226 -0
  326. package/dist/adapters/mysql/tools/shell/data-transfer.js.map +1 -0
  327. package/dist/adapters/mysql/tools/shell/index.d.ts +17 -0
  328. package/dist/adapters/mysql/tools/shell/index.d.ts.map +1 -0
  329. package/dist/adapters/mysql/tools/shell/index.js +34 -0
  330. package/dist/adapters/mysql/tools/shell/index.js.map +1 -0
  331. package/dist/adapters/mysql/tools/shell/info.d.ts +11 -0
  332. package/dist/adapters/mysql/tools/shell/info.d.ts.map +1 -0
  333. package/dist/adapters/mysql/tools/shell/info.js +40 -0
  334. package/dist/adapters/mysql/tools/shell/info.js.map +1 -0
  335. package/dist/adapters/mysql/tools/shell/restore.d.ts +15 -0
  336. package/dist/adapters/mysql/tools/shell/restore.d.ts.map +1 -0
  337. package/dist/adapters/mysql/tools/shell/restore.js +135 -0
  338. package/dist/adapters/mysql/tools/shell/restore.js.map +1 -0
  339. package/dist/adapters/mysql/tools/shell/utilities.d.ts +11 -0
  340. package/dist/adapters/mysql/tools/shell/utilities.d.ts.map +1 -0
  341. package/dist/adapters/mysql/tools/shell/utilities.js +49 -0
  342. package/dist/adapters/mysql/tools/shell/utilities.js.map +1 -0
  343. package/dist/adapters/mysql/tools/spatial/geometry.d.ts +17 -0
  344. package/dist/adapters/mysql/tools/spatial/geometry.d.ts.map +1 -0
  345. package/dist/adapters/mysql/tools/spatial/geometry.js +87 -0
  346. package/dist/adapters/mysql/tools/spatial/geometry.js.map +1 -0
  347. package/dist/adapters/mysql/tools/spatial/index.d.ts +13 -0
  348. package/dist/adapters/mysql/tools/spatial/index.d.ts.map +1 -0
  349. package/dist/adapters/mysql/tools/spatial/index.js +31 -0
  350. package/dist/adapters/mysql/tools/spatial/index.js.map +1 -0
  351. package/dist/adapters/mysql/tools/spatial/operations.d.ts +25 -0
  352. package/dist/adapters/mysql/tools/spatial/operations.d.ts.map +1 -0
  353. package/dist/adapters/mysql/tools/spatial/operations.js +179 -0
  354. package/dist/adapters/mysql/tools/spatial/operations.js.map +1 -0
  355. package/dist/adapters/mysql/tools/spatial/queries.d.ts +25 -0
  356. package/dist/adapters/mysql/tools/spatial/queries.d.ts.map +1 -0
  357. package/dist/adapters/mysql/tools/spatial/queries.js +205 -0
  358. package/dist/adapters/mysql/tools/spatial/queries.js.map +1 -0
  359. package/dist/adapters/mysql/tools/spatial/setup.d.ts +17 -0
  360. package/dist/adapters/mysql/tools/spatial/setup.d.ts.map +1 -0
  361. package/dist/adapters/mysql/tools/spatial/setup.js +85 -0
  362. package/dist/adapters/mysql/tools/spatial/setup.js.map +1 -0
  363. package/dist/adapters/mysql/tools/stats/comparative.d.ts +21 -0
  364. package/dist/adapters/mysql/tools/stats/comparative.d.ts.map +1 -0
  365. package/dist/adapters/mysql/tools/stats/comparative.js +247 -0
  366. package/dist/adapters/mysql/tools/stats/comparative.js.map +1 -0
  367. package/dist/adapters/mysql/tools/stats/descriptive.d.ts +30 -0
  368. package/dist/adapters/mysql/tools/stats/descriptive.d.ts.map +1 -0
  369. package/dist/adapters/mysql/tools/stats/descriptive.js +403 -0
  370. package/dist/adapters/mysql/tools/stats/descriptive.js.map +1 -0
  371. package/dist/adapters/mysql/tools/stats/index.d.ts +13 -0
  372. package/dist/adapters/mysql/tools/stats/index.d.ts.map +1 -0
  373. package/dist/adapters/mysql/tools/stats/index.js +25 -0
  374. package/dist/adapters/mysql/tools/stats/index.js.map +1 -0
  375. package/dist/adapters/mysql/tools/sysschema/activity.d.ts +17 -0
  376. package/dist/adapters/mysql/tools/sysschema/activity.d.ts.map +1 -0
  377. package/dist/adapters/mysql/tools/sysschema/activity.js +107 -0
  378. package/dist/adapters/mysql/tools/sysschema/activity.js.map +1 -0
  379. package/dist/adapters/mysql/tools/sysschema/index.d.ts +13 -0
  380. package/dist/adapters/mysql/tools/sysschema/index.d.ts.map +1 -0
  381. package/dist/adapters/mysql/tools/sysschema/index.js +26 -0
  382. package/dist/adapters/mysql/tools/sysschema/index.js.map +1 -0
  383. package/dist/adapters/mysql/tools/sysschema/performance.d.ts +21 -0
  384. package/dist/adapters/mysql/tools/sysschema/performance.d.ts.map +1 -0
  385. package/dist/adapters/mysql/tools/sysschema/performance.js +220 -0
  386. package/dist/adapters/mysql/tools/sysschema/performance.js.map +1 -0
  387. package/dist/adapters/mysql/tools/sysschema/resources.d.ts +21 -0
  388. package/dist/adapters/mysql/tools/sysschema/resources.d.ts.map +1 -0
  389. package/dist/adapters/mysql/tools/sysschema/resources.js +214 -0
  390. package/dist/adapters/mysql/tools/sysschema/resources.js.map +1 -0
  391. package/dist/adapters/mysql/tools/text/fulltext.d.ts +13 -0
  392. package/dist/adapters/mysql/tools/text/fulltext.d.ts.map +1 -0
  393. package/dist/adapters/mysql/tools/text/fulltext.js +116 -0
  394. package/dist/adapters/mysql/tools/text/fulltext.js.map +1 -0
  395. package/dist/adapters/mysql/tools/text/index.d.ts +17 -0
  396. package/dist/adapters/mysql/tools/text/index.d.ts.map +1 -0
  397. package/dist/adapters/mysql/tools/text/index.js +34 -0
  398. package/dist/adapters/mysql/tools/text/index.js.map +1 -0
  399. package/dist/adapters/mysql/tools/text/processing.d.ts +15 -0
  400. package/dist/adapters/mysql/tools/text/processing.d.ts.map +1 -0
  401. package/dist/adapters/mysql/tools/text/processing.js +203 -0
  402. package/dist/adapters/mysql/tools/text/processing.js.map +1 -0
  403. package/dist/adapters/mysql/tools/transactions.d.ts +13 -0
  404. package/dist/adapters/mysql/tools/transactions.d.ts.map +1 -0
  405. package/dist/adapters/mysql/tools/transactions.js +224 -0
  406. package/dist/adapters/mysql/tools/transactions.js.map +1 -0
  407. package/dist/adapters/mysql/types/proxysql-types.d.ts +156 -0
  408. package/dist/adapters/mysql/types/proxysql-types.d.ts.map +1 -0
  409. package/dist/adapters/mysql/types/proxysql-types.js +150 -0
  410. package/dist/adapters/mysql/types/proxysql-types.js.map +1 -0
  411. package/dist/adapters/mysql/types/router-types.d.ts +97 -0
  412. package/dist/adapters/mysql/types/router-types.d.ts.map +1 -0
  413. package/dist/adapters/mysql/types/router-types.js +89 -0
  414. package/dist/adapters/mysql/types/router-types.js.map +1 -0
  415. package/dist/adapters/mysql/types/shell-types.d.ts +109 -0
  416. package/dist/adapters/mysql/types/shell-types.d.ts.map +1 -0
  417. package/dist/adapters/mysql/types/shell-types.js +119 -0
  418. package/dist/adapters/mysql/types/shell-types.js.map +1 -0
  419. package/dist/adapters/mysql/types.d.ts +257 -0
  420. package/dist/adapters/mysql/types.d.ts.map +1 -0
  421. package/dist/adapters/mysql/types.js +245 -0
  422. package/dist/adapters/mysql/types.js.map +1 -0
  423. package/dist/auth/AuthorizationServerDiscovery.d.ts +44 -0
  424. package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
  425. package/dist/auth/AuthorizationServerDiscovery.js +110 -0
  426. package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
  427. package/dist/auth/OAuthResourceServer.d.ts +42 -0
  428. package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
  429. package/dist/auth/OAuthResourceServer.js +75 -0
  430. package/dist/auth/OAuthResourceServer.js.map +1 -0
  431. package/dist/auth/TokenValidator.d.ts +36 -0
  432. package/dist/auth/TokenValidator.d.ts.map +1 -0
  433. package/dist/auth/TokenValidator.js +125 -0
  434. package/dist/auth/TokenValidator.js.map +1 -0
  435. package/dist/auth/errors.d.ts +63 -0
  436. package/dist/auth/errors.d.ts.map +1 -0
  437. package/dist/auth/errors.js +102 -0
  438. package/dist/auth/errors.js.map +1 -0
  439. package/dist/auth/index.d.ts +13 -0
  440. package/dist/auth/index.d.ts.map +1 -0
  441. package/dist/auth/index.js +15 -0
  442. package/dist/auth/index.js.map +1 -0
  443. package/dist/auth/middleware.d.ts +61 -0
  444. package/dist/auth/middleware.d.ts.map +1 -0
  445. package/dist/auth/middleware.js +152 -0
  446. package/dist/auth/middleware.js.map +1 -0
  447. package/dist/auth/scopes.d.ts +61 -0
  448. package/dist/auth/scopes.d.ts.map +1 -0
  449. package/dist/auth/scopes.js +167 -0
  450. package/dist/auth/scopes.js.map +1 -0
  451. package/dist/auth/types.d.ts +208 -0
  452. package/dist/auth/types.d.ts.map +1 -0
  453. package/dist/auth/types.js +8 -0
  454. package/dist/auth/types.js.map +1 -0
  455. package/dist/cli/args.d.ts +15 -0
  456. package/dist/cli/args.d.ts.map +1 -0
  457. package/dist/cli/args.js +303 -0
  458. package/dist/cli/args.js.map +1 -0
  459. package/dist/cli.d.ts +17 -0
  460. package/dist/cli.d.ts.map +1 -0
  461. package/dist/cli.js +141 -0
  462. package/dist/cli.js.map +1 -0
  463. package/dist/constants/ServerInstructions.d.ts +17 -0
  464. package/dist/constants/ServerInstructions.d.ts.map +1 -0
  465. package/dist/constants/ServerInstructions.js +143 -0
  466. package/dist/constants/ServerInstructions.js.map +1 -0
  467. package/dist/filtering/ToolConstants.d.ts +32 -0
  468. package/dist/filtering/ToolConstants.d.ts.map +1 -0
  469. package/dist/filtering/ToolConstants.js +290 -0
  470. package/dist/filtering/ToolConstants.js.map +1 -0
  471. package/dist/filtering/ToolFilter.d.ts +82 -0
  472. package/dist/filtering/ToolFilter.d.ts.map +1 -0
  473. package/dist/filtering/ToolFilter.js +319 -0
  474. package/dist/filtering/ToolFilter.js.map +1 -0
  475. package/dist/index.d.ts +15 -0
  476. package/dist/index.d.ts.map +1 -0
  477. package/dist/index.js +19 -0
  478. package/dist/index.js.map +1 -0
  479. package/dist/logging/McpLogging.d.ts +81 -0
  480. package/dist/logging/McpLogging.d.ts.map +1 -0
  481. package/dist/logging/McpLogging.js +129 -0
  482. package/dist/logging/McpLogging.js.map +1 -0
  483. package/dist/logging/index.d.ts +7 -0
  484. package/dist/logging/index.d.ts.map +1 -0
  485. package/dist/logging/index.js +7 -0
  486. package/dist/logging/index.js.map +1 -0
  487. package/dist/pool/ConnectionPool.d.ts +76 -0
  488. package/dist/pool/ConnectionPool.d.ts.map +1 -0
  489. package/dist/pool/ConnectionPool.js +238 -0
  490. package/dist/pool/ConnectionPool.js.map +1 -0
  491. package/dist/progress/ProgressReporter.d.ts +101 -0
  492. package/dist/progress/ProgressReporter.d.ts.map +1 -0
  493. package/dist/progress/ProgressReporter.js +153 -0
  494. package/dist/progress/ProgressReporter.js.map +1 -0
  495. package/dist/progress/index.d.ts +7 -0
  496. package/dist/progress/index.d.ts.map +1 -0
  497. package/dist/progress/index.js +7 -0
  498. package/dist/progress/index.js.map +1 -0
  499. package/dist/server/McpServer.d.ts +86 -0
  500. package/dist/server/McpServer.d.ts.map +1 -0
  501. package/dist/server/McpServer.js +289 -0
  502. package/dist/server/McpServer.js.map +1 -0
  503. package/dist/transports/http.d.ts +74 -0
  504. package/dist/transports/http.d.ts.map +1 -0
  505. package/dist/transports/http.js +199 -0
  506. package/dist/transports/http.js.map +1 -0
  507. package/dist/transports/index.d.ts +7 -0
  508. package/dist/transports/index.d.ts.map +1 -0
  509. package/dist/transports/index.js +7 -0
  510. package/dist/transports/index.js.map +1 -0
  511. package/dist/types/index.d.ts +15 -0
  512. package/dist/types/index.d.ts.map +1 -0
  513. package/dist/types/index.js +11 -0
  514. package/dist/types/index.js.map +1 -0
  515. package/dist/types/modules/database.d.ts +101 -0
  516. package/dist/types/modules/database.d.ts.map +1 -0
  517. package/dist/types/modules/database.js +8 -0
  518. package/dist/types/modules/database.js.map +1 -0
  519. package/dist/types/modules/errors.d.ts +56 -0
  520. package/dist/types/modules/errors.d.ts.map +1 -0
  521. package/dist/types/modules/errors.js +82 -0
  522. package/dist/types/modules/errors.js.map +1 -0
  523. package/dist/types/modules/oauth.d.ts +66 -0
  524. package/dist/types/modules/oauth.d.ts.map +1 -0
  525. package/dist/types/modules/oauth.js +8 -0
  526. package/dist/types/modules/oauth.js.map +1 -0
  527. package/dist/types/modules/query.d.ts +126 -0
  528. package/dist/types/modules/query.d.ts.map +1 -0
  529. package/dist/types/modules/query.js +8 -0
  530. package/dist/types/modules/query.js.map +1 -0
  531. package/dist/types/modules/server.d.ts +31 -0
  532. package/dist/types/modules/server.d.ts.map +1 -0
  533. package/dist/types/modules/server.js +7 -0
  534. package/dist/types/modules/server.js.map +1 -0
  535. package/dist/types/modules/tools.d.ts +202 -0
  536. package/dist/types/modules/tools.d.ts.map +1 -0
  537. package/dist/types/modules/tools.js +8 -0
  538. package/dist/types/modules/tools.js.map +1 -0
  539. package/dist/utils/logger.d.ts +116 -0
  540. package/dist/utils/logger.d.ts.map +1 -0
  541. package/dist/utils/logger.js +315 -0
  542. package/dist/utils/logger.js.map +1 -0
  543. package/dist/utils/promptGenerator.d.ts +15 -0
  544. package/dist/utils/promptGenerator.d.ts.map +1 -0
  545. package/dist/utils/promptGenerator.js +51 -0
  546. package/dist/utils/promptGenerator.js.map +1 -0
  547. package/dist/utils/validators.d.ts +59 -0
  548. package/dist/utils/validators.d.ts.map +1 -0
  549. package/dist/utils/validators.js +145 -0
  550. package/dist/utils/validators.js.map +1 -0
  551. package/eslint.config.js +86 -0
  552. package/package.json +66 -0
  553. package/releases/release-notes.md +134 -0
  554. package/releases/v2.0.0-release-notes.md +522 -0
  555. package/releases/v2.1.0-release-notes.md +145 -0
  556. package/server.json +33 -0
  557. package/src/__tests__/cli.test.ts +304 -0
  558. package/src/__tests__/index.test.ts +25 -0
  559. package/src/__tests__/mocks/adapter.ts +265 -0
  560. package/src/__tests__/mocks/index.ts +36 -0
  561. package/src/__tests__/mocks/mysql.ts +135 -0
  562. package/src/__tests__/perf.test.ts +224 -0
  563. package/src/__tests__/performance.test.ts +181 -0
  564. package/src/__tests__/setup.ts +55 -0
  565. package/src/adapters/DatabaseAdapter.ts +376 -0
  566. package/src/adapters/__tests__/DatabaseAdapter.test.ts +441 -0
  567. package/src/adapters/mysql/MySQLAdapter.ts +544 -0
  568. package/src/adapters/mysql/SchemaManager.ts +298 -0
  569. package/src/adapters/mysql/__tests__/MySQLAdapter.integration.test.ts +155 -0
  570. package/src/adapters/mysql/__tests__/MySQLAdapter.test.ts +510 -0
  571. package/src/adapters/mysql/__tests__/SchemaManager.test.ts +165 -0
  572. package/src/adapters/mysql/index.ts +8 -0
  573. package/src/adapters/mysql/prompts/__tests__/indexTuning.test.ts +32 -0
  574. package/src/adapters/mysql/prompts/__tests__/prompts.test.ts +301 -0
  575. package/src/adapters/mysql/prompts/backupStrategy.ts +81 -0
  576. package/src/adapters/mysql/prompts/clusterSetup.ts +118 -0
  577. package/src/adapters/mysql/prompts/docstoreSetup.ts +123 -0
  578. package/src/adapters/mysql/prompts/eventScheduler.ts +103 -0
  579. package/src/adapters/mysql/prompts/healthCheck.ts +56 -0
  580. package/src/adapters/mysql/prompts/index.ts +329 -0
  581. package/src/adapters/mysql/prompts/indexTuning.ts +90 -0
  582. package/src/adapters/mysql/prompts/mysqlshSetup.ts +119 -0
  583. package/src/adapters/mysql/prompts/proxysqlSetup.ts +115 -0
  584. package/src/adapters/mysql/prompts/replicationSetup.ts +147 -0
  585. package/src/adapters/mysql/prompts/routerSetup.ts +106 -0
  586. package/src/adapters/mysql/prompts/spatialSetup.ts +109 -0
  587. package/src/adapters/mysql/prompts/sysSchema.ts +109 -0
  588. package/src/adapters/mysql/resources/__tests__/capabilities.test.ts +52 -0
  589. package/src/adapters/mysql/resources/__tests__/cluster.test.ts +105 -0
  590. package/src/adapters/mysql/resources/__tests__/docstore.test.ts +97 -0
  591. package/src/adapters/mysql/resources/__tests__/events.test.ts +97 -0
  592. package/src/adapters/mysql/resources/__tests__/health.test.ts +92 -0
  593. package/src/adapters/mysql/resources/__tests__/indexes.test.ts +106 -0
  594. package/src/adapters/mysql/resources/__tests__/innodb.test.ts +74 -0
  595. package/src/adapters/mysql/resources/__tests__/locks.test.ts +110 -0
  596. package/src/adapters/mysql/resources/__tests__/performance.test.ts +60 -0
  597. package/src/adapters/mysql/resources/__tests__/pool.test.ts +50 -0
  598. package/src/adapters/mysql/resources/__tests__/processlist.test.ts +29 -0
  599. package/src/adapters/mysql/resources/__tests__/replication.test.ts +213 -0
  600. package/src/adapters/mysql/resources/__tests__/resources.test.ts +117 -0
  601. package/src/adapters/mysql/resources/__tests__/schema.test.ts +30 -0
  602. package/src/adapters/mysql/resources/__tests__/spatial.test.ts +47 -0
  603. package/src/adapters/mysql/resources/__tests__/status.test.ts +58 -0
  604. package/src/adapters/mysql/resources/__tests__/sysschema.test.ts +62 -0
  605. package/src/adapters/mysql/resources/__tests__/tables.test.ts +37 -0
  606. package/src/adapters/mysql/resources/__tests__/variables.test.ts +70 -0
  607. package/src/adapters/mysql/resources/capabilities.ts +51 -0
  608. package/src/adapters/mysql/resources/cluster.ts +71 -0
  609. package/src/adapters/mysql/resources/docstore.ts +69 -0
  610. package/src/adapters/mysql/resources/events.ts +50 -0
  611. package/src/adapters/mysql/resources/health.ts +96 -0
  612. package/src/adapters/mysql/resources/index.ts +77 -0
  613. package/src/adapters/mysql/resources/indexes.ts +98 -0
  614. package/src/adapters/mysql/resources/innodb.ts +110 -0
  615. package/src/adapters/mysql/resources/locks.ts +64 -0
  616. package/src/adapters/mysql/resources/performance.ts +100 -0
  617. package/src/adapters/mysql/resources/pool.ts +26 -0
  618. package/src/adapters/mysql/resources/processlist.ts +23 -0
  619. package/src/adapters/mysql/resources/replication.ts +120 -0
  620. package/src/adapters/mysql/resources/schema.ts +23 -0
  621. package/src/adapters/mysql/resources/spatial.ts +54 -0
  622. package/src/adapters/mysql/resources/status.ts +27 -0
  623. package/src/adapters/mysql/resources/sysschema.ts +57 -0
  624. package/src/adapters/mysql/resources/tables.ts +23 -0
  625. package/src/adapters/mysql/resources/variables.ts +27 -0
  626. package/src/adapters/mysql/tools/__tests__/cluster.test.ts +349 -0
  627. package/src/adapters/mysql/tools/__tests__/core.test.ts +439 -0
  628. package/src/adapters/mysql/tools/__tests__/docstore.test.ts +459 -0
  629. package/src/adapters/mysql/tools/__tests__/events.test.ts +515 -0
  630. package/src/adapters/mysql/tools/__tests__/json_core.test.ts +285 -0
  631. package/src/adapters/mysql/tools/__tests__/json_enhanced.test.ts +380 -0
  632. package/src/adapters/mysql/tools/__tests__/json_helpers.test.ts +151 -0
  633. package/src/adapters/mysql/tools/__tests__/proxysql.test.ts +422 -0
  634. package/src/adapters/mysql/tools/__tests__/replication.test.ts +478 -0
  635. package/src/adapters/mysql/tools/__tests__/roles.test.ts +217 -0
  636. package/src/adapters/mysql/tools/__tests__/router.test.ts +603 -0
  637. package/src/adapters/mysql/tools/__tests__/security.test.ts +466 -0
  638. package/src/adapters/mysql/tools/__tests__/security_injection.test.ts +188 -0
  639. package/src/adapters/mysql/tools/__tests__/security_integration.test.ts +223 -0
  640. package/src/adapters/mysql/tools/__tests__/spatial.test.ts +333 -0
  641. package/src/adapters/mysql/tools/__tests__/spatial_handler.test.ts +153 -0
  642. package/src/adapters/mysql/tools/__tests__/stats.test.ts +577 -0
  643. package/src/adapters/mysql/tools/__tests__/transactions.test.ts +311 -0
  644. package/src/adapters/mysql/tools/admin/__tests__/backup.test.ts +400 -0
  645. package/src/adapters/mysql/tools/admin/__tests__/maintenance.test.ts +343 -0
  646. package/src/adapters/mysql/tools/admin/__tests__/monitoring.test.ts +402 -0
  647. package/src/adapters/mysql/tools/admin/backup.ts +238 -0
  648. package/src/adapters/mysql/tools/admin/index.ts +77 -0
  649. package/src/adapters/mysql/tools/admin/maintenance.ts +160 -0
  650. package/src/adapters/mysql/tools/admin/monitoring.ts +229 -0
  651. package/src/adapters/mysql/tools/cluster/__tests__/group-replication.test.ts +204 -0
  652. package/src/adapters/mysql/tools/cluster/__tests__/innodb-cluster.test.ts +130 -0
  653. package/src/adapters/mysql/tools/cluster/group-replication.ts +324 -0
  654. package/src/adapters/mysql/tools/cluster/index.ts +44 -0
  655. package/src/adapters/mysql/tools/cluster/innodb-cluster.ts +384 -0
  656. package/src/adapters/mysql/tools/core.ts +363 -0
  657. package/src/adapters/mysql/tools/docstore.ts +346 -0
  658. package/src/adapters/mysql/tools/events.ts +419 -0
  659. package/src/adapters/mysql/tools/index.ts +60 -0
  660. package/src/adapters/mysql/tools/json/__tests__/core.test.ts +207 -0
  661. package/src/adapters/mysql/tools/json/__tests__/enhanced.test.ts +316 -0
  662. package/src/adapters/mysql/tools/json/__tests__/helpers.test.ts +94 -0
  663. package/src/adapters/mysql/tools/json/__tests__/validation.test.ts +83 -0
  664. package/src/adapters/mysql/tools/json/core.ts +309 -0
  665. package/src/adapters/mysql/tools/json/enhanced.ts +346 -0
  666. package/src/adapters/mysql/tools/json/helpers.ts +137 -0
  667. package/src/adapters/mysql/tools/json/index.ts +77 -0
  668. package/src/adapters/mysql/tools/partitioning.ts +184 -0
  669. package/src/adapters/mysql/tools/performance/__tests__/analysis.test.ts +302 -0
  670. package/src/adapters/mysql/tools/performance/__tests__/optimization.test.ts +201 -0
  671. package/src/adapters/mysql/tools/performance/analysis.ts +322 -0
  672. package/src/adapters/mysql/tools/performance/index.ts +56 -0
  673. package/src/adapters/mysql/tools/performance/optimization.ts +218 -0
  674. package/src/adapters/mysql/tools/proxysql.ts +465 -0
  675. package/src/adapters/mysql/tools/replication.ts +215 -0
  676. package/src/adapters/mysql/tools/roles.ts +202 -0
  677. package/src/adapters/mysql/tools/router.ts +405 -0
  678. package/src/adapters/mysql/tools/schema/__tests__/constraints.test.ts +91 -0
  679. package/src/adapters/mysql/tools/schema/__tests__/management.test.ts +122 -0
  680. package/src/adapters/mysql/tools/schema/__tests__/routines.test.ts +45 -0
  681. package/src/adapters/mysql/tools/schema/__tests__/scheduled_events.test.ts +44 -0
  682. package/src/adapters/mysql/tools/schema/__tests__/triggers.test.ts +44 -0
  683. package/src/adapters/mysql/tools/schema/__tests__/views.test.ts +85 -0
  684. package/src/adapters/mysql/tools/schema/constraints.ts +77 -0
  685. package/src/adapters/mysql/tools/schema/index.ts +54 -0
  686. package/src/adapters/mysql/tools/schema/management.ts +131 -0
  687. package/src/adapters/mysql/tools/schema/routines.ts +106 -0
  688. package/src/adapters/mysql/tools/schema/scheduled_events.ts +66 -0
  689. package/src/adapters/mysql/tools/schema/triggers.ts +57 -0
  690. package/src/adapters/mysql/tools/schema/views.ts +90 -0
  691. package/src/adapters/mysql/tools/security/__tests__/audit.test.ts +181 -0
  692. package/src/adapters/mysql/tools/security/__tests__/data-protection.test.ts +111 -0
  693. package/src/adapters/mysql/tools/security/__tests__/encryption.test.ts +156 -0
  694. package/src/adapters/mysql/tools/security/audit.ts +272 -0
  695. package/src/adapters/mysql/tools/security/data-protection.ts +274 -0
  696. package/src/adapters/mysql/tools/security/encryption.ts +237 -0
  697. package/src/adapters/mysql/tools/security/index.ts +45 -0
  698. package/src/adapters/mysql/tools/shell/__tests__/backup.test.ts +298 -0
  699. package/src/adapters/mysql/tools/shell/__tests__/common.test.ts +180 -0
  700. package/src/adapters/mysql/tools/shell/__tests__/data-transfer.test.ts +368 -0
  701. package/src/adapters/mysql/tools/shell/__tests__/info.test.ts +77 -0
  702. package/src/adapters/mysql/tools/shell/__tests__/restore.test.ts +187 -0
  703. package/src/adapters/mysql/tools/shell/__tests__/utilities.test.ts +154 -0
  704. package/src/adapters/mysql/tools/shell/backup.ts +215 -0
  705. package/src/adapters/mysql/tools/shell/common.ts +227 -0
  706. package/src/adapters/mysql/tools/shell/data-transfer.ts +256 -0
  707. package/src/adapters/mysql/tools/shell/index.ts +49 -0
  708. package/src/adapters/mysql/tools/shell/info.ts +45 -0
  709. package/src/adapters/mysql/tools/shell/restore.ts +153 -0
  710. package/src/adapters/mysql/tools/shell/utilities.ts +56 -0
  711. package/src/adapters/mysql/tools/spatial/__tests__/geometry.test.ts +101 -0
  712. package/src/adapters/mysql/tools/spatial/__tests__/operations.test.ts +164 -0
  713. package/src/adapters/mysql/tools/spatial/__tests__/queries.test.ts +253 -0
  714. package/src/adapters/mysql/tools/spatial/geometry.ts +106 -0
  715. package/src/adapters/mysql/tools/spatial/index.ts +54 -0
  716. package/src/adapters/mysql/tools/spatial/operations.ts +217 -0
  717. package/src/adapters/mysql/tools/spatial/queries.ts +235 -0
  718. package/src/adapters/mysql/tools/spatial/setup.ts +104 -0
  719. package/src/adapters/mysql/tools/stats/__tests__/comparative.test.ts +139 -0
  720. package/src/adapters/mysql/tools/stats/comparative.ts +272 -0
  721. package/src/adapters/mysql/tools/stats/descriptive.ts +452 -0
  722. package/src/adapters/mysql/tools/stats/index.ts +40 -0
  723. package/src/adapters/mysql/tools/sysschema/__tests__/activity.test.ts +89 -0
  724. package/src/adapters/mysql/tools/sysschema/__tests__/io_summary_fix.test.ts +24 -0
  725. package/src/adapters/mysql/tools/sysschema/__tests__/performance.test.ts +142 -0
  726. package/src/adapters/mysql/tools/sysschema/__tests__/resources.test.ts +142 -0
  727. package/src/adapters/mysql/tools/sysschema/activity.ts +122 -0
  728. package/src/adapters/mysql/tools/sysschema/index.ts +43 -0
  729. package/src/adapters/mysql/tools/sysschema/performance.ts +237 -0
  730. package/src/adapters/mysql/tools/sysschema/resources.ts +232 -0
  731. package/src/adapters/mysql/tools/text/__tests__/fulltext.test.ts +153 -0
  732. package/src/adapters/mysql/tools/text/__tests__/processing.test.ts +201 -0
  733. package/src/adapters/mysql/tools/text/fulltext.ts +140 -0
  734. package/src/adapters/mysql/tools/text/index.ts +52 -0
  735. package/src/adapters/mysql/tools/text/processing.ts +242 -0
  736. package/src/adapters/mysql/tools/transactions.ts +252 -0
  737. package/src/adapters/mysql/types/__tests__/shell-types.test.ts +210 -0
  738. package/src/adapters/mysql/types/proxysql-types.ts +190 -0
  739. package/src/adapters/mysql/types/router-types.ts +129 -0
  740. package/src/adapters/mysql/types/shell-types.ts +140 -0
  741. package/src/adapters/mysql/types.ts +298 -0
  742. package/src/auth/AuthorizationServerDiscovery.ts +133 -0
  743. package/src/auth/OAuthResourceServer.ts +87 -0
  744. package/src/auth/TokenValidator.ts +143 -0
  745. package/src/auth/__tests__/AuthorizationServerDiscovery.test.ts +312 -0
  746. package/src/auth/__tests__/OAuthResourceServer.test.ts +183 -0
  747. package/src/auth/__tests__/TokenValidator.test.ts +351 -0
  748. package/src/auth/__tests__/errors.test.ts +183 -0
  749. package/src/auth/__tests__/middleware.test.ts +276 -0
  750. package/src/auth/__tests__/scopes.test.ts +164 -0
  751. package/src/auth/errors.ts +116 -0
  752. package/src/auth/index.ts +30 -0
  753. package/src/auth/middleware.ts +214 -0
  754. package/src/auth/scopes.ts +193 -0
  755. package/src/auth/types.ts +303 -0
  756. package/src/cli/__tests__/args.test.ts +223 -0
  757. package/src/cli/__tests__/main.test.ts +193 -0
  758. package/src/cli/args.ts +343 -0
  759. package/src/cli.ts +168 -0
  760. package/src/constants/ServerInstructions.ts +159 -0
  761. package/src/filtering/ToolConstants.ts +297 -0
  762. package/src/filtering/ToolFilter.ts +363 -0
  763. package/src/filtering/__tests__/ToolFilter.test.ts +427 -0
  764. package/src/index.ts +78 -0
  765. package/src/logging/McpLogging.ts +163 -0
  766. package/src/logging/__tests__/McpLogging.test.ts +261 -0
  767. package/src/logging/index.ts +7 -0
  768. package/src/pool/ConnectionPool.ts +284 -0
  769. package/src/pool/__tests__/ConnectionPool.test.ts +448 -0
  770. package/src/progress/ProgressReporter.ts +179 -0
  771. package/src/progress/__tests__/ProgressReporter.test.ts +263 -0
  772. package/src/progress/index.ts +7 -0
  773. package/src/server/McpServer.ts +341 -0
  774. package/src/server/__tests__/McpServer.test.ts +368 -0
  775. package/src/transports/__tests__/http.test.ts +596 -0
  776. package/src/transports/http.ts +248 -0
  777. package/src/transports/index.ts +7 -0
  778. package/src/types/__tests__/types.test.ts +201 -0
  779. package/src/types/index.ts +58 -0
  780. package/src/types/modules/database.ts +127 -0
  781. package/src/types/modules/errors.ts +89 -0
  782. package/src/types/modules/oauth.ts +91 -0
  783. package/src/types/modules/query.ts +140 -0
  784. package/src/types/modules/server.ts +39 -0
  785. package/src/types/modules/tools.ts +296 -0
  786. package/src/utils/__tests__/logger.test.ts +422 -0
  787. package/src/utils/__tests__/validators.test.ts +172 -0
  788. package/src/utils/logger.ts +426 -0
  789. package/src/utils/promptGenerator.ts +74 -0
  790. package/src/utils/validators.ts +181 -0
  791. package/tsconfig.json +51 -0
  792. 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":"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"}
@@ -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"}