@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
package/dist/cli.js ADDED
@@ -0,0 +1,141 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * mysql-mcp - Command Line Interface
4
+ *
5
+ * Entry point for running the mysql-mcp server from the command line.
6
+ */
7
+ import { createServer } from './server/McpServer.js';
8
+ import { MySQLAdapter } from './adapters/mysql/MySQLAdapter.js';
9
+ import { parseArgs } from './cli/args.js';
10
+ import { logger } from './utils/logger.js';
11
+ /**
12
+ * Tool groups that don't require a MySQL database connection.
13
+ * These tools connect to external services via HTTP/CLI.
14
+ */
15
+ const MYSQL_OPTIONAL_GROUPS = new Set(['router', 'proxysql', 'shell']);
16
+ /**
17
+ * Check if the tool filter only includes groups that don't need MySQL connection.
18
+ * Returns true if MySQL connection can be skipped.
19
+ */
20
+ function canSkipMySQLConnection(toolFilter) {
21
+ if (!toolFilter)
22
+ return false;
23
+ // Parse the filter to extract enabled groups
24
+ // Format examples: "router", "router,proxysql", "ecosystem", "-core,router"
25
+ const parts = toolFilter.split(',').map(p => p.trim().toLowerCase());
26
+ // If using shortcuts that include MySQL-requiring tools, need connection
27
+ const shortcutsRequiringMySQL = [
28
+ 'starter', 'essential', 'dev-power', 'ai-data', 'ai-spatial',
29
+ 'dba-monitor', 'dba-manage', 'dba-secure', 'base-core', 'base-advanced'
30
+ ];
31
+ // Check if any shortcut requiring MySQL is used
32
+ for (const part of parts) {
33
+ const cleanPart = part.replace(/^[+-]/, '');
34
+ if (shortcutsRequiringMySQL.includes(cleanPart)) {
35
+ return false;
36
+ }
37
+ }
38
+ // Get all positive (included) groups
39
+ const enabledGroups = new Set();
40
+ for (const part of parts) {
41
+ if (part.startsWith('-'))
42
+ continue; // Skip exclusions
43
+ const cleanPart = part.replace(/^[+]/, '');
44
+ // 'ecosystem' shortcut = router + proxysql + shell (no MySQL needed)
45
+ if (cleanPart === 'ecosystem') {
46
+ enabledGroups.add('router');
47
+ enabledGroups.add('proxysql');
48
+ enabledGroups.add('shell');
49
+ }
50
+ else {
51
+ enabledGroups.add(cleanPart);
52
+ }
53
+ }
54
+ // If no enabled groups found, can't skip
55
+ if (enabledGroups.size === 0)
56
+ return false;
57
+ // Check if ALL enabled groups are MySQL-optional
58
+ for (const group of enabledGroups) {
59
+ if (!MYSQL_OPTIONAL_GROUPS.has(group)) {
60
+ return false;
61
+ }
62
+ }
63
+ return true;
64
+ }
65
+ /**
66
+ * Main entry point
67
+ */
68
+ export async function main(args) {
69
+ const { config, databases, oauth, shouldExit } = args ?? parseArgs();
70
+ if (shouldExit) {
71
+ process.exit(0);
72
+ }
73
+ // Check if MySQL connection can be skipped based on tool filter
74
+ const skipMySQLConnection = canSkipMySQLConnection(config.toolFilter);
75
+ if (databases.length === 0 && !skipMySQLConnection) {
76
+ console.error('Error: No database connection specified');
77
+ console.error('Use --mysql or environment variables to configure connection');
78
+ console.error('Run with --help for usage information');
79
+ process.exit(1);
80
+ }
81
+ // Log OAuth status (without exposing sensitive configuration)
82
+ if (oauth?.enabled) {
83
+ console.error('OAuth authentication enabled');
84
+ }
85
+ // Create server
86
+ const server = createServer({
87
+ ...config,
88
+ databases,
89
+ oauth
90
+ });
91
+ // Handle graceful shutdown
92
+ const shutdown = async () => {
93
+ console.error('\nShutting down...');
94
+ await server.stop();
95
+ process.exit(0);
96
+ };
97
+ process.on('SIGINT', () => void shutdown());
98
+ process.on('SIGTERM', () => void shutdown());
99
+ try {
100
+ // Create and connect adapters
101
+ for (const dbConfig of databases) {
102
+ if (dbConfig.type === 'mysql') {
103
+ const adapter = new MySQLAdapter();
104
+ if (skipMySQLConnection) {
105
+ // Register adapter without connecting for external-only tools
106
+ logger.info('Skipping MySQL connection (not needed for selected tools)', {
107
+ toolFilter: config.toolFilter
108
+ });
109
+ server.registerAdapter(adapter, `mysql:${dbConfig.database ?? 'default'}`);
110
+ }
111
+ else {
112
+ // Normal flow: connect then register
113
+ await adapter.connect(dbConfig);
114
+ server.registerAdapter(adapter, `mysql:${dbConfig.database ?? 'default'}`);
115
+ }
116
+ }
117
+ }
118
+ // If no databases configured but using external-only tools, create a placeholder adapter
119
+ if (databases.length === 0 && skipMySQLConnection) {
120
+ logger.info('Running without MySQL connection (external tools only)', {
121
+ toolFilter: config.toolFilter
122
+ });
123
+ const adapter = new MySQLAdapter();
124
+ server.registerAdapter(adapter, 'mysql:external');
125
+ }
126
+ // Start server
127
+ await server.start();
128
+ }
129
+ catch (error) {
130
+ console.error('Fatal error:', error);
131
+ process.exit(1);
132
+ }
133
+ }
134
+ // Run if called directly
135
+ import { fileURLToPath } from 'url';
136
+ // Only run if this file is the main module
137
+ const isMainModule = process.argv[1] === fileURLToPath(import.meta.url);
138
+ if (isMainModule) {
139
+ main().catch(console.error);
140
+ }
141
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Server instructions for MySQL MCP.
3
+ *
4
+ * These instructions are automatically sent to MCP clients during initialization,
5
+ * providing guidance for AI agents on tool usage.
6
+ */
7
+ import type { ResourceDefinition, PromptDefinition } from '../types/index.js';
8
+ /**
9
+ * Generate dynamic instructions based on enabled tools, resources, and prompts
10
+ */
11
+ export declare function generateInstructions(enabledTools: Set<string>, resources: ResourceDefinition[], prompts: PromptDefinition[]): string;
12
+ /**
13
+ * Static instructions for backward compatibility
14
+ * @deprecated Use generateInstructions() instead for dynamic content
15
+ */
16
+ export declare const SERVER_INSTRUCTIONS = "# mysql-mcp Usage Instructions\n\n## Server Identity\n\n- **Server Name**: This server is identified as `user-mysql` in MCP client configurations.\n- **Tool Invocation**: When calling tools via MCP, they are prefixed with the server name (e.g., `user-mysql-mysql_json_extract`, `user-mysql-mysql_read_query`).\n- **Resources**: \n - Resources use the `mysql://` URI scheme (e.g., `mysql://capabilities`, `mysql://schema`).\n - When listing or fetching resources, use server name `user-mysql` (e.g., `list_mcp_resources(server: \"user-mysql\")`, `fetch_mcp_resource(server: \"user-mysql\", uri: \"mysql://schema\")`).\n\n## JSON Tools (`mysql_json_*`)\n\n- **Strict Quoting**: When passing string values to JSON tools, you **must quote the string** if you intend to store it as a JSON string.\n - \u274C Incorrect: `value: \"green\"` (interpreted as invalid JSON)\n - \u2705 Correct: `value: \"\\\"green\\\"\"` (stored as string \"green\")\n - \u2705 Correct: `value: 42` (stored as number)\n - \u2705 Correct: `value: {\"key\": \"val\"}` (stored as object)\n- **Validation**: Creating or updating JSON values enforces strict JSON validity checks.\n\n## Transactions & Safety (`mysql_transaction_*`)\n\n- Use transactions for multi-step changes:\n 1. Call `mysql_transaction_begin` \u2192 get `transactionId`\n 2. Perform updates with `transactionId`\n 3. If successful, `mysql_transaction_commit`\n 4. If error, `mysql_transaction_rollback`\n\n## Document Store (`mysql_doc_*`)\n\n- **Filter Syntax** (for `mysql_doc_modify`, `mysql_doc_remove`):\n - **By _id**: Pass the 32-character hex _id directly: `filter: \"686dd247b9724bcfa08ce6f1efed8b77\"`\n - **By field value**: Use `field=value` format: `filter: \"name=Alice\"` or `filter: \"age=30\"`\n - **By existence**: Use JSON path: `filter: \"$.address\"` (matches docs where address field exists)\n - \u274C Incorrect: `filter: \"$.name == 'Alice'\"` (comparison operators not supported in path)\n - \u2705 Correct: `filter: \"name=Alice\"` (field=value format)\n- **Find Filters** (`mysql_doc_find`): The filter parameter checks for field existence using JSON path (e.g., `$.address.zip`).\n\n## Fulltext Search (`mysql_fulltext_boolean`)\n\n- Uses MySQL boolean operators: `+word` (AND), `-word` (NOT), `word*` (wildcard), `> <` (relevance weighting)\n\n## DDL Statements (`mysql_write_query`)\n\n- DDL statements (like `CREATE TABLE`) are automatically handled via text protocol fallback.\n\n## Role Management\n\n- Role tools require appropriate privileges.\n- `mysql_role_grant` supports `db.table` syntax (e.g., `GRANT SELECT ON my_schema.my_table`).\n\n## Group Replication (`mysql_gr_*`)\n\n- Tools check for `group_replication` plugin status and return \"not active\" if plugin is not active.\n\n## MySQL Router Tools (`mysql_router_*`)\n\n- **Prerequisites**: Router REST API requires InnoDB Cluster to be running (authentication uses `metadata_cache` backend)\n- **Self-signed certificates**: Set `MYSQL_ROUTER_INSECURE=true` to bypass TLS certificate verification for development/testing\n- **Route names**: Use `mysql_router_routes` to list available routes (e.g., `bootstrap_rw`, `bootstrap_ro`)\n- **Metadata cache**: The `metadataName` parameter is typically `bootstrap` for bootstrapped routers\n\n## Partitioning Tools (`mysql_partition_*`, `mysql_add_partition`, `mysql_drop_partition`, `mysql_reorganize_partition`)\n\n- **Value Parameter**: The `value` parameter expects only the boundary value, NOT the full SQL clause.\n - \u274C Incorrect: `value: \"LESS THAN (2024)\"` (SQL syntax error - duplicates keywords)\n - \u2705 Correct: `value: \"2024\"` for RANGE partitions\n - \u2705 Correct: `value: \"1,2,3\"` for LIST partitions\n - \u2705 Correct: `value: \"4\"` for HASH/KEY (number of partitions to add)\n- **Reorganize**: Requires `partitionType` parameter (RANGE or LIST). HASH/KEY partitions cannot be reorganized.\n- **Drop Warning**: `mysql_drop_partition` permanently deletes all data in the partition.\n\n## Spatial Tools (`mysql_spatial_*`)\n\n- **Coordinate Order**: All spatial tools use standard **longitude, latitude** parameter order (X, Y), matching GeoJSON and common mapping conventions.\n - \u2705 Example: `{ longitude: -122.4194, latitude: 37.7749 }` for San Francisco\n - MySQL 8.0+ uses EPSG standard axis order (latitude, longitude) internally for SRID 4326, but tools handle this conversion automatically using `axis-order=long-lat` option.\n- **SRID 4326**: Default spatial reference system is WGS 84 (GPS coordinates). Use `srid` parameter to specify other coordinate systems.\n";
17
+ //# sourceMappingURL=ServerInstructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerInstructions.d.ts","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAa,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAqFzF;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,SAAS,EAAE,kBAAkB,EAAE,EAC/B,OAAO,EAAE,gBAAgB,EAAE,GAC5B,MAAM,CAqCR;AAkBD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,mgJAAoB,CAAC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Server instructions for MySQL MCP.
3
+ *
4
+ * These instructions are automatically sent to MCP clients during initialization,
5
+ * providing guidance for AI agents on tool usage.
6
+ */
7
+ import { TOOL_GROUPS } from '../filtering/ToolConstants.js';
8
+ /**
9
+ * Base instructions that are always included
10
+ */
11
+ const BASE_INSTRUCTIONS = `# mysql-mcp Usage Instructions
12
+
13
+ ## Server Identity
14
+
15
+ - **Server Name**: This server is identified as \`user-mysql\` in MCP client configurations.
16
+ - **Tool Invocation**: When calling tools via MCP, they are prefixed with the server name (e.g., \`user-mysql-mysql_json_extract\`, \`user-mysql-mysql_read_query\`).
17
+ - **Resources**:
18
+ - Resources use the \`mysql://\` URI scheme (e.g., \`mysql://capabilities\`, \`mysql://schema\`).
19
+ - When listing or fetching resources, use server name \`user-mysql\` (e.g., \`list_mcp_resources(server: "user-mysql")\`, \`fetch_mcp_resource(server: "user-mysql", uri: "mysql://schema")\`).
20
+
21
+ ## JSON Tools (\`mysql_json_*\`)
22
+
23
+ - **Strict Quoting**: When passing string values to JSON tools, you **must quote the string** if you intend to store it as a JSON string.
24
+ - ❌ Incorrect: \`value: "green"\` (interpreted as invalid JSON)
25
+ - ✅ Correct: \`value: "\\"green\\""\` (stored as string "green")
26
+ - ✅ Correct: \`value: 42\` (stored as number)
27
+ - ✅ Correct: \`value: {"key": "val"}\` (stored as object)
28
+ - **Validation**: Creating or updating JSON values enforces strict JSON validity checks.
29
+
30
+ ## Transactions & Safety (\`mysql_transaction_*\`)
31
+
32
+ - Use transactions for multi-step changes:
33
+ 1. Call \`mysql_transaction_begin\` → get \`transactionId\`
34
+ 2. Perform updates with \`transactionId\`
35
+ 3. If successful, \`mysql_transaction_commit\`
36
+ 4. If error, \`mysql_transaction_rollback\`
37
+
38
+ ## Document Store (\`mysql_doc_*\`)
39
+
40
+ - **Filter Syntax** (for \`mysql_doc_modify\`, \`mysql_doc_remove\`):
41
+ - **By _id**: Pass the 32-character hex _id directly: \`filter: "686dd247b9724bcfa08ce6f1efed8b77"\`
42
+ - **By field value**: Use \`field=value\` format: \`filter: "name=Alice"\` or \`filter: "age=30"\`
43
+ - **By existence**: Use JSON path: \`filter: "$.address"\` (matches docs where address field exists)
44
+ - ❌ Incorrect: \`filter: "$.name == 'Alice'"\` (comparison operators not supported in path)
45
+ - ✅ Correct: \`filter: "name=Alice"\` (field=value format)
46
+ - **Find Filters** (\`mysql_doc_find\`): The filter parameter checks for field existence using JSON path (e.g., \`$.address.zip\`).
47
+
48
+ ## Fulltext Search (\`mysql_fulltext_boolean\`)
49
+
50
+ - Uses MySQL boolean operators: \`+word\` (AND), \`-word\` (NOT), \`word*\` (wildcard), \`> <\` (relevance weighting)
51
+
52
+ ## DDL Statements (\`mysql_write_query\`)
53
+
54
+ - DDL statements (like \`CREATE TABLE\`) are automatically handled via text protocol fallback.
55
+
56
+ ## Role Management
57
+
58
+ - Role tools require appropriate privileges.
59
+ - \`mysql_role_grant\` supports \`db.table\` syntax (e.g., \`GRANT SELECT ON my_schema.my_table\`).
60
+
61
+ ## Group Replication (\`mysql_gr_*\`)
62
+
63
+ - Tools check for \`group_replication\` plugin status and return "not active" if plugin is not active.
64
+
65
+ ## MySQL Router Tools (\`mysql_router_*\`)
66
+
67
+ - **Prerequisites**: Router REST API requires InnoDB Cluster to be running (authentication uses \`metadata_cache\` backend)
68
+ - **Self-signed certificates**: Set \`MYSQL_ROUTER_INSECURE=true\` to bypass TLS certificate verification for development/testing
69
+ - **Route names**: Use \`mysql_router_routes\` to list available routes (e.g., \`bootstrap_rw\`, \`bootstrap_ro\`)
70
+ - **Metadata cache**: The \`metadataName\` parameter is typically \`bootstrap\` for bootstrapped routers
71
+
72
+ ## Partitioning Tools (\`mysql_partition_*\`, \`mysql_add_partition\`, \`mysql_drop_partition\`, \`mysql_reorganize_partition\`)
73
+
74
+ - **Value Parameter**: The \`value\` parameter expects only the boundary value, NOT the full SQL clause.
75
+ - ❌ Incorrect: \`value: "LESS THAN (2024)"\` (SQL syntax error - duplicates keywords)
76
+ - ✅ Correct: \`value: "2024"\` for RANGE partitions
77
+ - ✅ Correct: \`value: "1,2,3"\` for LIST partitions
78
+ - ✅ Correct: \`value: "4"\` for HASH/KEY (number of partitions to add)
79
+ - **Reorganize**: Requires \`partitionType\` parameter (RANGE or LIST). HASH/KEY partitions cannot be reorganized.
80
+ - **Drop Warning**: \`mysql_drop_partition\` permanently deletes all data in the partition.
81
+
82
+ ## Spatial Tools (\`mysql_spatial_*\`)
83
+
84
+ - **Coordinate Order**: All spatial tools use standard **longitude, latitude** parameter order (X, Y), matching GeoJSON and common mapping conventions.
85
+ - ✅ Example: \`{ longitude: -122.4194, latitude: 37.7749 }\` for San Francisco
86
+ - MySQL 8.0+ uses EPSG standard axis order (latitude, longitude) internally for SRID 4326, but tools handle this conversion automatically using \`axis-order=long-lat\` option.
87
+ - **SRID 4326**: Default spatial reference system is WGS 84 (GPS coordinates). Use \`srid\` parameter to specify other coordinate systems.
88
+ `;
89
+ /**
90
+ * Generate dynamic instructions based on enabled tools, resources, and prompts
91
+ */
92
+ export function generateInstructions(enabledTools, resources, prompts) {
93
+ let instructions = BASE_INSTRUCTIONS;
94
+ // Add active tools section
95
+ const activeGroups = getActiveToolGroups(enabledTools);
96
+ if (activeGroups.length > 0) {
97
+ instructions += '\n## Active Tools\n\n';
98
+ instructions += `This server instance has ${enabledTools.size} tools enabled across ${activeGroups.length} groups:\n\n`;
99
+ for (const { group, tools } of activeGroups) {
100
+ instructions += `### ${group} (${tools.length} tools)\n`;
101
+ instructions += tools.map(t => `- \`${t}\``).join('\n');
102
+ instructions += '\n\n';
103
+ }
104
+ }
105
+ // Add resources section
106
+ if (resources.length > 0) {
107
+ instructions += `## Active Resources (${resources.length})\n\n`;
108
+ instructions += 'Read-only resources for database metadata:\n\n';
109
+ for (const resource of resources) {
110
+ instructions += `- \`${resource.uri}\` - ${resource.description}\n`;
111
+ }
112
+ instructions += '\n';
113
+ }
114
+ // Add prompts section
115
+ if (prompts.length > 0) {
116
+ instructions += `## Active Prompts (${prompts.length})\n\n`;
117
+ instructions += 'Pre-built query templates and guided workflows:\n\n';
118
+ for (const prompt of prompts) {
119
+ instructions += `- \`${prompt.name}\` - ${prompt.description}\n`;
120
+ }
121
+ instructions += '\n';
122
+ }
123
+ return instructions;
124
+ }
125
+ /**
126
+ * Get active tool groups with their enabled tools
127
+ */
128
+ function getActiveToolGroups(enabledTools) {
129
+ const activeGroups = [];
130
+ for (const [group, allTools] of Object.entries(TOOL_GROUPS)) {
131
+ const enabledInGroup = allTools.filter(tool => enabledTools.has(tool));
132
+ if (enabledInGroup.length > 0) {
133
+ activeGroups.push({ group, tools: enabledInGroup });
134
+ }
135
+ }
136
+ return activeGroups;
137
+ }
138
+ /**
139
+ * Static instructions for backward compatibility
140
+ * @deprecated Use generateInstructions() instead for dynamic content
141
+ */
142
+ export const SERVER_INSTRUCTIONS = BASE_INSTRUCTIONS;
143
+ //# sourceMappingURL=ServerInstructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D;;GAEG;AACH,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EzB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAChC,YAAyB,EACzB,SAA+B,EAC/B,OAA2B;IAE3B,IAAI,YAAY,GAAG,iBAAiB,CAAC;IAErC,2BAA2B;IAC3B,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,YAAY,IAAI,uBAAuB,CAAC;QACxC,YAAY,IAAI,4BAA4B,YAAY,CAAC,IAAI,yBAAyB,YAAY,CAAC,MAAM,cAAc,CAAC;QAExH,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;YAC1C,YAAY,IAAI,OAAO,KAAK,KAAK,KAAK,CAAC,MAAM,WAAW,CAAC;YACzD,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,YAAY,IAAI,MAAM,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,YAAY,IAAI,wBAAwB,SAAS,CAAC,MAAM,OAAO,CAAC;QAChE,YAAY,IAAI,gDAAgD,CAAC;QACjE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,YAAY,IAAI,OAAO,QAAQ,CAAC,GAAG,QAAQ,QAAQ,CAAC,WAAW,IAAI,CAAC;QACxE,CAAC;QACD,YAAY,IAAI,IAAI,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,YAAY,IAAI,sBAAsB,OAAO,CAAC,MAAM,OAAO,CAAC;QAC5D,YAAY,IAAI,qDAAqD,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,YAAY,IAAI,OAAO,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,WAAW,IAAI,CAAC;QACrE,CAAC;QACD,YAAY,IAAI,IAAI,CAAC;IACzB,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,YAAyB;IAClD,MAAM,YAAY,GAA4C,EAAE,CAAC;IAEjE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAA4B,EAAE,CAAC;QACrF,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * mysql-mcp - Tool Constants
3
+ *
4
+ * Defines the tool groups and meta-groups used for filtering.
5
+ */
6
+ import type { ToolGroup, MetaGroup } from '../types/index.js';
7
+ /**
8
+ * Default tool groups and their member tools.
9
+ * This serves as the canonical mapping of tools to groups.
10
+ */
11
+ export declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
12
+ /**
13
+ * Meta-groups that expand to multiple tool groups.
14
+ * These provide shortcuts for common use cases.
15
+ *
16
+ * STRICT LIMIT: NO group may exceed 50 tools.
17
+ *
18
+ * Tool counts (verified):
19
+ * starter: 38
20
+ * essential: 15
21
+ * dev-power: 45 (core:8 + schema:10 + performance:8 + stats:8 + fulltext:4 + transactions:7)
22
+ * ai-data: 44 (core:8 + json:17 + docstore:9 + text:6 + fulltext:4)
23
+ * ai-spatial: 43 (core:8 + spatial:12 + stats:8 + performance:8 + transactions:7)
24
+ * dba-monitor: 35 (core:8 + monitoring:7 + performance:8 + sysschema:8 + optimization:4)
25
+ * dba-manage: 33 (core:8 + admin:6 + backup:4 + replication:5 + partitioning:4 + events:6)
26
+ * dba-secure: 42 (core:8 + security:9 + roles:8 + cluster:10 + transactions:7)
27
+ * base-core: 48 (core:8 + json:17 + transactions:7 + text:6 + schema:10)
28
+ * base-advanced: 39 (docstore:9 + spatial:12 + stats:8 + fulltext:4 + events:6)
29
+ * ecosystem: 31
30
+ */
31
+ export declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
32
+ //# sourceMappingURL=ToolConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolConstants.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAkPnD,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAqBtD,CAAC"}
@@ -0,0 +1,290 @@
1
+ /**
2
+ * mysql-mcp - Tool Constants
3
+ *
4
+ * Defines the tool groups and meta-groups used for filtering.
5
+ */
6
+ /**
7
+ * Default tool groups and their member tools.
8
+ * This serves as the canonical mapping of tools to groups.
9
+ */
10
+ export const TOOL_GROUPS = {
11
+ core: [
12
+ 'mysql_read_query',
13
+ 'mysql_write_query',
14
+ 'mysql_list_tables',
15
+ 'mysql_describe_table',
16
+ 'mysql_create_table',
17
+ 'mysql_drop_table',
18
+ 'mysql_create_index',
19
+ 'mysql_get_indexes'
20
+ ],
21
+ json: [
22
+ 'mysql_json_extract',
23
+ 'mysql_json_set',
24
+ 'mysql_json_insert',
25
+ 'mysql_json_replace',
26
+ 'mysql_json_remove',
27
+ 'mysql_json_contains',
28
+ 'mysql_json_keys',
29
+ 'mysql_json_array_append',
30
+ 'mysql_json_get',
31
+ 'mysql_json_update',
32
+ 'mysql_json_search',
33
+ 'mysql_json_validate',
34
+ // Enhanced JSON tools (5 new)
35
+ 'mysql_json_merge',
36
+ 'mysql_json_diff',
37
+ 'mysql_json_normalize',
38
+ 'mysql_json_stats',
39
+ 'mysql_json_index_suggest'
40
+ ],
41
+ text: [
42
+ 'mysql_regexp_match',
43
+ 'mysql_like_search',
44
+ 'mysql_soundex',
45
+ 'mysql_substring',
46
+ 'mysql_concat',
47
+ 'mysql_collation_convert'
48
+ ],
49
+ fulltext: [
50
+ 'mysql_fulltext_create',
51
+ 'mysql_fulltext_search',
52
+ 'mysql_fulltext_boolean',
53
+ 'mysql_fulltext_expand'
54
+ ],
55
+ performance: [
56
+ 'mysql_explain',
57
+ 'mysql_explain_analyze',
58
+ 'mysql_slow_queries',
59
+ 'mysql_query_stats',
60
+ 'mysql_index_usage',
61
+ 'mysql_table_stats',
62
+ 'mysql_buffer_pool_stats',
63
+ 'mysql_thread_stats'
64
+ ],
65
+ optimization: [
66
+ 'mysql_index_recommendation',
67
+ 'mysql_query_rewrite',
68
+ 'mysql_force_index',
69
+ 'mysql_optimizer_trace'
70
+ ],
71
+ admin: [
72
+ 'mysql_optimize_table',
73
+ 'mysql_analyze_table',
74
+ 'mysql_check_table',
75
+ 'mysql_repair_table',
76
+ 'mysql_flush_tables',
77
+ 'mysql_kill_query'
78
+ ],
79
+ monitoring: [
80
+ 'mysql_show_processlist',
81
+ 'mysql_show_status',
82
+ 'mysql_show_variables',
83
+ 'mysql_innodb_status',
84
+ 'mysql_replication_status',
85
+ 'mysql_pool_stats',
86
+ 'mysql_server_health'
87
+ ],
88
+ backup: [
89
+ 'mysql_export_table',
90
+ 'mysql_import_data',
91
+ 'mysql_create_dump',
92
+ 'mysql_restore_dump'
93
+ ],
94
+ replication: [
95
+ 'mysql_master_status',
96
+ 'mysql_slave_status',
97
+ 'mysql_binlog_events',
98
+ 'mysql_gtid_status',
99
+ 'mysql_replication_lag'
100
+ ],
101
+ partitioning: [
102
+ 'mysql_partition_info',
103
+ 'mysql_add_partition',
104
+ 'mysql_drop_partition',
105
+ 'mysql_reorganize_partition'
106
+ ],
107
+ transactions: [
108
+ 'mysql_transaction_begin',
109
+ 'mysql_transaction_commit',
110
+ 'mysql_transaction_rollback',
111
+ 'mysql_transaction_savepoint',
112
+ 'mysql_transaction_release',
113
+ 'mysql_transaction_rollback_to',
114
+ 'mysql_transaction_execute'
115
+ ],
116
+ router: [
117
+ 'mysql_router_status',
118
+ 'mysql_router_routes',
119
+ 'mysql_router_route_status',
120
+ 'mysql_router_route_health',
121
+ 'mysql_router_route_connections',
122
+ 'mysql_router_route_destinations',
123
+ 'mysql_router_route_blocked_hosts',
124
+ 'mysql_router_metadata_status',
125
+ 'mysql_router_pool_status'
126
+ ],
127
+ proxysql: [
128
+ 'proxysql_status',
129
+ 'proxysql_servers',
130
+ 'proxysql_hostgroups',
131
+ 'proxysql_query_rules',
132
+ 'proxysql_query_digest',
133
+ 'proxysql_connection_pool',
134
+ 'proxysql_users',
135
+ 'proxysql_global_variables',
136
+ 'proxysql_runtime_status',
137
+ 'proxysql_memory_stats',
138
+ 'proxysql_commands',
139
+ 'proxysql_process_list'
140
+ ],
141
+ shell: [
142
+ 'mysqlsh_version',
143
+ 'mysqlsh_check_upgrade',
144
+ 'mysqlsh_export_table',
145
+ 'mysqlsh_import_table',
146
+ 'mysqlsh_import_json',
147
+ 'mysqlsh_dump_instance',
148
+ 'mysqlsh_dump_schemas',
149
+ 'mysqlsh_dump_tables',
150
+ 'mysqlsh_load_dump',
151
+ 'mysqlsh_run_script'
152
+ ],
153
+ // New tool groups (v2.0.0)
154
+ schema: [
155
+ 'mysql_list_schemas',
156
+ 'mysql_create_schema',
157
+ 'mysql_drop_schema',
158
+ 'mysql_list_views',
159
+ 'mysql_create_view',
160
+ 'mysql_list_stored_procedures',
161
+ 'mysql_list_functions',
162
+ 'mysql_list_triggers',
163
+ 'mysql_list_constraints',
164
+ 'mysql_list_events'
165
+ ],
166
+ events: [
167
+ 'mysql_event_create',
168
+ 'mysql_event_alter',
169
+ 'mysql_event_drop',
170
+ 'mysql_event_list',
171
+ 'mysql_event_status',
172
+ 'mysql_scheduler_status'
173
+ ],
174
+ sysschema: [
175
+ 'mysql_sys_user_summary',
176
+ 'mysql_sys_io_summary',
177
+ 'mysql_sys_statement_summary',
178
+ 'mysql_sys_wait_summary',
179
+ 'mysql_sys_innodb_lock_waits',
180
+ 'mysql_sys_schema_stats',
181
+ 'mysql_sys_host_summary',
182
+ 'mysql_sys_memory_summary'
183
+ ],
184
+ stats: [
185
+ 'mysql_stats_descriptive',
186
+ 'mysql_stats_percentiles',
187
+ 'mysql_stats_correlation',
188
+ 'mysql_stats_distribution',
189
+ 'mysql_stats_time_series',
190
+ 'mysql_stats_regression',
191
+ 'mysql_stats_sampling',
192
+ 'mysql_stats_histogram'
193
+ ],
194
+ spatial: [
195
+ 'mysql_spatial_create_column',
196
+ 'mysql_spatial_create_index',
197
+ 'mysql_spatial_point',
198
+ 'mysql_spatial_polygon',
199
+ 'mysql_spatial_distance',
200
+ 'mysql_spatial_distance_sphere',
201
+ 'mysql_spatial_contains',
202
+ 'mysql_spatial_within',
203
+ 'mysql_spatial_intersection',
204
+ 'mysql_spatial_buffer',
205
+ 'mysql_spatial_transform',
206
+ 'mysql_spatial_geojson'
207
+ ],
208
+ security: [
209
+ 'mysql_security_audit',
210
+ 'mysql_security_firewall_status',
211
+ 'mysql_security_firewall_rules',
212
+ 'mysql_security_mask_data',
213
+ 'mysql_security_password_validate',
214
+ 'mysql_security_ssl_status',
215
+ 'mysql_security_user_privileges',
216
+ 'mysql_security_sensitive_tables',
217
+ 'mysql_security_encryption_status'
218
+ ],
219
+ cluster: [
220
+ 'mysql_gr_status',
221
+ 'mysql_gr_members',
222
+ 'mysql_gr_primary',
223
+ 'mysql_gr_transactions',
224
+ 'mysql_gr_flow_control',
225
+ 'mysql_cluster_status',
226
+ 'mysql_cluster_instances',
227
+ 'mysql_cluster_topology',
228
+ 'mysql_cluster_router_status',
229
+ 'mysql_cluster_switchover'
230
+ ],
231
+ roles: [
232
+ 'mysql_role_list',
233
+ 'mysql_role_create',
234
+ 'mysql_role_drop',
235
+ 'mysql_role_grants',
236
+ 'mysql_role_grant',
237
+ 'mysql_role_assign',
238
+ 'mysql_role_revoke',
239
+ 'mysql_user_roles'
240
+ ],
241
+ docstore: [
242
+ 'mysql_doc_list_collections',
243
+ 'mysql_doc_create_collection',
244
+ 'mysql_doc_drop_collection',
245
+ 'mysql_doc_find',
246
+ 'mysql_doc_add',
247
+ 'mysql_doc_modify',
248
+ 'mysql_doc_remove',
249
+ 'mysql_doc_create_index',
250
+ 'mysql_doc_collection_info'
251
+ ]
252
+ };
253
+ /**
254
+ * Meta-groups that expand to multiple tool groups.
255
+ * These provide shortcuts for common use cases.
256
+ *
257
+ * STRICT LIMIT: NO group may exceed 50 tools.
258
+ *
259
+ * Tool counts (verified):
260
+ * starter: 38
261
+ * essential: 15
262
+ * dev-power: 45 (core:8 + schema:10 + performance:8 + stats:8 + fulltext:4 + transactions:7)
263
+ * ai-data: 44 (core:8 + json:17 + docstore:9 + text:6 + fulltext:4)
264
+ * ai-spatial: 43 (core:8 + spatial:12 + stats:8 + performance:8 + transactions:7)
265
+ * dba-monitor: 35 (core:8 + monitoring:7 + performance:8 + sysschema:8 + optimization:4)
266
+ * dba-manage: 33 (core:8 + admin:6 + backup:4 + replication:5 + partitioning:4 + events:6)
267
+ * dba-secure: 42 (core:8 + security:9 + roles:8 + cluster:10 + transactions:7)
268
+ * base-core: 48 (core:8 + json:17 + transactions:7 + text:6 + schema:10)
269
+ * base-advanced: 39 (docstore:9 + spatial:12 + stats:8 + fulltext:4 + events:6)
270
+ * ecosystem: 31
271
+ */
272
+ export const META_GROUPS = {
273
+ // 1. General Use
274
+ starter: ['core', 'json', 'transactions', 'text'],
275
+ essential: ['core', 'transactions'],
276
+ 'dev-power': ['core', 'schema', 'performance', 'stats', 'fulltext', 'transactions'],
277
+ // 2. AI Workloads
278
+ 'ai-data': ['core', 'json', 'docstore', 'text', 'fulltext'],
279
+ 'ai-spatial': ['core', 'spatial', 'stats', 'performance', 'transactions'],
280
+ // 3. DBA Workloads
281
+ 'dba-monitor': ['core', 'monitoring', 'performance', 'sysschema', 'optimization'],
282
+ 'dba-manage': ['core', 'admin', 'backup', 'replication', 'partitioning', 'events'],
283
+ 'dba-secure': ['core', 'security', 'roles', 'cluster', 'transactions'],
284
+ // 4. Base Blocks (Building Blocks)
285
+ 'base-core': ['core', 'json', 'transactions', 'text', 'schema'],
286
+ 'base-advanced': ['docstore', 'spatial', 'stats', 'fulltext', 'events'],
287
+ // 5. Ecosystem
288
+ ecosystem: ['router', 'proxysql', 'shell']
289
+ };
290
+ //# sourceMappingURL=ToolConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolConstants.js","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"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"}