mongodb-mcp-server 0.1.3 → 0.3.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 (758) hide show
  1. package/README.md +149 -32
  2. package/dist/cjs/common/atlas/accessListUtils.d.ts +15 -0
  3. package/dist/cjs/common/atlas/accessListUtils.d.ts.map +1 -0
  4. package/dist/cjs/common/atlas/accessListUtils.js +53 -0
  5. package/dist/cjs/common/atlas/accessListUtils.js.map +1 -0
  6. package/dist/cjs/common/atlas/apiClient.d.ts +235 -0
  7. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -0
  8. package/dist/cjs/common/atlas/apiClient.js +439 -0
  9. package/dist/cjs/common/atlas/apiClient.js.map +1 -0
  10. package/dist/cjs/common/atlas/apiClientError.d.ts +11 -0
  11. package/dist/cjs/common/atlas/apiClientError.d.ts.map +1 -0
  12. package/{src/common/atlas/apiClientError.ts → dist/cjs/common/atlas/apiClientError.js} +20 -38
  13. package/dist/cjs/common/atlas/apiClientError.js.map +1 -0
  14. package/dist/cjs/common/atlas/cluster.d.ts +14 -0
  15. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -0
  16. package/dist/cjs/common/atlas/cluster.js +75 -0
  17. package/dist/cjs/common/atlas/cluster.js.map +1 -0
  18. package/dist/cjs/common/atlas/roles.d.ts +8 -0
  19. package/dist/cjs/common/atlas/roles.d.ts.map +1 -0
  20. package/dist/cjs/common/atlas/roles.js +28 -0
  21. package/dist/cjs/common/atlas/roles.js.map +1 -0
  22. package/dist/cjs/common/config.d.ts +37 -0
  23. package/dist/cjs/common/config.d.ts.map +1 -0
  24. package/dist/cjs/common/config.js +282 -0
  25. package/dist/cjs/common/config.js.map +1 -0
  26. package/dist/cjs/common/connectionManager.d.ts +74 -0
  27. package/dist/cjs/common/connectionManager.d.ts.map +1 -0
  28. package/dist/cjs/common/connectionManager.js +225 -0
  29. package/dist/cjs/common/connectionManager.js.map +1 -0
  30. package/dist/cjs/common/errors.d.ts +10 -0
  31. package/dist/cjs/common/errors.d.ts.map +1 -0
  32. package/dist/cjs/common/errors.js +17 -0
  33. package/dist/cjs/common/errors.js.map +1 -0
  34. package/dist/cjs/common/exportsManager.d.ts +86 -0
  35. package/dist/cjs/common/exportsManager.d.ts.map +1 -0
  36. package/dist/cjs/common/exportsManager.js +288 -0
  37. package/dist/cjs/common/exportsManager.js.map +1 -0
  38. package/dist/cjs/common/logger.d.ts +118 -0
  39. package/dist/cjs/common/logger.d.ts.map +1 -0
  40. package/dist/cjs/common/logger.js +267 -0
  41. package/dist/cjs/common/logger.js.map +1 -0
  42. package/dist/cjs/common/managedTimeout.d.ts +6 -0
  43. package/dist/cjs/common/managedTimeout.d.ts.map +1 -0
  44. package/dist/cjs/common/managedTimeout.js +23 -0
  45. package/dist/cjs/common/managedTimeout.js.map +1 -0
  46. package/dist/cjs/common/packageInfo.d.ts +5 -0
  47. package/dist/cjs/common/packageInfo.d.ts.map +1 -0
  48. package/dist/cjs/common/packageInfo.js +9 -0
  49. package/dist/cjs/common/packageInfo.js.map +1 -0
  50. package/dist/cjs/common/session.d.ts +42 -0
  51. package/dist/cjs/common/session.d.ts.map +1 -0
  52. package/dist/cjs/common/session.js +106 -0
  53. package/dist/cjs/common/session.js.map +1 -0
  54. package/dist/cjs/common/sessionStore.d.ts +16 -0
  55. package/dist/cjs/common/sessionStore.d.ts.map +1 -0
  56. package/dist/cjs/common/sessionStore.js +99 -0
  57. package/dist/cjs/common/sessionStore.js.map +1 -0
  58. package/dist/cjs/helpers/connectionOptions.d.ts +25 -0
  59. package/dist/cjs/helpers/connectionOptions.d.ts.map +1 -0
  60. package/dist/cjs/helpers/connectionOptions.js +46 -0
  61. package/dist/cjs/helpers/connectionOptions.js.map +1 -0
  62. package/dist/cjs/helpers/container.d.ts +2 -0
  63. package/dist/cjs/helpers/container.d.ts.map +1 -0
  64. package/dist/cjs/helpers/container.js +34 -0
  65. package/dist/cjs/helpers/container.js.map +1 -0
  66. package/dist/cjs/helpers/deviceId.d.ts +24 -0
  67. package/dist/cjs/helpers/deviceId.d.ts.map +1 -0
  68. package/dist/cjs/helpers/deviceId.js +106 -0
  69. package/dist/cjs/helpers/deviceId.js.map +1 -0
  70. package/dist/cjs/helpers/generatePassword.d.ts +2 -0
  71. package/dist/cjs/helpers/generatePassword.d.ts.map +1 -0
  72. package/dist/cjs/helpers/generatePassword.js +12 -0
  73. package/dist/cjs/helpers/generatePassword.js.map +1 -0
  74. package/dist/cjs/helpers/indexCheck.d.ts +17 -0
  75. package/dist/cjs/helpers/indexCheck.d.ts.map +1 -0
  76. package/{src/helpers/indexCheck.ts → dist/cjs/helpers/indexCheck.js} +19 -34
  77. package/dist/cjs/helpers/indexCheck.js.map +1 -0
  78. package/dist/cjs/index.d.ts +3 -0
  79. package/dist/cjs/index.d.ts.map +1 -0
  80. package/dist/cjs/index.js +133 -0
  81. package/dist/cjs/index.js.map +1 -0
  82. package/dist/cjs/lib.d.ts +8 -0
  83. package/dist/cjs/lib.d.ts.map +1 -0
  84. package/dist/cjs/lib.js +16 -0
  85. package/dist/cjs/lib.js.map +1 -0
  86. package/dist/cjs/package.json +1 -0
  87. package/dist/cjs/resources/common/config.d.ts +10 -0
  88. package/dist/cjs/resources/common/config.d.ts.map +1 -0
  89. package/dist/cjs/resources/common/config.js +46 -0
  90. package/dist/cjs/resources/common/config.js.map +1 -0
  91. package/dist/cjs/resources/common/debug.d.ts +17 -0
  92. package/dist/cjs/resources/common/debug.d.ts.map +1 -0
  93. package/dist/cjs/resources/common/debug.js +67 -0
  94. package/dist/cjs/resources/common/debug.js.map +1 -0
  95. package/dist/cjs/resources/common/exportedData.d.ts +15 -0
  96. package/dist/cjs/resources/common/exportedData.d.ts.map +1 -0
  97. package/dist/cjs/resources/common/exportedData.js +103 -0
  98. package/dist/cjs/resources/common/exportedData.js.map +1 -0
  99. package/dist/cjs/resources/resource.d.ts +44 -0
  100. package/dist/cjs/resources/resource.d.ts.map +1 -0
  101. package/dist/cjs/resources/resource.js +56 -0
  102. package/dist/cjs/resources/resource.js.map +1 -0
  103. package/dist/cjs/resources/resources.d.ts +5 -0
  104. package/dist/cjs/resources/resources.d.ts.map +1 -0
  105. package/dist/cjs/resources/resources.js +8 -0
  106. package/dist/cjs/resources/resources.js.map +1 -0
  107. package/dist/cjs/server.d.ts +40 -0
  108. package/dist/cjs/server.d.ts.map +1 -0
  109. package/dist/cjs/server.js +192 -0
  110. package/dist/cjs/server.js.map +1 -0
  111. package/dist/cjs/telemetry/constants.d.ts +6 -0
  112. package/dist/cjs/telemetry/constants.d.ts.map +1 -0
  113. package/dist/cjs/telemetry/constants.js +16 -0
  114. package/dist/cjs/telemetry/constants.js.map +1 -0
  115. package/dist/cjs/telemetry/eventCache.d.ts +34 -0
  116. package/dist/cjs/telemetry/eventCache.d.ts.map +1 -0
  117. package/{src/telemetry/eventCache.ts → dist/cjs/telemetry/eventCache.js} +14 -19
  118. package/dist/cjs/telemetry/eventCache.js.map +1 -0
  119. package/dist/cjs/telemetry/telemetry.d.ts +50 -0
  120. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -0
  121. package/dist/cjs/telemetry/telemetry.js +145 -0
  122. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  123. package/{src/telemetry/types.ts → dist/cjs/telemetry/types.d.ts} +3 -7
  124. package/dist/cjs/telemetry/types.d.ts.map +1 -0
  125. package/dist/cjs/telemetry/types.js +3 -0
  126. package/dist/{telemetry → cjs/telemetry}/types.js.map +1 -1
  127. package/dist/cjs/tools/atlas/atlasTool.d.ts +18 -0
  128. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -0
  129. package/{src/tools/atlas/atlasTool.ts → dist/cjs/tools/atlas/atlasTool.js} +27 -38
  130. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -0
  131. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +18 -0
  132. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  133. package/dist/cjs/tools/atlas/connect/connectCluster.js +215 -0
  134. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -0
  135. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +18 -0
  136. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -0
  137. package/dist/cjs/tools/atlas/create/createAccessList.js +66 -0
  138. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -0
  139. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +30 -0
  140. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -0
  141. package/dist/cjs/tools/atlas/create/createDBUser.js +80 -0
  142. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -0
  143. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +16 -0
  144. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  145. package/{src/tools/atlas/create/createFreeCluster.ts → dist/cjs/tools/atlas/create/createFreeCluster.js} +23 -20
  146. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -0
  147. package/dist/cjs/tools/atlas/create/createProject.d.ts +15 -0
  148. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -0
  149. package/dist/cjs/tools/atlas/create/createProject.js +60 -0
  150. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -0
  151. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +14 -0
  152. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  153. package/dist/cjs/tools/atlas/read/inspectAccessList.js +43 -0
  154. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -0
  155. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +16 -0
  156. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  157. package/dist/cjs/tools/atlas/read/inspectCluster.js +32 -0
  158. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -0
  159. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +14 -0
  160. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -0
  161. package/dist/cjs/tools/atlas/read/listAlerts.js +46 -0
  162. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -0
  163. package/dist/cjs/tools/atlas/read/listClusters.d.ts +16 -0
  164. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -0
  165. package/dist/cjs/tools/atlas/read/listClusters.js +96 -0
  166. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -0
  167. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +14 -0
  168. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  169. package/dist/cjs/tools/atlas/read/listDBUsers.js +58 -0
  170. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -0
  171. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +11 -0
  172. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -0
  173. package/dist/cjs/tools/atlas/read/listOrgs.js +36 -0
  174. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -0
  175. package/dist/cjs/tools/atlas/read/listProjects.d.ts +15 -0
  176. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -0
  177. package/dist/cjs/tools/atlas/read/listProjects.js +59 -0
  178. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -0
  179. package/dist/{tools/atlas/tools.js → cjs/tools/atlas/tools.d.ts} +3 -16
  180. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -0
  181. package/dist/cjs/tools/atlas/tools.js +30 -0
  182. package/dist/cjs/tools/atlas/tools.js.map +1 -0
  183. package/dist/cjs/tools/mongodb/connect/connect.d.ts +26 -0
  184. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -0
  185. package/dist/cjs/tools/mongodb/connect/connect.js +86 -0
  186. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -0
  187. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +14 -0
  188. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -0
  189. package/dist/cjs/tools/mongodb/create/createCollection.js +27 -0
  190. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -0
  191. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +18 -0
  192. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -0
  193. package/dist/cjs/tools/mongodb/create/createIndex.js +37 -0
  194. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -0
  195. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +16 -0
  196. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -0
  197. package/dist/cjs/tools/mongodb/create/insertMany.js +37 -0
  198. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -0
  199. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +16 -0
  200. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  201. package/dist/cjs/tools/mongodb/delete/deleteMany.js +53 -0
  202. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -0
  203. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +14 -0
  204. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  205. package/dist/cjs/tools/mongodb/delete/dropCollection.js +29 -0
  206. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -0
  207. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  208. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  209. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +29 -0
  210. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -0
  211. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  212. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  213. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +36 -0
  214. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  215. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  216. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  217. package/{src/tools/mongodb/metadata/collectionStorageSize.ts → dist/cjs/tools/mongodb/metadata/collectionStorageSize.js} +21 -28
  218. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  219. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +13 -0
  220. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  221. package/dist/cjs/tools/mongodb/metadata/dbStats.js +29 -0
  222. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -0
  223. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +89 -0
  224. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -0
  225. package/dist/cjs/tools/mongodb/metadata/explain.js +80 -0
  226. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -0
  227. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +13 -0
  228. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  229. package/dist/cjs/tools/mongodb/metadata/listCollections.js +35 -0
  230. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -0
  231. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  232. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  233. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +25 -0
  234. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -0
  235. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +15 -0
  236. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -0
  237. package/dist/cjs/tools/mongodb/metadata/logs.js +49 -0
  238. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -0
  239. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +20 -0
  240. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -0
  241. package/dist/cjs/tools/mongodb/mongodbTool.js +130 -0
  242. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -0
  243. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +19 -0
  244. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -0
  245. package/dist/cjs/tools/mongodb/read/aggregate.js +40 -0
  246. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -0
  247. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  248. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  249. package/dist/cjs/tools/mongodb/read/collectionIndexes.js +40 -0
  250. package/dist/cjs/tools/mongodb/read/collectionIndexes.js.map +1 -0
  251. package/dist/cjs/tools/mongodb/read/count.d.ts +19 -0
  252. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -0
  253. package/dist/cjs/tools/mongodb/read/count.js +51 -0
  254. package/dist/cjs/tools/mongodb/read/count.js.map +1 -0
  255. package/dist/cjs/tools/mongodb/read/export.d.ts +72 -0
  256. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -0
  257. package/dist/cjs/tools/mongodb/read/export.js +119 -0
  258. package/dist/cjs/tools/mongodb/read/export.js.map +1 -0
  259. package/dist/cjs/tools/mongodb/read/find.d.ts +26 -0
  260. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -0
  261. package/dist/cjs/tools/mongodb/read/find.js +53 -0
  262. package/dist/cjs/tools/mongodb/read/find.js.map +1 -0
  263. package/{src/tools/mongodb/tools.ts → dist/cjs/tools/mongodb/tools.d.ts} +4 -24
  264. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -0
  265. package/dist/cjs/tools/mongodb/tools.js +48 -0
  266. package/dist/cjs/tools/mongodb/tools.js.map +1 -0
  267. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +18 -0
  268. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  269. package/{src/tools/mongodb/update/renameCollection.ts → dist/cjs/tools/mongodb/update/renameCollection.js} +21 -28
  270. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -0
  271. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +18 -0
  272. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -0
  273. package/{src/tools/mongodb/update/updateMany.ts → dist/cjs/tools/mongodb/update/updateMany.js} +35 -40
  274. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -0
  275. package/dist/cjs/tools/tool.d.ts +49 -0
  276. package/dist/cjs/tools/tool.d.ts.map +1 -0
  277. package/{src/tools/tool.ts → dist/cjs/tools/tool.js} +90 -103
  278. package/dist/cjs/tools/tool.js.map +1 -0
  279. package/dist/cjs/transports/base.d.ts +16 -0
  280. package/dist/cjs/transports/base.d.ts.map +1 -0
  281. package/dist/cjs/transports/base.js +71 -0
  282. package/dist/cjs/transports/base.js.map +1 -0
  283. package/dist/cjs/transports/stdio.d.ts +19 -0
  284. package/dist/cjs/transports/stdio.d.ts.map +1 -0
  285. package/dist/cjs/transports/stdio.js +69 -0
  286. package/dist/cjs/transports/stdio.js.map +1 -0
  287. package/dist/cjs/transports/streamableHttp.d.ts +13 -0
  288. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -0
  289. package/dist/cjs/transports/streamableHttp.js +220 -0
  290. package/dist/cjs/transports/streamableHttp.js.map +1 -0
  291. package/dist/esm/common/atlas/accessListUtils.d.ts +15 -0
  292. package/dist/esm/common/atlas/accessListUtils.d.ts.map +1 -0
  293. package/dist/esm/common/atlas/accessListUtils.js +48 -0
  294. package/dist/esm/common/atlas/accessListUtils.js.map +1 -0
  295. package/dist/esm/common/atlas/apiClient.d.ts +235 -0
  296. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -0
  297. package/dist/{common → esm/common}/atlas/apiClient.js +133 -21
  298. package/dist/esm/common/atlas/apiClient.js.map +1 -0
  299. package/dist/esm/common/atlas/apiClientError.d.ts +11 -0
  300. package/dist/esm/common/atlas/apiClientError.d.ts.map +1 -0
  301. package/dist/esm/common/atlas/apiClientError.js.map +1 -0
  302. package/dist/esm/common/atlas/cluster.d.ts +14 -0
  303. package/dist/esm/common/atlas/cluster.d.ts.map +1 -0
  304. package/dist/{common → esm/common}/atlas/cluster.js +8 -4
  305. package/dist/esm/common/atlas/cluster.js.map +1 -0
  306. package/dist/esm/common/atlas/roles.d.ts +8 -0
  307. package/dist/esm/common/atlas/roles.d.ts.map +1 -0
  308. package/dist/esm/common/atlas/roles.js +25 -0
  309. package/dist/esm/common/atlas/roles.js.map +1 -0
  310. package/dist/esm/common/config.d.ts +37 -0
  311. package/dist/esm/common/config.d.ts.map +1 -0
  312. package/dist/esm/common/config.js +274 -0
  313. package/dist/esm/common/config.js.map +1 -0
  314. package/dist/esm/common/connectionManager.d.ts +74 -0
  315. package/dist/esm/common/connectionManager.d.ts.map +1 -0
  316. package/dist/esm/common/connectionManager.js +218 -0
  317. package/dist/esm/common/connectionManager.js.map +1 -0
  318. package/dist/esm/common/errors.d.ts +10 -0
  319. package/dist/esm/common/errors.d.ts.map +1 -0
  320. package/dist/esm/common/errors.js.map +1 -0
  321. package/dist/esm/common/exportsManager.d.ts +86 -0
  322. package/dist/esm/common/exportsManager.d.ts.map +1 -0
  323. package/dist/esm/common/exportsManager.js +278 -0
  324. package/dist/esm/common/exportsManager.js.map +1 -0
  325. package/dist/esm/common/logger.d.ts +118 -0
  326. package/dist/esm/common/logger.d.ts.map +1 -0
  327. package/dist/esm/common/logger.js +255 -0
  328. package/dist/esm/common/logger.js.map +1 -0
  329. package/dist/esm/common/managedTimeout.d.ts +6 -0
  330. package/dist/esm/common/managedTimeout.d.ts.map +1 -0
  331. package/dist/esm/common/managedTimeout.js +20 -0
  332. package/dist/esm/common/managedTimeout.js.map +1 -0
  333. package/dist/esm/common/packageInfo.d.ts +5 -0
  334. package/dist/esm/common/packageInfo.d.ts.map +1 -0
  335. package/dist/esm/common/packageInfo.js +6 -0
  336. package/dist/esm/common/packageInfo.js.map +1 -0
  337. package/dist/esm/common/session.d.ts +42 -0
  338. package/dist/esm/common/session.d.ts.map +1 -0
  339. package/dist/esm/common/session.js +99 -0
  340. package/dist/esm/common/session.js.map +1 -0
  341. package/dist/esm/common/sessionStore.d.ts +16 -0
  342. package/dist/esm/common/sessionStore.d.ts.map +1 -0
  343. package/dist/esm/common/sessionStore.js +95 -0
  344. package/dist/esm/common/sessionStore.js.map +1 -0
  345. package/dist/esm/helpers/connectionOptions.d.ts +25 -0
  346. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -0
  347. package/dist/esm/helpers/connectionOptions.js +39 -0
  348. package/dist/esm/helpers/connectionOptions.js.map +1 -0
  349. package/dist/esm/helpers/container.d.ts +2 -0
  350. package/dist/esm/helpers/container.d.ts.map +1 -0
  351. package/dist/esm/helpers/container.js +28 -0
  352. package/dist/esm/helpers/container.js.map +1 -0
  353. package/dist/esm/helpers/deviceId.d.ts +24 -0
  354. package/dist/esm/helpers/deviceId.d.ts.map +1 -0
  355. package/dist/esm/helpers/deviceId.js +69 -0
  356. package/dist/esm/helpers/deviceId.js.map +1 -0
  357. package/dist/esm/helpers/generatePassword.d.ts +2 -0
  358. package/dist/esm/helpers/generatePassword.d.ts.map +1 -0
  359. package/dist/esm/helpers/generatePassword.js.map +1 -0
  360. package/dist/esm/helpers/indexCheck.d.ts +17 -0
  361. package/dist/esm/helpers/indexCheck.d.ts.map +1 -0
  362. package/dist/{helpers → esm/helpers}/indexCheck.js +1 -1
  363. package/dist/esm/helpers/indexCheck.js.map +1 -0
  364. package/dist/esm/index.d.ts +3 -0
  365. package/dist/esm/index.d.ts.map +1 -0
  366. package/dist/esm/index.js +128 -0
  367. package/dist/esm/index.js.map +1 -0
  368. package/dist/esm/lib.d.ts +8 -0
  369. package/dist/esm/lib.d.ts.map +1 -0
  370. package/dist/esm/lib.js +7 -0
  371. package/dist/esm/lib.js.map +1 -0
  372. package/dist/esm/package.json +1 -0
  373. package/dist/esm/resources/common/config.d.ts +10 -0
  374. package/dist/esm/resources/common/config.d.ts.map +1 -0
  375. package/dist/esm/resources/common/config.js +42 -0
  376. package/dist/esm/resources/common/config.js.map +1 -0
  377. package/dist/esm/resources/common/debug.d.ts +17 -0
  378. package/dist/esm/resources/common/debug.d.ts.map +1 -0
  379. package/dist/esm/resources/common/debug.js +63 -0
  380. package/dist/esm/resources/common/debug.js.map +1 -0
  381. package/dist/esm/resources/common/exportedData.d.ts +15 -0
  382. package/dist/esm/resources/common/exportedData.d.ts.map +1 -0
  383. package/dist/esm/resources/common/exportedData.js +99 -0
  384. package/dist/esm/resources/common/exportedData.js.map +1 -0
  385. package/dist/esm/resources/resource.d.ts +44 -0
  386. package/dist/esm/resources/resource.d.ts.map +1 -0
  387. package/dist/esm/resources/resource.js +52 -0
  388. package/dist/esm/resources/resource.js.map +1 -0
  389. package/dist/esm/resources/resources.d.ts +5 -0
  390. package/dist/esm/resources/resources.d.ts.map +1 -0
  391. package/dist/esm/resources/resources.js +5 -0
  392. package/dist/esm/resources/resources.js.map +1 -0
  393. package/dist/esm/server.d.ts +40 -0
  394. package/dist/esm/server.d.ts.map +1 -0
  395. package/dist/{server.js → esm/server.js} +83 -40
  396. package/dist/esm/server.js.map +1 -0
  397. package/dist/esm/telemetry/constants.d.ts +6 -0
  398. package/dist/esm/telemetry/constants.d.ts.map +1 -0
  399. package/dist/{telemetry → esm/telemetry}/constants.js +1 -1
  400. package/dist/esm/telemetry/constants.js.map +1 -0
  401. package/dist/esm/telemetry/eventCache.d.ts +34 -0
  402. package/dist/esm/telemetry/eventCache.d.ts.map +1 -0
  403. package/dist/esm/telemetry/eventCache.js.map +1 -0
  404. package/dist/esm/telemetry/telemetry.d.ts +50 -0
  405. package/dist/esm/telemetry/telemetry.d.ts.map +1 -0
  406. package/dist/{telemetry → esm/telemetry}/telemetry.js +42 -37
  407. package/dist/esm/telemetry/telemetry.js.map +1 -0
  408. package/dist/esm/telemetry/types.d.ts +70 -0
  409. package/dist/esm/telemetry/types.d.ts.map +1 -0
  410. package/dist/esm/telemetry/types.js.map +1 -0
  411. package/dist/esm/tools/atlas/atlasTool.d.ts +18 -0
  412. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -0
  413. package/dist/{tools → esm/tools}/atlas/atlasTool.js +8 -4
  414. package/dist/esm/tools/atlas/atlasTool.js.map +1 -0
  415. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +18 -0
  416. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  417. package/dist/esm/tools/atlas/connect/connectCluster.js +211 -0
  418. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -0
  419. package/dist/esm/tools/atlas/create/createAccessList.d.ts +18 -0
  420. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -0
  421. package/dist/{tools → esm/tools}/atlas/create/createAccessList.js +9 -10
  422. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -0
  423. package/dist/esm/tools/atlas/create/createDBUser.d.ts +30 -0
  424. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -0
  425. package/dist/{tools → esm/tools}/atlas/create/createDBUser.js +4 -2
  426. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -0
  427. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +16 -0
  428. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  429. package/dist/{tools → esm/tools}/atlas/create/createFreeCluster.js +2 -0
  430. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -0
  431. package/dist/esm/tools/atlas/create/createProject.d.ts +15 -0
  432. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -0
  433. package/dist/esm/tools/atlas/create/createProject.js.map +1 -0
  434. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +14 -0
  435. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  436. package/dist/{tools → esm/tools}/atlas/read/inspectAccessList.js +12 -13
  437. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -0
  438. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +16 -0
  439. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  440. package/dist/{tools → esm/tools}/atlas/read/inspectCluster.js +3 -7
  441. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -0
  442. package/dist/esm/tools/atlas/read/listAlerts.d.ts +14 -0
  443. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -0
  444. package/dist/{tools → esm/tools}/atlas/read/listAlerts.js +2 -1
  445. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -0
  446. package/dist/esm/tools/atlas/read/listClusters.d.ts +16 -0
  447. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -0
  448. package/dist/{tools → esm/tools}/atlas/read/listClusters.js +6 -12
  449. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -0
  450. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +14 -0
  451. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  452. package/dist/{tools → esm/tools}/atlas/read/listDBUsers.js +5 -2
  453. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -0
  454. package/dist/esm/tools/atlas/read/listOrgs.d.ts +11 -0
  455. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -0
  456. package/dist/{tools → esm/tools}/atlas/read/listOrgs.js +6 -3
  457. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -0
  458. package/dist/esm/tools/atlas/read/listProjects.d.ts +15 -0
  459. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -0
  460. package/dist/{tools → esm/tools}/atlas/read/listProjects.js +8 -3
  461. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -0
  462. package/dist/esm/tools/atlas/tools.d.ts +14 -0
  463. package/dist/esm/tools/atlas/tools.d.ts.map +1 -0
  464. package/{src/tools/atlas/tools.ts → dist/esm/tools/atlas/tools.js} +2 -2
  465. package/dist/esm/tools/atlas/tools.js.map +1 -0
  466. package/dist/esm/tools/mongodb/connect/connect.d.ts +26 -0
  467. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -0
  468. package/dist/{tools/mongodb/metadata → esm/tools/mongodb/connect}/connect.js +11 -5
  469. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -0
  470. package/dist/esm/tools/mongodb/create/createCollection.d.ts +14 -0
  471. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -0
  472. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -0
  473. package/dist/esm/tools/mongodb/create/createIndex.d.ts +18 -0
  474. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -0
  475. package/dist/{tools → esm/tools}/mongodb/create/createIndex.js +1 -1
  476. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -0
  477. package/dist/esm/tools/mongodb/create/insertMany.d.ts +16 -0
  478. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -0
  479. package/dist/{tools → esm/tools}/mongodb/create/insertMany.js +1 -1
  480. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -0
  481. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +16 -0
  482. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  483. package/dist/{tools → esm/tools}/mongodb/delete/deleteMany.js +2 -1
  484. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -0
  485. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +14 -0
  486. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  487. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -0
  488. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  489. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  490. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -0
  491. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  492. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  493. package/dist/{tools → esm/tools}/mongodb/metadata/collectionSchema.js +2 -10
  494. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  495. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  496. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  497. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  498. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -0
  499. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  500. package/dist/{tools → esm/tools}/mongodb/metadata/dbStats.js +2 -10
  501. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -0
  502. package/dist/esm/tools/mongodb/metadata/explain.d.ts +89 -0
  503. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -0
  504. package/dist/{tools → esm/tools}/mongodb/metadata/explain.js +3 -11
  505. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -0
  506. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +13 -0
  507. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  508. package/dist/{tools → esm/tools}/mongodb/metadata/listCollections.js +3 -7
  509. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -0
  510. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  511. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  512. package/dist/{tools → esm/tools}/mongodb/metadata/listDatabases.js +4 -6
  513. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -0
  514. package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -0
  515. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -0
  516. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -0
  517. package/dist/esm/tools/mongodb/mongodbTool.d.ts +20 -0
  518. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -0
  519. package/dist/esm/tools/mongodb/mongodbTool.js +126 -0
  520. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -0
  521. package/dist/esm/tools/mongodb/read/aggregate.d.ts +19 -0
  522. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -0
  523. package/dist/{tools → esm/tools}/mongodb/read/aggregate.js +4 -15
  524. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -0
  525. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  526. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  527. package/dist/{tools → esm/tools}/mongodb/read/collectionIndexes.js +6 -12
  528. package/dist/esm/tools/mongodb/read/collectionIndexes.js.map +1 -0
  529. package/dist/esm/tools/mongodb/read/count.d.ts +19 -0
  530. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -0
  531. package/dist/{tools → esm/tools}/mongodb/read/count.js +2 -1
  532. package/dist/esm/tools/mongodb/read/count.js.map +1 -0
  533. package/dist/esm/tools/mongodb/read/export.d.ts +72 -0
  534. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -0
  535. package/dist/esm/tools/mongodb/read/export.js +112 -0
  536. package/dist/esm/tools/mongodb/read/export.js.map +1 -0
  537. package/dist/esm/tools/mongodb/read/find.d.ts +26 -0
  538. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -0
  539. package/dist/{tools → esm/tools}/mongodb/read/find.js +10 -18
  540. package/dist/esm/tools/mongodb/read/find.js.map +1 -0
  541. package/dist/esm/tools/mongodb/tools.d.ts +23 -0
  542. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -0
  543. package/dist/{tools → esm/tools}/mongodb/tools.js +3 -1
  544. package/dist/esm/tools/mongodb/tools.js.map +1 -0
  545. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -0
  546. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  547. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -0
  548. package/dist/esm/tools/mongodb/update/updateMany.d.ts +18 -0
  549. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -0
  550. package/dist/{tools → esm/tools}/mongodb/update/updateMany.js +4 -2
  551. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -0
  552. package/dist/esm/tools/tool.d.ts +49 -0
  553. package/dist/esm/tools/tool.d.ts.map +1 -0
  554. package/dist/{tools → esm/tools}/tool.js +55 -9
  555. package/dist/esm/tools/tool.js.map +1 -0
  556. package/dist/esm/transports/base.d.ts +16 -0
  557. package/dist/esm/transports/base.d.ts.map +1 -0
  558. package/dist/esm/transports/base.js +67 -0
  559. package/dist/esm/transports/base.js.map +1 -0
  560. package/dist/esm/transports/stdio.d.ts +19 -0
  561. package/dist/esm/transports/stdio.d.ts.map +1 -0
  562. package/dist/{helpers/EJsonTransport.js → esm/transports/stdio.js} +27 -2
  563. package/dist/esm/transports/stdio.js.map +1 -0
  564. package/dist/esm/transports/streamableHttp.d.ts +13 -0
  565. package/dist/esm/transports/streamableHttp.d.ts.map +1 -0
  566. package/dist/esm/transports/streamableHttp.js +213 -0
  567. package/dist/esm/transports/streamableHttp.js.map +1 -0
  568. package/dist/index.js +1 -51
  569. package/package.json +84 -41
  570. package/.dockerignore +0 -11
  571. package/.github/CODEOWNERS +0 -1
  572. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -48
  573. package/.github/dependabot.yml +0 -10
  574. package/.github/pull_request_template.md +0 -5
  575. package/.github/workflows/check-pr-title.yml +0 -29
  576. package/.github/workflows/check.yml +0 -58
  577. package/.github/workflows/code_health.yaml +0 -94
  578. package/.github/workflows/code_health_fork.yaml +0 -50
  579. package/.github/workflows/codeql.yml +0 -34
  580. package/.github/workflows/docker.yaml +0 -57
  581. package/.github/workflows/prepare_release.yaml +0 -53
  582. package/.github/workflows/publish.yaml +0 -73
  583. package/.github/workflows/stale.yml +0 -32
  584. package/.prettierignore +0 -5
  585. package/.prettierrc.json +0 -37
  586. package/.smithery/Dockerfile +0 -30
  587. package/.smithery/smithery.yaml +0 -73
  588. package/.vscode/extensions.json +0 -9
  589. package/.vscode/launch.json +0 -17
  590. package/.vscode/settings.json +0 -11
  591. package/CONTRIBUTING.md +0 -185
  592. package/Dockerfile +0 -10
  593. package/dist/common/atlas/apiClient.js.map +0 -1
  594. package/dist/common/atlas/apiClientError.js.map +0 -1
  595. package/dist/common/atlas/cluster.js.map +0 -1
  596. package/dist/common/atlas/generatePassword.js.map +0 -1
  597. package/dist/config.js +0 -83
  598. package/dist/config.js.map +0 -1
  599. package/dist/errors.js.map +0 -1
  600. package/dist/helpers/EJsonTransport.js.map +0 -1
  601. package/dist/helpers/connectionOptions.js +0 -10
  602. package/dist/helpers/connectionOptions.js.map +0 -1
  603. package/dist/helpers/indexCheck.js.map +0 -1
  604. package/dist/helpers/packageInfo.js +0 -6
  605. package/dist/helpers/packageInfo.js.map +0 -1
  606. package/dist/index.js.map +0 -1
  607. package/dist/logger.js +0 -150
  608. package/dist/logger.js.map +0 -1
  609. package/dist/server.js.map +0 -1
  610. package/dist/session.js +0 -84
  611. package/dist/session.js.map +0 -1
  612. package/dist/telemetry/constants.js.map +0 -1
  613. package/dist/telemetry/eventCache.js.map +0 -1
  614. package/dist/telemetry/telemetry.js.map +0 -1
  615. package/dist/tools/atlas/atlasTool.js.map +0 -1
  616. package/dist/tools/atlas/create/createAccessList.js.map +0 -1
  617. package/dist/tools/atlas/create/createDBUser.js.map +0 -1
  618. package/dist/tools/atlas/create/createFreeCluster.js.map +0 -1
  619. package/dist/tools/atlas/create/createProject.js.map +0 -1
  620. package/dist/tools/atlas/metadata/connectCluster.js +0 -100
  621. package/dist/tools/atlas/metadata/connectCluster.js.map +0 -1
  622. package/dist/tools/atlas/read/inspectAccessList.js.map +0 -1
  623. package/dist/tools/atlas/read/inspectCluster.js.map +0 -1
  624. package/dist/tools/atlas/read/listAlerts.js.map +0 -1
  625. package/dist/tools/atlas/read/listClusters.js.map +0 -1
  626. package/dist/tools/atlas/read/listDBUsers.js.map +0 -1
  627. package/dist/tools/atlas/read/listOrgs.js.map +0 -1
  628. package/dist/tools/atlas/read/listProjects.js.map +0 -1
  629. package/dist/tools/atlas/tools.js.map +0 -1
  630. package/dist/tools/mongodb/create/createCollection.js.map +0 -1
  631. package/dist/tools/mongodb/create/createIndex.js.map +0 -1
  632. package/dist/tools/mongodb/create/insertMany.js.map +0 -1
  633. package/dist/tools/mongodb/delete/deleteMany.js.map +0 -1
  634. package/dist/tools/mongodb/delete/dropCollection.js.map +0 -1
  635. package/dist/tools/mongodb/delete/dropDatabase.js.map +0 -1
  636. package/dist/tools/mongodb/metadata/collectionSchema.js.map +0 -1
  637. package/dist/tools/mongodb/metadata/collectionStorageSize.js.map +0 -1
  638. package/dist/tools/mongodb/metadata/connect.js.map +0 -1
  639. package/dist/tools/mongodb/metadata/dbStats.js.map +0 -1
  640. package/dist/tools/mongodb/metadata/explain.js.map +0 -1
  641. package/dist/tools/mongodb/metadata/listCollections.js.map +0 -1
  642. package/dist/tools/mongodb/metadata/listDatabases.js.map +0 -1
  643. package/dist/tools/mongodb/metadata/logs.js.map +0 -1
  644. package/dist/tools/mongodb/mongodbTool.js +0 -84
  645. package/dist/tools/mongodb/mongodbTool.js.map +0 -1
  646. package/dist/tools/mongodb/read/aggregate.js.map +0 -1
  647. package/dist/tools/mongodb/read/collectionIndexes.js.map +0 -1
  648. package/dist/tools/mongodb/read/count.js.map +0 -1
  649. package/dist/tools/mongodb/read/find.js.map +0 -1
  650. package/dist/tools/mongodb/tools.js.map +0 -1
  651. package/dist/tools/mongodb/update/renameCollection.js.map +0 -1
  652. package/dist/tools/mongodb/update/updateMany.js.map +0 -1
  653. package/dist/tools/tool.js.map +0 -1
  654. package/eslint.config.js +0 -55
  655. package/global.d.ts +0 -1
  656. package/jest.config.cjs +0 -22
  657. package/scripts/apply.ts +0 -135
  658. package/scripts/filter.ts +0 -76
  659. package/scripts/generate.sh +0 -11
  660. package/src/common/atlas/apiClient.ts +0 -387
  661. package/src/common/atlas/cluster.ts +0 -94
  662. package/src/common/atlas/generatePassword.ts +0 -10
  663. package/src/common/atlas/openapi.d.ts +0 -7486
  664. package/src/config.ts +0 -125
  665. package/src/errors.ts +0 -14
  666. package/src/helpers/EJsonTransport.ts +0 -47
  667. package/src/helpers/connectionOptions.ts +0 -20
  668. package/src/helpers/packageInfo.ts +0 -6
  669. package/src/index.ts +0 -58
  670. package/src/logger.ts +0 -190
  671. package/src/server.ts +0 -206
  672. package/src/session.ts +0 -120
  673. package/src/telemetry/constants.ts +0 -14
  674. package/src/telemetry/telemetry.ts +0 -194
  675. package/src/tools/atlas/create/createAccessList.ts +0 -76
  676. package/src/tools/atlas/create/createDBUser.ts +0 -88
  677. package/src/tools/atlas/create/createProject.ts +0 -68
  678. package/src/tools/atlas/metadata/connectCluster.ts +0 -121
  679. package/src/tools/atlas/read/inspectAccessList.ts +0 -42
  680. package/src/tools/atlas/read/inspectCluster.ts +0 -34
  681. package/src/tools/atlas/read/listAlerts.ts +0 -45
  682. package/src/tools/atlas/read/listClusters.ts +0 -113
  683. package/src/tools/atlas/read/listDBUsers.ts +0 -60
  684. package/src/tools/atlas/read/listOrgs.ts +0 -32
  685. package/src/tools/atlas/read/listProjects.ts +0 -56
  686. package/src/tools/mongodb/create/createCollection.ts +0 -26
  687. package/src/tools/mongodb/create/createIndex.ts +0 -41
  688. package/src/tools/mongodb/create/insertMany.ts +0 -40
  689. package/src/tools/mongodb/delete/deleteMany.ts +0 -57
  690. package/src/tools/mongodb/delete/dropCollection.ts +0 -27
  691. package/src/tools/mongodb/delete/dropDatabase.ts +0 -26
  692. package/src/tools/mongodb/metadata/collectionSchema.ts +0 -43
  693. package/src/tools/mongodb/metadata/connect.ts +0 -96
  694. package/src/tools/mongodb/metadata/dbStats.ts +0 -35
  695. package/src/tools/mongodb/metadata/explain.ts +0 -103
  696. package/src/tools/mongodb/metadata/listCollections.ts +0 -38
  697. package/src/tools/mongodb/metadata/listDatabases.ts +0 -25
  698. package/src/tools/mongodb/metadata/logs.ts +0 -55
  699. package/src/tools/mongodb/mongodbTool.ts +0 -100
  700. package/src/tools/mongodb/read/aggregate.ts +0 -56
  701. package/src/tools/mongodb/read/collectionIndexes.ts +0 -48
  702. package/src/tools/mongodb/read/count.ts +0 -54
  703. package/src/tools/mongodb/read/find.ts +0 -70
  704. package/src/types/mongodb-connection-string-url.d.ts +0 -69
  705. package/src/types/mongodb-redact.d.ts +0 -4
  706. package/tests/integration/helpers.ts +0 -265
  707. package/tests/integration/inMemoryTransport.ts +0 -59
  708. package/tests/integration/indexCheck.test.ts +0 -463
  709. package/tests/integration/server.test.ts +0 -87
  710. package/tests/integration/telemetry.test.ts +0 -28
  711. package/tests/integration/tools/atlas/accessLists.test.ts +0 -98
  712. package/tests/integration/tools/atlas/alerts.test.ts +0 -42
  713. package/tests/integration/tools/atlas/atlasHelpers.ts +0 -108
  714. package/tests/integration/tools/atlas/clusters.test.ts +0 -185
  715. package/tests/integration/tools/atlas/dbUsers.test.ts +0 -105
  716. package/tests/integration/tools/atlas/orgs.test.ts +0 -24
  717. package/tests/integration/tools/atlas/projects.test.ts +0 -78
  718. package/tests/integration/tools/mongodb/create/createCollection.test.ts +0 -95
  719. package/tests/integration/tools/mongodb/create/createIndex.test.ts +0 -203
  720. package/tests/integration/tools/mongodb/create/insertMany.test.ts +0 -98
  721. package/tests/integration/tools/mongodb/delete/deleteMany.test.ts +0 -154
  722. package/tests/integration/tools/mongodb/delete/dropCollection.test.ts +0 -69
  723. package/tests/integration/tools/mongodb/delete/dropDatabase.test.ts +0 -80
  724. package/tests/integration/tools/mongodb/metadata/collectionSchema.test.ts +0 -154
  725. package/tests/integration/tools/mongodb/metadata/collectionStorageSize.test.ts +0 -86
  726. package/tests/integration/tools/mongodb/metadata/connect.test.ts +0 -128
  727. package/tests/integration/tools/mongodb/metadata/dbStats.test.ts +0 -104
  728. package/tests/integration/tools/mongodb/metadata/explain.test.ts +0 -171
  729. package/tests/integration/tools/mongodb/metadata/listCollections.test.ts +0 -76
  730. package/tests/integration/tools/mongodb/metadata/listDatabases.test.ts +0 -77
  731. package/tests/integration/tools/mongodb/metadata/logs.test.ts +0 -83
  732. package/tests/integration/tools/mongodb/mongodbHelpers.ts +0 -171
  733. package/tests/integration/tools/mongodb/read/aggregate.test.ts +0 -114
  734. package/tests/integration/tools/mongodb/read/collectionIndexes.test.ts +0 -99
  735. package/tests/integration/tools/mongodb/read/count.test.ts +0 -95
  736. package/tests/integration/tools/mongodb/read/find.test.ts +0 -210
  737. package/tests/integration/tools/mongodb/update/renameCollection.test.ts +0 -194
  738. package/tests/integration/tools/mongodb/update/updateMany.test.ts +0 -238
  739. package/tests/unit/EJsonTransport.test.ts +0 -71
  740. package/tests/unit/apiClient.test.ts +0 -193
  741. package/tests/unit/indexCheck.test.ts +0 -149
  742. package/tests/unit/session.test.ts +0 -65
  743. package/tests/unit/telemetry.test.ts +0 -322
  744. package/tsconfig.build.json +0 -20
  745. package/tsconfig.jest.json +0 -9
  746. package/tsconfig.json +0 -9
  747. /package/dist/{common → esm/common}/atlas/apiClientError.js +0 -0
  748. /package/dist/{errors.js → esm/common/errors.js} +0 -0
  749. /package/dist/{common/atlas → esm/helpers}/generatePassword.js +0 -0
  750. /package/dist/{telemetry → esm/telemetry}/eventCache.js +0 -0
  751. /package/dist/{telemetry → esm/telemetry}/types.js +0 -0
  752. /package/dist/{tools → esm/tools}/atlas/create/createProject.js +0 -0
  753. /package/dist/{tools → esm/tools}/mongodb/create/createCollection.js +0 -0
  754. /package/dist/{tools → esm/tools}/mongodb/delete/dropCollection.js +0 -0
  755. /package/dist/{tools → esm/tools}/mongodb/delete/dropDatabase.js +0 -0
  756. /package/dist/{tools → esm/tools}/mongodb/metadata/collectionStorageSize.js +0 -0
  757. /package/dist/{tools → esm/tools}/mongodb/metadata/logs.js +0 -0
  758. /package/dist/{tools → esm/tools}/mongodb/update/renameCollection.js +0 -0
@@ -1,42 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { AtlasToolBase } from "../atlasTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
-
6
- export class InspectAccessListTool extends AtlasToolBase {
7
- protected name = "atlas-inspect-access-list";
8
- protected description = "Inspect Ip/CIDR ranges with access to your MongoDB Atlas clusters.";
9
- protected operationType: OperationType = "read";
10
- protected argsShape = {
11
- projectId: z.string().describe("Atlas project ID"),
12
- };
13
-
14
- protected async execute({ projectId }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
15
- const accessList = await this.session.apiClient.listProjectIpAccessLists({
16
- params: {
17
- path: {
18
- groupId: projectId,
19
- },
20
- },
21
- });
22
-
23
- if (!accessList?.results?.length) {
24
- throw new Error("No access list entries found.");
25
- }
26
-
27
- return {
28
- content: [
29
- {
30
- type: "text",
31
- text: `IP ADDRESS | CIDR | COMMENT
32
- ------|------|------
33
- ${(accessList.results || [])
34
- .map((entry) => {
35
- return `${entry.ipAddress} | ${entry.cidrBlock} | ${entry.comment}`;
36
- })
37
- .join("\n")}`,
38
- },
39
- ],
40
- };
41
- }
42
- }
@@ -1,34 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { AtlasToolBase } from "../atlasTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
- import { Cluster, inspectCluster } from "../../../common/atlas/cluster.js";
6
-
7
- export class InspectClusterTool extends AtlasToolBase {
8
- protected name = "atlas-inspect-cluster";
9
- protected description = "Inspect MongoDB Atlas cluster";
10
- protected operationType: OperationType = "read";
11
- protected argsShape = {
12
- projectId: z.string().describe("Atlas project ID"),
13
- clusterName: z.string().describe("Atlas cluster name"),
14
- };
15
-
16
- protected async execute({ projectId, clusterName }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
17
- const cluster = await inspectCluster(this.session.apiClient, projectId, clusterName);
18
-
19
- return this.formatOutput(cluster);
20
- }
21
-
22
- private formatOutput(formattedCluster: Cluster): CallToolResult {
23
- return {
24
- content: [
25
- {
26
- type: "text",
27
- text: `Cluster Name | Cluster Type | Tier | State | MongoDB Version | Connection String
28
- ----------------|----------------|----------------|----------------|----------------|----------------
29
- ${formattedCluster.name || "Unknown"} | ${formattedCluster.instanceType} | ${formattedCluster.instanceSize || "N/A"} | ${formattedCluster.state || "UNKNOWN"} | ${formattedCluster.mongoDBVersion || "N/A"} | ${formattedCluster.connectionString || "N/A"}`,
30
- },
31
- ],
32
- };
33
- }
34
- }
@@ -1,45 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { AtlasToolBase } from "../atlasTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
-
6
- export class ListAlertsTool extends AtlasToolBase {
7
- protected name = "atlas-list-alerts";
8
- protected description = "List MongoDB Atlas alerts";
9
- protected operationType: OperationType = "read";
10
- protected argsShape = {
11
- projectId: z.string().describe("Atlas project ID to list alerts for"),
12
- };
13
-
14
- protected async execute({ projectId }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
15
- const data = await this.session.apiClient.listAlerts({
16
- params: {
17
- path: {
18
- groupId: projectId,
19
- },
20
- },
21
- });
22
-
23
- if (!data?.results?.length) {
24
- return { content: [{ type: "text", text: "No alerts found in your MongoDB Atlas project." }] };
25
- }
26
-
27
- // Format alerts as a table
28
- const output =
29
- `Alert ID | Status | Created | Updated | Type | Comment
30
- ----------|---------|----------|----------|------|--------
31
- ` +
32
- data.results
33
- .map((alert) => {
34
- const created = alert.created ? new Date(alert.created).toLocaleString() : "N/A";
35
- const updated = alert.updated ? new Date(alert.updated).toLocaleString() : "N/A";
36
- const comment = alert.acknowledgementComment ?? "N/A";
37
- return `${alert.id} | ${alert.status} | ${created} | ${updated} | ${alert.eventTypeName} | ${comment}`;
38
- })
39
- .join("\n");
40
-
41
- return {
42
- content: [{ type: "text", text: output }],
43
- };
44
- }
45
- }
@@ -1,113 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { AtlasToolBase } from "../atlasTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
- import {
6
- PaginatedClusterDescription20240805,
7
- PaginatedOrgGroupView,
8
- Group,
9
- PaginatedFlexClusters20241113,
10
- } from "../../../common/atlas/openapi.js";
11
- import { formatCluster, formatFlexCluster } from "../../../common/atlas/cluster.js";
12
-
13
- export class ListClustersTool extends AtlasToolBase {
14
- protected name = "atlas-list-clusters";
15
- protected description = "List MongoDB Atlas clusters";
16
- protected operationType: OperationType = "read";
17
- protected argsShape = {
18
- projectId: z.string().describe("Atlas project ID to filter clusters").optional(),
19
- };
20
-
21
- protected async execute({ projectId }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
22
- if (!projectId) {
23
- const data = await this.session.apiClient.listClustersForAllProjects();
24
-
25
- return this.formatAllClustersTable(data);
26
- } else {
27
- const project = await this.session.apiClient.getProject({
28
- params: {
29
- path: {
30
- groupId: projectId,
31
- },
32
- },
33
- });
34
-
35
- if (!project?.id) {
36
- throw new Error(`Project with ID "${projectId}" not found.`);
37
- }
38
-
39
- const data = await this.session.apiClient.listClusters({
40
- params: {
41
- path: {
42
- groupId: project.id || "",
43
- },
44
- },
45
- });
46
-
47
- return this.formatClustersTable(project, data);
48
- }
49
- }
50
-
51
- private formatAllClustersTable(clusters?: PaginatedOrgGroupView): CallToolResult {
52
- if (!clusters?.results?.length) {
53
- throw new Error("No clusters found.");
54
- }
55
- const formattedClusters = clusters.results
56
- .map((result) => {
57
- return (result.clusters || []).map((cluster) => {
58
- return { ...result, ...cluster, clusters: undefined };
59
- });
60
- })
61
- .flat();
62
- if (!formattedClusters.length) {
63
- throw new Error("No clusters found.");
64
- }
65
- const rows = formattedClusters
66
- .map((cluster) => {
67
- return `${cluster.groupName} (${cluster.groupId}) | ${cluster.name}`;
68
- })
69
- .join("\n");
70
- return {
71
- content: [
72
- {
73
- type: "text",
74
- text: `Project | Cluster Name
75
- ----------------|----------------
76
- ${rows}`,
77
- },
78
- ],
79
- };
80
- }
81
-
82
- private formatClustersTable(
83
- project: Group,
84
- clusters?: PaginatedClusterDescription20240805,
85
- flexClusters?: PaginatedFlexClusters20241113
86
- ): CallToolResult {
87
- // Check if both traditional clusters and flex clusters are absent
88
- if (!clusters?.results?.length && !flexClusters?.results?.length) {
89
- throw new Error("No clusters found.");
90
- }
91
- const formattedClusters = clusters?.results?.map((cluster) => formatCluster(cluster)) || [];
92
- const formattedFlexClusters = flexClusters?.results?.map((cluster) => formatFlexCluster(cluster)) || [];
93
- const rows = [...formattedClusters, ...formattedFlexClusters]
94
- .map((formattedCluster) => {
95
- return `${formattedCluster.name || "Unknown"} | ${formattedCluster.instanceType} | ${formattedCluster.instanceSize || "N/A"} | ${formattedCluster.state || "UNKNOWN"} | ${formattedCluster.mongoDBVersion || "N/A"} | ${formattedCluster.connectionString || "N/A"}`;
96
- })
97
- .join("\n");
98
- return {
99
- content: [
100
- {
101
- type: "text",
102
- text: `Here are your MongoDB Atlas clusters in project "${project.name}" (${project.id}):`,
103
- },
104
- {
105
- type: "text",
106
- text: `Cluster Name | Cluster Type | Tier | State | MongoDB Version | Connection String
107
- ----------------|----------------|----------------|----------------|----------------|----------------
108
- ${rows}`,
109
- },
110
- ],
111
- };
112
- }
113
- }
@@ -1,60 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { AtlasToolBase } from "../atlasTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
- import { DatabaseUserRole, UserScope } from "../../../common/atlas/openapi.js";
6
-
7
- export class ListDBUsersTool extends AtlasToolBase {
8
- protected name = "atlas-list-db-users";
9
- protected description = "List MongoDB Atlas database users";
10
- protected operationType: OperationType = "read";
11
- protected argsShape = {
12
- projectId: z.string().describe("Atlas project ID to filter DB users"),
13
- };
14
-
15
- protected async execute({ projectId }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
16
- const data = await this.session.apiClient.listDatabaseUsers({
17
- params: {
18
- path: {
19
- groupId: projectId,
20
- },
21
- },
22
- });
23
-
24
- if (!data?.results?.length) {
25
- throw new Error("No database users found.");
26
- }
27
-
28
- const output =
29
- `Username | Roles | Scopes
30
- ----------------|----------------|----------------
31
- ` +
32
- data.results
33
- .map((user) => {
34
- return `${user.username} | ${formatRoles(user.roles)} | ${formatScopes(user.scopes)}`;
35
- })
36
- .join("\n");
37
- return {
38
- content: [{ type: "text", text: output }],
39
- };
40
- }
41
- }
42
-
43
- function formatRoles(roles?: DatabaseUserRole[]) {
44
- if (!roles?.length) {
45
- return "N/A";
46
- }
47
- return roles
48
- .map(
49
- (role) =>
50
- `${role.roleName}${role.databaseName ? `@${role.databaseName}${role.collectionName ? `:${role.collectionName}` : ""}` : ""}`
51
- )
52
- .join(", ");
53
- }
54
-
55
- function formatScopes(scopes?: UserScope[]) {
56
- if (!scopes?.length) {
57
- return "All";
58
- }
59
- return scopes.map((scope) => `${scope.type}:${scope.name}`).join(", ");
60
- }
@@ -1,32 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { AtlasToolBase } from "../atlasTool.js";
3
- import { OperationType } from "../../tool.js";
4
-
5
- export class ListOrganizationsTool extends AtlasToolBase {
6
- protected name = "atlas-list-orgs";
7
- protected description = "List MongoDB Atlas organizations";
8
- protected operationType: OperationType = "read";
9
- protected argsShape = {};
10
-
11
- protected async execute(): Promise<CallToolResult> {
12
- const data = await this.session.apiClient.listOrganizations();
13
-
14
- if (!data?.results?.length) {
15
- throw new Error("No projects found in your MongoDB Atlas account.");
16
- }
17
-
18
- // Format projects as a table
19
- const output =
20
- `Organization Name | Organization ID
21
- ----------------| ----------------
22
- ` +
23
- data.results
24
- .map((org) => {
25
- return `${org.name} | ${org.id}`;
26
- })
27
- .join("\n");
28
- return {
29
- content: [{ type: "text", text: output }],
30
- };
31
- }
32
- }
@@ -1,56 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { AtlasToolBase } from "../atlasTool.js";
3
- import { OperationType } from "../../tool.js";
4
- import { z } from "zod";
5
- import { ToolArgs } from "../../tool.js";
6
-
7
- export class ListProjectsTool extends AtlasToolBase {
8
- protected name = "atlas-list-projects";
9
- protected description = "List MongoDB Atlas projects";
10
- protected operationType: OperationType = "read";
11
- protected argsShape = {
12
- orgId: z.string().describe("Atlas organization ID to filter projects").optional(),
13
- };
14
-
15
- protected async execute({ orgId }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
16
- const orgData = await this.session.apiClient.listOrganizations();
17
-
18
- if (!orgData?.results?.length) {
19
- throw new Error("No organizations found in your MongoDB Atlas account.");
20
- }
21
-
22
- const orgs: Record<string, string> = orgData.results
23
- .map((org) => [org.id || "", org.name])
24
- .filter(([id]) => id)
25
- .reduce((acc, [id, name]) => ({ ...acc, [id as string]: name }), {});
26
-
27
- const data = orgId
28
- ? await this.session.apiClient.listOrganizationProjects({
29
- params: {
30
- path: {
31
- orgId,
32
- },
33
- },
34
- })
35
- : await this.session.apiClient.listProjects();
36
-
37
- if (!data?.results?.length) {
38
- throw new Error("No projects found in your MongoDB Atlas account.");
39
- }
40
-
41
- // Format projects as a table
42
- const rows = data.results
43
- .map((project) => {
44
- const createdAt = project.created ? new Date(project.created).toLocaleString() : "N/A";
45
- const orgName = orgs[project.orgId] ?? "N/A";
46
- return `${project.name} | ${project.id} | ${orgName} | ${project.orgId} | ${createdAt}`;
47
- })
48
- .join("\n");
49
- const formattedProjects = `Project Name | Project ID | Organization Name | Organization ID | Created At
50
- ----------------| ----------------| ----------------| ----------------| ----------------
51
- ${rows}`;
52
- return {
53
- content: [{ type: "text", text: formattedProjects }],
54
- };
55
- }
56
- }
@@ -1,26 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
- import { OperationType, ToolArgs } from "../../tool.js";
4
-
5
- export class CreateCollectionTool extends MongoDBToolBase {
6
- protected name = "create-collection";
7
- protected description =
8
- "Creates a new collection in a database. If the database doesn't exist, it will be created automatically.";
9
- protected argsShape = DbOperationArgs;
10
-
11
- protected operationType: OperationType = "create";
12
-
13
- protected async execute({ collection, database }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
14
- const provider = await this.ensureConnected();
15
- await provider.createCollection(database, collection);
16
-
17
- return {
18
- content: [
19
- {
20
- type: "text",
21
- text: `Collection "${collection}" created in database "${database}".`,
22
- },
23
- ],
24
- };
25
- }
26
- }
@@ -1,41 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
- import { IndexDirection } from "mongodb";
6
-
7
- export class CreateIndexTool extends MongoDBToolBase {
8
- protected name = "create-index";
9
- protected description = "Create an index for a collection";
10
- protected argsShape = {
11
- ...DbOperationArgs,
12
- keys: z.record(z.string(), z.custom<IndexDirection>()).describe("The index definition"),
13
- name: z.string().optional().describe("The name of the index"),
14
- };
15
-
16
- protected operationType: OperationType = "create";
17
-
18
- protected async execute({
19
- database,
20
- collection,
21
- keys,
22
- name,
23
- }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
24
- const provider = await this.ensureConnected();
25
- const indexes = await provider.createIndexes(database, collection, [
26
- {
27
- key: keys,
28
- name,
29
- },
30
- ]);
31
-
32
- return {
33
- content: [
34
- {
35
- text: `Created the index "${indexes[0]}" on collection "${collection}" in database "${database}"`,
36
- type: "text",
37
- },
38
- ],
39
- };
40
- }
41
- }
@@ -1,40 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
-
6
- export class InsertManyTool extends MongoDBToolBase {
7
- protected name = "insert-many";
8
- protected description = "Insert an array of documents into a MongoDB collection";
9
- protected argsShape = {
10
- ...DbOperationArgs,
11
- documents: z
12
- .array(z.record(z.string(), z.unknown()).describe("An individual MongoDB document"))
13
- .describe(
14
- "The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()"
15
- ),
16
- };
17
- protected operationType: OperationType = "create";
18
-
19
- protected async execute({
20
- database,
21
- collection,
22
- documents,
23
- }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
24
- const provider = await this.ensureConnected();
25
- const result = await provider.insertMany(database, collection, documents);
26
-
27
- return {
28
- content: [
29
- {
30
- text: `Inserted \`${result.insertedCount}\` document(s) into collection "${collection}"`,
31
- type: "text",
32
- },
33
- {
34
- text: `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`,
35
- type: "text",
36
- },
37
- ],
38
- };
39
- }
40
- }
@@ -1,57 +0,0 @@
1
- import { z } from "zod";
2
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
4
- import { ToolArgs, OperationType } from "../../tool.js";
5
- import { checkIndexUsage } from "../../../helpers/indexCheck.js";
6
-
7
- export class DeleteManyTool extends MongoDBToolBase {
8
- protected name = "delete-many";
9
- protected description = "Removes all documents that match the filter from a MongoDB collection";
10
- protected argsShape = {
11
- ...DbOperationArgs,
12
- filter: z
13
- .record(z.string(), z.unknown())
14
- .optional()
15
- .describe(
16
- "The query filter, specifying the deletion criteria. Matches the syntax of the filter argument of db.collection.deleteMany()"
17
- ),
18
- };
19
- protected operationType: OperationType = "delete";
20
-
21
- protected async execute({
22
- database,
23
- collection,
24
- filter,
25
- }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
26
- const provider = await this.ensureConnected();
27
-
28
- // Check if delete operation uses an index if enabled
29
- if (this.config.indexCheck) {
30
- await checkIndexUsage(provider, database, collection, "deleteMany", async () => {
31
- return provider.runCommandWithCheck(database, {
32
- explain: {
33
- delete: collection,
34
- deletes: [
35
- {
36
- q: filter || {},
37
- limit: 0, // 0 means delete all matching documents
38
- },
39
- ],
40
- },
41
- verbosity: "queryPlanner",
42
- });
43
- });
44
- }
45
-
46
- const result = await provider.deleteMany(database, collection, filter);
47
-
48
- return {
49
- content: [
50
- {
51
- text: `Deleted \`${result.deletedCount}\` document(s) from collection "${collection}"`,
52
- type: "text",
53
- },
54
- ],
55
- };
56
- }
57
- }
@@ -1,27 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
- import { ToolArgs, OperationType } from "../../tool.js";
4
-
5
- export class DropCollectionTool extends MongoDBToolBase {
6
- protected name = "drop-collection";
7
- protected description =
8
- "Removes a collection or view from the database. The method also removes any indexes associated with the dropped collection.";
9
- protected argsShape = {
10
- ...DbOperationArgs,
11
- };
12
- protected operationType: OperationType = "delete";
13
-
14
- protected async execute({ database, collection }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
15
- const provider = await this.ensureConnected();
16
- const result = await provider.dropCollection(database, collection);
17
-
18
- return {
19
- content: [
20
- {
21
- text: `${result ? "Successfully dropped" : "Failed to drop"} collection "${collection}" from database "${database}"`,
22
- type: "text",
23
- },
24
- ],
25
- };
26
- }
27
- }
@@ -1,26 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
- import { ToolArgs, OperationType } from "../../tool.js";
4
-
5
- export class DropDatabaseTool extends MongoDBToolBase {
6
- protected name = "drop-database";
7
- protected description = "Removes the specified database, deleting the associated data files";
8
- protected argsShape = {
9
- database: DbOperationArgs.database,
10
- };
11
- protected operationType: OperationType = "delete";
12
-
13
- protected async execute({ database }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
14
- const provider = await this.ensureConnected();
15
- const result = await provider.dropDatabase(database);
16
-
17
- return {
18
- content: [
19
- {
20
- text: `${result.ok ? "Successfully dropped" : "Failed to drop"} database "${database}"`,
21
- type: "text",
22
- },
23
- ],
24
- };
25
- }
26
- }
@@ -1,43 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
- import { ToolArgs, OperationType } from "../../tool.js";
4
- import { getSimplifiedSchema } from "mongodb-schema";
5
-
6
- export class CollectionSchemaTool extends MongoDBToolBase {
7
- protected name = "collection-schema";
8
- protected description = "Describe the schema for a collection";
9
- protected argsShape = DbOperationArgs;
10
-
11
- protected operationType: OperationType = "metadata";
12
-
13
- protected async execute({ database, collection }: ToolArgs<typeof DbOperationArgs>): Promise<CallToolResult> {
14
- const provider = await this.ensureConnected();
15
- const documents = await provider.find(database, collection, {}, { limit: 5 }).toArray();
16
- const schema = await getSimplifiedSchema(documents);
17
-
18
- const fieldsCount = Object.entries(schema).length;
19
- if (fieldsCount === 0) {
20
- return {
21
- content: [
22
- {
23
- text: `Could not deduce the schema for "${database}.${collection}". This may be because it doesn't exist or is empty.`,
24
- type: "text",
25
- },
26
- ],
27
- };
28
- }
29
-
30
- return {
31
- content: [
32
- {
33
- text: `Found ${fieldsCount} fields in the schema for "${database}.${collection}"`,
34
- type: "text",
35
- },
36
- {
37
- text: JSON.stringify(schema),
38
- type: "text",
39
- },
40
- ],
41
- };
42
- }
43
- }