@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,522 @@
1
+ # mysql-mcp v2.0.0 Release Notes
2
+
3
+ **Release Date:** December 16, 2025
4
+ **Status:** Production/Stable
5
+
6
+ ---
7
+
8
+ ## ๐ŸŽ‰ Major Release Highlights
9
+
10
+ **mysql-mcp v2.0.0** is a transformative update representing our most significant release since v1.0. This release adds **85 new tools** (80% increase), introduces **HTTP/SSE streaming transport**, delivers **Smart Shortcuts** for instant tool customization, implements **AI-optimized protocol features** for seamless assistant integration, provides an **interactive Jupyter Notebook tutorial**, implements comprehensive **security enhancements**, and achieves **97% test coverage** with over 1,500 tests.
11
+
12
+ ### At a Glance
13
+ - **191 Tools** (was 106) - 80% increase
14
+ - **18 Resources** (was 12) - 50% increase
15
+ - **19 Prompts** (was 14) - 36% increase
16
+ - **24 Tool Groups** (was 15) - 60% increase
17
+ - **Smart Shortcuts** - 7 intelligent tool presets (starter, ai, dba, dev, etc.)
18
+ - **HTTP Streaming** - Full SSE transport support
19
+ - **AI Protocol Features** - Tool annotations, progress notifications, logging
20
+ - **Interactive Tutorial** - Comprehensive Jupyter Notebook with Python SDK
21
+ - **97% Test Coverage** - 1,500+ tests passing
22
+ - **Security Hardened** - Input validation, HTTP headers, SQL injection prevention
23
+
24
+ ---
25
+
26
+ ## ๐Ÿš€ What's New
27
+
28
+ ### HTTP/SSE Streaming Transport
29
+
30
+ **NEW in v2.0** - Full support for HTTP-based deployments with Server-Sent Events (SSE):
31
+
32
+ ```bash
33
+ # Start HTTP server
34
+ node dist/cli.js --transport http --port 3000 --mysql mysql://user:pass@localhost/db
35
+
36
+ # Docker with HTTP
37
+ docker run -p 3000:3000 writenotenow/mysql-mcp:v2.0.0 \
38
+ --transport http \
39
+ --port 3000 \
40
+ --mysql mysql://user:pass@host.docker.internal:3306/db
41
+ ```
42
+
43
+ **Endpoints:**
44
+ - `GET /sse` - Establish MCP connection via Server-Sent Events
45
+ - `POST /messages` - Send JSON-RPC messages
46
+ - `GET /health` - Health check endpoint
47
+ - `GET /.well-known/oauth-protected-resource` - OAuth 2.0 metadata
48
+
49
+ **Features:**
50
+ - StreamableHTTPServerTransport from @modelcontextprotocol/sdk
51
+ - CORS support for cross-origin requests
52
+ - OAuth 2.0 integration for enterprise security
53
+ - HTTP security headers (CSP, X-Frame-Options, etc.)
54
+
55
+ ### 85 New Tools Across 9 Categories
56
+
57
+ #### 1. Schema Management (10 tools) - `schema` group
58
+ Advanced schema object management:
59
+ - `mysql_list_schemas`, `mysql_create_schema`, `mysql_drop_schema`
60
+ - `mysql_list_views`, `mysql_create_view`
61
+ - `mysql_list_stored_procedures`, `mysql_list_functions`
62
+ - `mysql_list_triggers`, `mysql_list_constraints`, `mysql_list_events`
63
+
64
+ #### 2. Event Scheduler (6 tools) - `events` group
65
+ Complete event management:
66
+ - `mysql_event_create`, `mysql_event_alter`, `mysql_event_drop`
67
+ - `mysql_event_list`, `mysql_event_status`, `mysql_scheduler_status`
68
+
69
+ #### 3. sys Schema Diagnostics (8 tools) - `sysschema` group
70
+ Performance insights from MySQL sys schema:
71
+ - `mysql_sys_user_summary`, `mysql_sys_io_summary`, `mysql_sys_statement_summary`
72
+ - `mysql_sys_wait_summary`, `mysql_sys_innodb_lock_waits`
73
+ - `mysql_sys_schema_stats`, `mysql_sys_host_summary`, `mysql_sys_memory_summary`
74
+
75
+ #### 4. Statistical Analysis (8 tools) - `stats` group
76
+ Data science capabilities:
77
+ - `mysql_stats_descriptive`, `mysql_stats_percentiles`, `mysql_stats_correlation`
78
+ - `mysql_stats_distribution`, `mysql_stats_time_series`, `mysql_stats_regression`
79
+ - `mysql_stats_sampling`, `mysql_stats_histogram`
80
+
81
+ #### 5. Spatial/GIS (12 tools) - `spatial` group
82
+ Location-based data operations:
83
+ - `mysql_spatial_create_column`, `mysql_spatial_create_index`
84
+ - `mysql_spatial_point`, `mysql_spatial_polygon`
85
+ - `mysql_spatial_distance`, `mysql_spatial_distance_sphere`
86
+ - `mysql_spatial_contains`, `mysql_spatial_within`, `mysql_spatial_intersection`
87
+ - `mysql_spatial_buffer`, `mysql_spatial_transform`, `mysql_spatial_geojson`
88
+
89
+ #### 6. Security (9 tools) - `security` group
90
+ Enterprise security features:
91
+ - `mysql_security_audit`, `mysql_security_firewall_status`, `mysql_security_firewall_rules`
92
+ - `mysql_security_mask_data`, `mysql_security_password_validate`
93
+ - `mysql_security_ssl_status`, `mysql_security_user_privileges`
94
+ - `mysql_security_sensitive_tables`, `mysql_security_encryption_status`
95
+
96
+ #### 7. Cluster Management (10 tools) - `cluster` group
97
+ InnoDB Cluster & Group Replication:
98
+ - `mysql_gr_status`, `mysql_gr_members`, `mysql_gr_primary`, `mysql_gr_transactions`
99
+ - `mysql_gr_flow_control`, `mysql_cluster_status`, `mysql_cluster_instances`
100
+ - `mysql_cluster_topology`, `mysql_cluster_router_status`, `mysql_cluster_switchover`
101
+
102
+ #### 8. Role Management (8 tools) - `roles` group
103
+ MySQL 8.0 RBAC:
104
+ - `mysql_role_list`, `mysql_role_create`, `mysql_role_drop`
105
+ - `mysql_role_grants`, `mysql_role_grant`, `mysql_role_assign`
106
+ - `mysql_role_revoke`, `mysql_user_roles`
107
+
108
+ #### 9. Document Store (9 tools) - `docstore` group
109
+ NoSQL/MongoDB-style API:
110
+ - `mysql_doc_list_collections`, `mysql_doc_create_collection`, `mysql_doc_drop_collection`
111
+ - `mysql_doc_find`, `mysql_doc_add`, `mysql_doc_modify`, `mysql_doc_remove`
112
+ - `mysql_doc_create_index`, `mysql_doc_collection_info`
113
+
114
+ **Plus:** 5 enhanced JSON tools (`mysql_json_merge`, `mysql_json_diff`, etc.)
115
+
116
+ ### 6 New Resources
117
+
118
+ - `mysql://events` - Event Scheduler status and scheduled events
119
+ - `mysql://sysschema` - sys schema diagnostics summary
120
+ - `mysql://locks` - InnoDB lock contention detection
121
+ - `mysql://cluster` - Group Replication/InnoDB Cluster status
122
+ - `mysql://spatial` - Spatial columns and indexes
123
+ - `mysql://docstore` - Document Store collections
124
+
125
+ ### 5 New Prompts
126
+
127
+ - `mysql_setup_events` - Event Scheduler setup guide
128
+ - `mysql_sys_schema_guide` - sys schema usage and diagnostics
129
+ - `mysql_setup_spatial` - Spatial/GIS data setup guide
130
+ - `mysql_setup_cluster` - InnoDB Cluster/Group Replication guide
131
+ - `mysql_setup_docstore` - Document Store / X DevAPI guide
132
+
133
+ ### 2 New Meta-Groups
134
+
135
+ - **`ai`** (77 tools) - AI/ML workloads: JSON, Document Store, spatial, statistics
136
+ - **`dba`** (103 tools) - DBA tasks: admin, monitoring, security, sysschema, roles
137
+
138
+ ### Smart Shortcuts - One-Command Tool Customization
139
+
140
+ **NEW in v2.0** - Instantly customize your tool selection with intelligent presets! With 191 tools, AI IDEs hit their limits fast (typically 40-50 tools). Our **Smart Shortcuts** system lets you pick exactly what you need with a single flag.
141
+
142
+ **Available Shortcuts:**
143
+
144
+ | Shortcut | Tools | Use Case | What's Included |
145
+ |----------|-------|----------|-----------------|
146
+ | `starter` | **38** | ๐ŸŒŸ **Recommended** | Core CRUD, JSON, transactions, text search |
147
+ | `essential` | 15 | Minimal footprint | Only core + transactions |
148
+ | `dev` | 67 | Full development | starter + fulltext, performance, schema, stats |
149
+ | `ai` | 77 | **NEW** - AI/ML workloads | JSON, Document Store, spatial, statistics |
150
+ | `dba` | 103 | **NEW** - Database admin | Admin, monitoring, security, replication, roles |
151
+ | `base` | 160 | All core MySQL | Everything except Router/ProxySQL/Shell |
152
+ | `ecosystem` | 31 | External tools | MySQL Router, ProxySQL, MySQL Shell |
153
+
154
+ **Quick Examples:**
155
+
156
+ ```bash
157
+ # Start with essentials (38 tools)
158
+ --tool-filter "-base,-ecosystem,+starter"
159
+
160
+ # AI/ML development (77 tools)
161
+ --tool-filter "-base,-ecosystem,+ai"
162
+
163
+ # Database administration (103 tools)
164
+ --tool-filter "-base,-ecosystem,+dba"
165
+
166
+ # Mix and match: Starter + GIS support (50 tools)
167
+ --tool-filter "-base,-ecosystem,+starter,+spatial"
168
+ ```
169
+
170
+ **Why Smart Shortcuts?**
171
+ - โœ… **Instant setup** - One command, perfect toolset
172
+ - โœ… **IDE-friendly** - Stay within tool limits
173
+ - โœ… **Role-based** - Presets for developers, DBAs, data scientists
174
+ - โœ… **Composable** - Combine shortcuts with individual groups
175
+
176
+ ### Interactive Python Tutorial - Jupyter Notebook
177
+
178
+ **NEW in v2.0** - Learn mysql-mcp interactively! Our comprehensive [Jupyter Notebook](https://github.com/neverinfamous/mysql-mcp/blob/master/examples/notebooks/quickstart.ipynb) demonstrates:
179
+
180
+ **Basic Operations:**
181
+ - Connecting via `mcp` Python SDK
182
+ - Reading/Writing data with SQL tools
183
+ - Accessing Resources (schema, tables, performance)
184
+ - Error handling patterns
185
+
186
+ **Advanced Features:**
187
+ - **Transactions** - Atomic writes with COMMIT/ROLLBACK
188
+ - **AI Prompts** - Using guided workflows for optimization
189
+ - **Performance Analysis** - EXPLAIN plans and query tuning
190
+
191
+ **NEW Capabilities in v2.0:**
192
+ - **JSON Support** - Treating MySQL as a document store with `mysql_json_extract/set`
193
+ - **Fulltext Search** - Building RAG-ready search with `mysql_fulltext_create/search`
194
+ - **Spatial Data** - Location-based search (GIS) with `mysql_spatial_distance_sphere`
195
+ - **Document Store** - NoSQL API (MongoDB-style) with `mysql_doc_create_collection/add/find`
196
+
197
+ **Perfect for:**
198
+ - ๐ŸŽ“ Learning MCP protocol
199
+ - ๐Ÿงช Testing mysql-mcp features
200
+ - ๐Ÿ“ Prototyping database workflows
201
+ - ๐Ÿค– Building AI-powered data applications
202
+
203
+ ### AI-Optimized Protocol Features
204
+
205
+ **NEW in v2.0** - Zero-configuration features that automatically enhance AI assistant interactions:
206
+
207
+ | Feature | Benefit |
208
+ |---------|---------|
209
+ | **Tool Annotations** | AI knows which tools are safe to auto-run (`readOnlyHint`), which are destructive (`destructiveHint`), and which interact with external systems (`openWorldHint`) |
210
+ | **Resource Metadata** | Resources include `priority` hints so AI can focus on the most relevant data (health, tables, schema) |
211
+ | **Protocol Logging** | AI clients receive real-time log notifications for transparency during operations |
212
+ | **Progress Notifications** | Long-running operations report progress to prevent timeouts and show status |
213
+
214
+ **MCP 2025-11-25 Compliant** - Works seamlessly with Claude Desktop, Cursor IDE, and all MCP clients.
215
+
216
+ **Why This Matters:**
217
+ - โœ… **Smarter AI** - Assistants understand tool safety and impact
218
+ - โœ… **Better UX** - Real-time feedback during long operations
219
+ - โœ… **Production-ready** - Proper logging and error handling
220
+ - โœ… **Future-proof** - Latest MCP specification compliance
221
+
222
+ ---
223
+
224
+ ## ๐Ÿ”’ Security Enhancements
225
+
226
+ ### Input Validation Module
227
+ New centralized `src/utils/validators.ts`:
228
+ - **`validateIdentifier()`** - Validates SQL identifiers against injection attacks
229
+ - **`validateWhereClause()`** - Detects dangerous SQL patterns (UNION, stacked queries, timing attacks)
230
+ - **`escapeIdentifier()`** and **`escapeLikePattern()`** - Safe escaping utilities
231
+
232
+ ### HTTP Security Headers
233
+ All HTTP responses include:
234
+ - `X-Content-Type-Options: nosniff` - Prevents MIME type sniffing
235
+ - `X-Frame-Options: DENY` - Prevents clickjacking
236
+ - `X-XSS-Protection: 1; mode=block` - Enables XSS filtering
237
+ - `Content-Security-Policy: default-src 'none'` - Restrictive CSP
238
+ - `Cache-Control: no-store` - Prevents caching of API responses
239
+
240
+ ### SQL Injection Prevention
241
+ Input validation applied to:
242
+ - Backup tools (`backup.ts`) - Table name and WHERE clause validation
243
+ - JSON tools (`json/core.ts`) - All 8 core JSON tools validated
244
+ - Shell tools - Fixed injection vulnerability in `mysqlsh_import_table`
245
+
246
+ ### Security Test Suite
247
+ - `security_injection.test.ts` - 14 SQL injection prevention tests
248
+ - `security_integration.test.ts` - 11 validation flow tests
249
+ - `http.test.ts` - 6 security header verification tests
250
+ - `TokenValidator.test.ts` - 5 OAuth edge case tests
251
+
252
+ ---
253
+
254
+ ## โšก Performance Optimizations
255
+
256
+ ### Caching Improvements
257
+ - **Tool Definition Caching** - `getToolDefinitions()` caches 191 tool definitions after first call
258
+ - **O(1) Lookups** - `getToolGroup()` uses Map for instant lookup (was O(nร—m) linear search)
259
+ - **Cached Tool Names** - `getAllToolNames()` caches 191-tool array
260
+
261
+ ### Performance Test Suite
262
+ New `src/__tests__/perf.test.ts` with 11 timing-based regression tests:
263
+ - Tool definition caching validation
264
+ - Tool group lookup performance (Map vs linear)
265
+ - Filter parsing performance for complex chains
266
+
267
+ ---
268
+
269
+ ## ๐Ÿ—๏ธ Architectural Improvements
270
+
271
+ ### Modular Refactoring
272
+ Refactored large monolithic files (500+ lines) into focused modules:
273
+
274
+ **Phase 1:**
275
+ - `tools/spatial/` - Split into 4 modules: setup, geometry, queries, operations
276
+ - `tools/admin/` - Split into 3 modules: maintenance, monitoring, backup
277
+ - `tools/sysschema/` - Split into 3 modules: activity, performance, resources
278
+
279
+ **Phase 2:**
280
+ - `tools/performance/` - Split into 2 modules: analysis, optimization
281
+ - `tools/text/` - Split into 2 modules: processing, fulltext
282
+ - Separated `replication.ts` and `partitioning.ts` into distinct files
283
+
284
+ **Phase 3:**
285
+ - `tools/schema/` - Split into 6 modules: management, views, routines, triggers, constraints, scheduled_events
286
+
287
+ **Phase 4:**
288
+ - Extracted CLI argument parsing to `src/cli/args.ts`
289
+ - Moved schema operations to `src/adapters/mysql/SchemaManager.ts`
290
+
291
+ ### Test Suite Modularity
292
+ Refactored monolithic test files:
293
+ - Split `admin.test.ts` (626 lines) โ†’ 3 focused files
294
+ - Split `json.test.ts` (729 lines) โ†’ 3 focused files
295
+ - Split shell tests โ†’ 5 modular files
296
+ - Split resource tests โ†’ 10 modular files
297
+
298
+ ### Code Quality
299
+ - **Removed ALL `eslint-disable` directives** - Strict type safety throughout
300
+ - **Removed deprecated SSEServerTransport** - Migrated to StreamableHTTPServerTransport
301
+ - **Zero breaking changes** - Full backward compatibility maintained
302
+
303
+ ---
304
+
305
+ ## ๐Ÿงช Testing Excellence
306
+
307
+ ### Coverage Achievements
308
+ - **Statement Coverage:** 97.34%
309
+ - **Branch Coverage:** 83.87%
310
+ - **Total Tests:** 1,500+ tests passing
311
+ - **Test Files:** 84 modular test files
312
+
313
+ ### Test Infrastructure
314
+ - **Centralized mocks** in `src/__tests__/mocks/`
315
+ - **Fully mocked** - Tests run without database connection
316
+ - **Fast execution** - ~20 second total runtime
317
+ - **Meaningful assertions** - Replaced coverage boosters with real tests
318
+
319
+ ### New Test Coverage
320
+ - CLI tests (91% coverage) - argument parsing, signal handling, error scenarios
321
+ - HTTP transport tests - CORS, health checks, OAuth metadata
322
+ - Security tests - injection prevention, validation flow
323
+ - Schema management tests - 6 modular test files
324
+ - Performance tests - timing-based regression protection
325
+
326
+ ---
327
+
328
+ ## ๐Ÿ“ฆ Installation & Upgrade
329
+
330
+ ### Docker (Recommended)
331
+
332
+ ```bash
333
+ # Latest v2.0.0
334
+ docker pull writenotenow/mysql-mcp:v2.0.0
335
+ docker pull writenotenow/mysql-mcp:latest
336
+
337
+ # Run with stdio transport
338
+ docker run -i --rm writenotenow/mysql-mcp:v2.0.0 \
339
+ --transport stdio \
340
+ --mysql mysql://user:password@host.docker.internal:3306/database
341
+
342
+ # Run with HTTP transport
343
+ docker run -p 3000:3000 writenotenow/mysql-mcp:v2.0.0 \
344
+ --transport http \
345
+ --port 3000 \
346
+ --mysql mysql://user:password@host.docker.internal:3306/database
347
+ ```
348
+
349
+ ### NPM Installation
350
+
351
+ ```bash
352
+ git clone https://github.com/neverinfamous/mysql-mcp.git
353
+ cd mysql-mcp
354
+ git checkout v2.0.0
355
+ npm install
356
+ npm run build
357
+ node dist/cli.js --transport stdio --mysql mysql://user:pass@localhost:3306/db
358
+ ```
359
+
360
+ ### MCP Client Configuration
361
+
362
+ #### Claude Desktop / Cursor IDE (stdio)
363
+
364
+ ```json
365
+ {
366
+ "mcpServers": {
367
+ "mysql-mcp": {
368
+ "command": "docker",
369
+ "args": [
370
+ "run",
371
+ "-i",
372
+ "--rm",
373
+ "writenotenow/mysql-mcp:v2.0.0",
374
+ "--transport",
375
+ "stdio",
376
+ "--mysql",
377
+ "mysql://user:password@host.docker.internal:3306/database",
378
+ "--tool-filter",
379
+ "-base,-ecosystem,+starter"
380
+ ]
381
+ }
382
+ }
383
+ }
384
+ ```
385
+
386
+ #### Remote HTTP Connection
387
+
388
+ ```json
389
+ {
390
+ "mcpServers": {
391
+ "mysql-mcp-remote": {
392
+ "url": "http://your-server:3000/sse"
393
+ }
394
+ }
395
+ }
396
+ ```
397
+
398
+ ---
399
+
400
+ ## ๐ŸŽฏ Tool Filtering (Important!)
401
+
402
+ **With 191 tools, you MUST use tool filtering** to stay within IDE limits (typically 40-50 tools).
403
+
404
+ ### Recommended Starter Configuration
405
+
406
+ ```bash
407
+ --tool-filter "-base,-ecosystem,+starter"
408
+ ```
409
+
410
+ This gives you **38 essential tools**: core CRUD, JSON, transactions, text search.
411
+
412
+ ### Meta-Groups
413
+
414
+ | Shortcut | Tools | Use Case |
415
+ |----------|-------|----------|
416
+ | `starter` | 38 | ๐ŸŒŸ **Recommended** - Essential development tools |
417
+ | `essential` | 15 | Minimal footprint - Core + transactions only |
418
+ | `dev` | 67 | Full development - starter + fulltext, performance, schema |
419
+ | `ai` | 77 | **NEW** - AI/ML workloads (JSON, spatial, stats, docstore) |
420
+ | `dba` | 103 | **NEW** - DBA tasks (admin, monitoring, security, roles) |
421
+ | `base` | 160 | All core MySQL tools |
422
+ | `ecosystem` | 31 | External tools (Router, ProxySQL, Shell) |
423
+
424
+ ### Examples
425
+
426
+ ```bash
427
+ # AI/ML Development (77 tools)
428
+ --tool-filter "-base,-ecosystem,+ai"
429
+
430
+ # Database Administration (103 tools)
431
+ --tool-filter "-base,-ecosystem,+dba"
432
+
433
+ # Starter + Spatial GIS (50 tools)
434
+ --tool-filter "-base,-ecosystem,+starter,+spatial"
435
+
436
+ # Starter + Document Store (47 tools)
437
+ --tool-filter "-base,-ecosystem,+starter,+docstore"
438
+ ```
439
+
440
+ ---
441
+
442
+ ## ๐Ÿ“š Documentation
443
+
444
+ - **[Full Documentation (Wiki)](https://github.com/neverinfamous/mysql-mcp/wiki)**
445
+ - **[Changelog](https://github.com/neverinfamous/mysql-mcp/blob/master/CHANGELOG.md)**
446
+ - **[Security Policy](https://github.com/neverinfamous/mysql-mcp/blob/master/SECURITY.md)**
447
+ - **[Tool Reference](https://github.com/neverinfamous/mysql-mcp/wiki/Tool-Reference)**
448
+ - **[Tool Filtering Guide](https://github.com/neverinfamous/mysql-mcp/wiki/Tool-Filtering)**
449
+ - **[Configuration Guide](https://github.com/neverinfamous/mysql-mcp/wiki/Configuration)**
450
+ - **[OAuth Setup](https://github.com/neverinfamous/mysql-mcp/wiki/OAuth)**
451
+ - **[Python Quickstart Notebook](https://github.com/neverinfamous/mysql-mcp/blob/master/examples/notebooks/quickstart.ipynb)**
452
+
453
+ ---
454
+
455
+ ## ๐Ÿ”„ Breaking Changes
456
+
457
+ **None!** - v2.0.0 maintains full backward compatibility with v1.0.0. The major version bump reflects the significant scope of improvements rather than breaking changes.
458
+
459
+ ---
460
+
461
+ ## ๐Ÿ› Bug Fixes
462
+
463
+ - Fixed `ExitError` handling in CLI tests
464
+ - Fixed injection vulnerability in `mysqlsh_import_table` (field/line terminators)
465
+ - Fixed false coverage reports in spatial tests
466
+ - Fixed undefined property handling in `indexes` and `locks` resources
467
+ - Improved mock resilience across test suite
468
+
469
+ ---
470
+
471
+ ## ๐Ÿ“Š Complete Feature Set
472
+
473
+ ### Tools by Category (191 Total)
474
+
475
+ | Category | Count | Description |
476
+ |----------|-------|-------------|
477
+ | Core | 8 | CRUD, schema, tables, indexes |
478
+ | Transactions | 7 | BEGIN, COMMIT, ROLLBACK, savepoints |
479
+ | JSON | 17 | JSON functions + merge, diff, stats |
480
+ | Text | 6 | REGEXP, LIKE, SOUNDEX |
481
+ | FULLTEXT | 4 | Natural language search |
482
+ | Performance | 8 | EXPLAIN, query analysis |
483
+ | Optimization | 4 | Index hints, recommendations |
484
+ | Admin | 6 | OPTIMIZE, ANALYZE, CHECK |
485
+ | Monitoring | 7 | PROCESSLIST, status variables |
486
+ | Backup | 4 | Export, import, mysqldump |
487
+ | Replication | 5 | Master/slave, binlog |
488
+ | Partitioning | 4 | Partition management |
489
+ | Router | 9 | MySQL Router REST API |
490
+ | ProxySQL | 12 | Proxy management |
491
+ | Shell | 10 | MySQL Shell utilities |
492
+ | **Schema** | **10** | **Views, procedures, triggers** |
493
+ | **Events** | **6** | **Event Scheduler** |
494
+ | **sys Schema** | **8** | **Diagnostics** |
495
+ | **Statistics** | **8** | **Statistical analysis** |
496
+ | **Spatial/GIS** | **12** | **Geospatial data** |
497
+ | **Security** | **9** | **Audit, SSL, encryption** |
498
+ | **Cluster** | **10** | **Group Replication, InnoDB Cluster** |
499
+ | **Roles** | **8** | **RBAC** |
500
+ | **Document Store** | **9** | **NoSQL API** |
501
+
502
+ ---
503
+
504
+ ## ๐Ÿ™ Acknowledgments
505
+
506
+ Thank you to the MySQL and MCP communities for your feedback and support. This release represents months of development focused on making mysql-mcp the most comprehensive, secure, and production-ready MySQL MCP server available.
507
+
508
+ ---
509
+
510
+ ## ๐Ÿ”— Links
511
+
512
+ - **GitHub Repository:** https://github.com/neverinfamous/mysql-mcp
513
+ - **Docker Hub:** https://hub.docker.com/r/writenotenow/mysql-mcp
514
+ - **Issues:** https://github.com/neverinfamous/mysql-mcp/issues
515
+ - **Discussions:** https://github.com/neverinfamous/mysql-mcp/discussions
516
+ - **License:** MIT
517
+
518
+ ---
519
+
520
+ **Want to contribute?** See our [Contributing Guidelines](https://github.com/neverinfamous/mysql-mcp/blob/master/CONTRIBUTING.md)
521
+
522
+ **Found a security issue?** See our [Security Policy](https://github.com/neverinfamous/mysql-mcp/blob/master/SECURITY.md)
@@ -0,0 +1,145 @@
1
+ # mysql-mcp v2.1.0 Release Notes
2
+
3
+ **Release Date:** January 3, 2026
4
+ **Status:** Production/Stable
5
+
6
+ ---
7
+
8
+ ## ๐ŸŽ‰ Release Highlights
9
+
10
+ **mysql-mcp v2.1.0** delivers significant bug fixes, performance improvements, and enhanced testing coverage. This release focuses on production stability with fixes for Document Store, Group Replication, InnoDB Cluster, spatial tools, and MySQL Shell integration.
11
+
12
+ ### At a Glance
13
+ - **12+ Bug Fixes** โ€” Document Store filters, Group Replication MySQL 8.0 compatibility, spatial coordinate handling, Router TLS, and more
14
+ - **Performance Improvements** โ€” Native MCP SDK logging, parallelized health queries, batched index queries (N+1 โ†’ 1), configurable metadata cache
15
+ - **112 New Tests** โ€” Branch coverage improved from ~83% to ~86% (1590 tests total)
16
+ - **New Parameters** โ€” `updateServerSettings`, `ddlOnly`, and `all` for shell/backup tools
17
+
18
+ ---
19
+
20
+ ## ๐Ÿ› Bug Fixes
21
+
22
+ ### Document Store
23
+ - **Document Store Filter Tools** โ€” Fixed `mysql_doc_modify` and `mysql_doc_remove` failing with "Invalid JSON path expression" error. Added `parseDocFilter()` function supporting three filter formats:
24
+ - By `_id`: Direct 32-char hex string (e.g., `bbc83181703d43e68ffad119c4bbbfde`)
25
+ - By `field=value`: Simple equality (e.g., `name=Alice`, `age=30`)
26
+ - By JSON path existence: Path starting with `$` (e.g., `$.address`)
27
+ - Now uses parameterized queries for SQL injection protection
28
+
29
+ ### Group Replication & InnoDB Cluster
30
+ - **Group Replication Tools MySQL 8.0 Compatibility** โ€” Fixed `mysql_gr_members` and `mysql_gr_transactions` failing with "Unknown column" errors on MySQL 8.0.44. Removed non-existent columns from queries.
31
+ - **InnoDB Cluster Status Tool** โ€” Fixed `mysql_cluster_status` failing with "Unable to query cluster metadata" due to hardcoded column names. Changed to `SELECT *` for compatibility across MySQL versions.
32
+
33
+ ### Spatial Tools
34
+ - **Spatial Coordinate Order (Final Fix)** โ€” Fixed `mysql_spatial_point`, `mysql_spatial_distance`, and `mysql_spatial_distance_sphere` to correctly accept longitude-latitude parameter order by using MySQL's `axis-order=long-lat` option.
35
+
36
+ ### MySQL Router
37
+ - **Router TLS with Node.js fetch** โ€” Fixed `mysql_router_*` tools failing with "fetch failed" when `MYSQL_ROUTER_INSECURE=true`. Replaced with native `https.request()` module for proper self-signed certificate handling.
38
+
39
+ ### Partitioning
40
+ - **Partitioning Tools** โ€” Fixed `mysql_reorganize_partition` to support both RANGE and LIST partition types (previously hardcoded to RANGE only). Added required `partitionType` parameter to schema.
41
+
42
+ ### MySQL Shell
43
+ - **MySQL Shell Tools Error Handling** โ€” Improved error detection in `execShellJS()` to properly catch errors from stderr (e.g., `local_infile disabled`, privilege errors, fatal dump errors).
44
+ - **MySQL Shell Export Table** โ€” Removed unsupported `columns` option from `mysqlsh_export_table` (not supported by `util.exportTable()` in MySQL Shell 9.x).
45
+
46
+ ---
47
+
48
+ ## โœจ New Features
49
+
50
+ ### New Tool Parameters
51
+ - **`mysqlsh_import_table` / `mysqlsh_load_dump`** โ€” Added `updateServerSettings` boolean option to automatically enable `local_infile` on the server before import/load operations
52
+ - **`mysqlsh_dump_schemas`** โ€” Added `ddlOnly` boolean option to dump only DDL (schema structure) without events, triggers, or routines
53
+ - **`mysqlsh_dump_tables`** โ€” Added `all` boolean option to control whether triggers are included in the dump
54
+
55
+ ### Server Instructions
56
+ - **Automatic Usage Instructions** โ€” Usage instructions are now automatically provided to AI agents via the MCP protocol's `instructions` capability during server initialization
57
+
58
+ ---
59
+
60
+ ## โšก Performance Improvements
61
+
62
+ | Improvement | Description |
63
+ |------------|-------------|
64
+ | **Native MCP Logging** | Upgraded to MCP SDK v1.25.1 with native `server.sendLoggingMessage()` |
65
+ | **Parallelized Health Queries** | Health resource now executes status and max_connections queries concurrently using `Promise.all()` |
66
+ | **Batched Index Queries** | `SchemaManager.getSchema()` now fetches all indexes in a single query (eliminates N+1 pattern) |
67
+ | **Metadata Cache with TTL** | Added configurable TTL-based cache (default 30s, via `METADATA_CACHE_TTL_MS`) |
68
+
69
+ ---
70
+
71
+ ## ๐Ÿงช Testing Improvements
72
+
73
+ - **112 New Tests** targeting uncovered branches across multiple modules:
74
+ - **CLI** โ€” `canSkipMySQLConnection()` covering router-only, proxysql-only, shell-only, ecosystem shortcuts
75
+ - **Shell Types** โ€” 100% branch coverage for `booleanCoerce` preprocessor
76
+ - **Data Transfer** โ€” Tests for `updateServerSettings`, `local_infile` error handling, X Protocol
77
+ - **Backup/Restore** โ€” Tests for `ddlOnly` mode, privilege errors, fatal dump errors
78
+ - **JSON Enhanced** โ€” Tests for merge, diff, type mappings, cardinality filtering
79
+ - **InnoDB Cluster** โ€” New test file covering fallback to GR status, error handling
80
+
81
+ - **Branch Coverage** โ€” Improved from ~83% to ~86%
82
+ - **Total Tests** โ€” 1590 tests passing across 101 test files
83
+
84
+ ---
85
+
86
+ ## ๐Ÿ—‘๏ธ Removed
87
+
88
+ - **Jupyter Quickstart Notebook** โ€” Removed `examples/notebooks/quickstart.ipynb` and the `examples/` directory due to kernel instability issues on Windows. Usage instructions are now provided via MCP protocol.
89
+
90
+ ---
91
+
92
+ ## ๐Ÿ“ Changed
93
+
94
+ - **Server Instructions** โ€” Added document store filter syntax documentation with examples. Added spatial tools section documenting coordinate order behavior.
95
+ - **Partitioning Schema Descriptions** โ€” Improved `value` parameter descriptions to clarify only boundary values should be provided.
96
+ - **Logger Tests** โ€” Updated to match RFC 5424 severity levels (`warn` โ†’ `warning`).
97
+
98
+ ---
99
+
100
+ ## ๐Ÿ“ฆ Installation & Upgrade
101
+
102
+ ### Docker (Recommended)
103
+
104
+ ```bash
105
+ # Latest v2.1.0
106
+ docker pull writenotenow/mysql-mcp:v2.1.0
107
+ docker pull writenotenow/mysql-mcp:latest
108
+
109
+ # Run with stdio transport
110
+ docker run -i --rm writenotenow/mysql-mcp:v2.1.0 \
111
+ --transport stdio \
112
+ --mysql mysql://user:password@host.docker.internal:3306/database
113
+ ```
114
+
115
+ ### NPM
116
+
117
+ ```bash
118
+ npm install -g mysql-mcp@2.1.0
119
+ ```
120
+
121
+ ### From Source
122
+
123
+ ```bash
124
+ git clone https://github.com/neverinfamous/mysql-mcp.git
125
+ cd mysql-mcp
126
+ git checkout v2.1.0
127
+ npm install
128
+ npm run build
129
+ node dist/cli.js --transport stdio --mysql mysql://user:pass@localhost:3306/db
130
+ ```
131
+
132
+ ---
133
+
134
+ ## ๐Ÿ”— Links
135
+
136
+ - **GitHub Repository:** https://github.com/neverinfamous/mysql-mcp
137
+ - **Docker Hub:** https://hub.docker.com/r/writenotenow/mysql-mcp
138
+ - **NPM Package:** https://www.npmjs.com/package/mysql-mcp
139
+ - **Changelog:** https://github.com/neverinfamous/mysql-mcp/blob/master/CHANGELOG.md
140
+ - **Issues:** https://github.com/neverinfamous/mysql-mcp/issues
141
+ - **License:** MIT
142
+
143
+ ---
144
+
145
+ **Full Changelog:** [v2.0.0...v2.1.0](https://github.com/neverinfamous/mysql-mcp/compare/v2.0.0...v2.1.0)