mongodb-mcp-server 0.2.0 → 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 (862) hide show
  1. package/README.md +53 -23
  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/dist/cjs/common/atlas/apiClientError.js +54 -0
  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/dist/cjs/helpers/indexCheck.js +68 -0
  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/dist/cjs/telemetry/eventCache.js +57 -0
  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/dist/cjs/telemetry/types.d.ts +70 -0
  124. package/dist/cjs/telemetry/types.d.ts.map +1 -0
  125. package/dist/cjs/telemetry/types.js +3 -0
  126. package/dist/cjs/telemetry/types.js.map +1 -0
  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/dist/cjs/tools/atlas/atlasTool.js +92 -0
  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/dist/cjs/tools/atlas/create/createFreeCluster.js +59 -0
  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/cjs/tools/atlas/tools.d.ts +14 -0
  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/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +61 -0
  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/dist/cjs/tools/mongodb/tools.d.ts +23 -0
  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/dist/cjs/tools/mongodb/update/renameCollection.js +59 -0
  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/dist/cjs/tools/mongodb/update/updateMany.js +78 -0
  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/dist/cjs/tools/tool.js +201 -0
  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/esm/common/atlas/apiClient.js +399 -0
  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/esm/common/atlas/cluster.js +70 -0
  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.map +1 -0
  332. package/dist/esm/common/packageInfo.d.ts +5 -0
  333. package/dist/esm/common/packageInfo.d.ts.map +1 -0
  334. package/dist/esm/common/packageInfo.js +6 -0
  335. package/dist/esm/common/packageInfo.js.map +1 -0
  336. package/dist/esm/common/session.d.ts +42 -0
  337. package/dist/esm/common/session.d.ts.map +1 -0
  338. package/dist/esm/common/session.js +99 -0
  339. package/dist/esm/common/session.js.map +1 -0
  340. package/dist/esm/common/sessionStore.d.ts +16 -0
  341. package/dist/esm/common/sessionStore.d.ts.map +1 -0
  342. package/dist/esm/common/sessionStore.js +95 -0
  343. package/dist/esm/common/sessionStore.js.map +1 -0
  344. package/dist/esm/helpers/connectionOptions.d.ts +25 -0
  345. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -0
  346. package/dist/esm/helpers/connectionOptions.js +39 -0
  347. package/dist/esm/helpers/connectionOptions.js.map +1 -0
  348. package/dist/esm/helpers/container.d.ts +2 -0
  349. package/dist/esm/helpers/container.d.ts.map +1 -0
  350. package/dist/esm/helpers/container.js.map +1 -0
  351. package/dist/esm/helpers/deviceId.d.ts +24 -0
  352. package/dist/esm/helpers/deviceId.d.ts.map +1 -0
  353. package/dist/esm/helpers/deviceId.js +69 -0
  354. package/dist/esm/helpers/deviceId.js.map +1 -0
  355. package/dist/esm/helpers/generatePassword.d.ts +2 -0
  356. package/dist/esm/helpers/generatePassword.d.ts.map +1 -0
  357. package/dist/esm/helpers/generatePassword.js.map +1 -0
  358. package/dist/esm/helpers/indexCheck.d.ts +17 -0
  359. package/dist/esm/helpers/indexCheck.d.ts.map +1 -0
  360. package/dist/esm/helpers/indexCheck.js.map +1 -0
  361. package/dist/esm/index.d.ts +3 -0
  362. package/dist/esm/index.d.ts.map +1 -0
  363. package/dist/esm/index.js +128 -0
  364. package/dist/esm/index.js.map +1 -0
  365. package/dist/esm/lib.d.ts +8 -0
  366. package/dist/esm/lib.d.ts.map +1 -0
  367. package/dist/esm/lib.js +7 -0
  368. package/dist/esm/lib.js.map +1 -0
  369. package/dist/esm/package.json +1 -0
  370. package/dist/esm/resources/common/config.d.ts +10 -0
  371. package/dist/esm/resources/common/config.d.ts.map +1 -0
  372. package/dist/esm/resources/common/config.js +42 -0
  373. package/dist/esm/resources/common/config.js.map +1 -0
  374. package/dist/esm/resources/common/debug.d.ts +17 -0
  375. package/dist/esm/resources/common/debug.d.ts.map +1 -0
  376. package/dist/esm/resources/common/debug.js +63 -0
  377. package/dist/esm/resources/common/debug.js.map +1 -0
  378. package/dist/esm/resources/common/exportedData.d.ts +15 -0
  379. package/dist/esm/resources/common/exportedData.d.ts.map +1 -0
  380. package/dist/esm/resources/common/exportedData.js +99 -0
  381. package/dist/esm/resources/common/exportedData.js.map +1 -0
  382. package/dist/esm/resources/resource.d.ts +44 -0
  383. package/dist/esm/resources/resource.d.ts.map +1 -0
  384. package/dist/esm/resources/resource.js +52 -0
  385. package/dist/esm/resources/resource.js.map +1 -0
  386. package/dist/esm/resources/resources.d.ts +5 -0
  387. package/dist/esm/resources/resources.d.ts.map +1 -0
  388. package/dist/esm/resources/resources.js +5 -0
  389. package/dist/esm/resources/resources.js.map +1 -0
  390. package/dist/esm/server.d.ts +40 -0
  391. package/dist/esm/server.d.ts.map +1 -0
  392. package/dist/esm/server.js +185 -0
  393. package/dist/esm/server.js.map +1 -0
  394. package/dist/esm/telemetry/constants.d.ts +6 -0
  395. package/dist/esm/telemetry/constants.d.ts.map +1 -0
  396. package/dist/esm/telemetry/constants.js.map +1 -0
  397. package/dist/esm/telemetry/eventCache.d.ts +34 -0
  398. package/dist/esm/telemetry/eventCache.d.ts.map +1 -0
  399. package/dist/esm/telemetry/eventCache.js.map +1 -0
  400. package/dist/esm/telemetry/telemetry.d.ts +50 -0
  401. package/dist/esm/telemetry/telemetry.d.ts.map +1 -0
  402. package/dist/esm/telemetry/telemetry.js +141 -0
  403. package/dist/esm/telemetry/telemetry.js.map +1 -0
  404. package/dist/esm/telemetry/types.d.ts +70 -0
  405. package/dist/esm/telemetry/types.d.ts.map +1 -0
  406. package/dist/esm/telemetry/types.js.map +1 -0
  407. package/dist/esm/tools/atlas/atlasTool.d.ts +18 -0
  408. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -0
  409. package/dist/esm/tools/atlas/atlasTool.js +88 -0
  410. package/dist/esm/tools/atlas/atlasTool.js.map +1 -0
  411. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +18 -0
  412. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  413. package/dist/esm/tools/atlas/connect/connectCluster.js +211 -0
  414. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -0
  415. package/dist/esm/tools/atlas/create/createAccessList.d.ts +18 -0
  416. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -0
  417. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -0
  418. package/dist/esm/tools/atlas/create/createDBUser.d.ts +30 -0
  419. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -0
  420. package/dist/esm/tools/atlas/create/createDBUser.js +76 -0
  421. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -0
  422. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +16 -0
  423. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  424. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -0
  425. package/dist/esm/tools/atlas/create/createProject.d.ts +15 -0
  426. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -0
  427. package/dist/esm/tools/atlas/create/createProject.js.map +1 -0
  428. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +14 -0
  429. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  430. package/dist/esm/tools/atlas/read/inspectAccessList.js +39 -0
  431. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -0
  432. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +16 -0
  433. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  434. package/dist/esm/tools/atlas/read/inspectCluster.js +28 -0
  435. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -0
  436. package/dist/esm/tools/atlas/read/listAlerts.d.ts +14 -0
  437. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -0
  438. package/dist/esm/tools/atlas/read/listAlerts.js +42 -0
  439. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -0
  440. package/dist/esm/tools/atlas/read/listClusters.d.ts +16 -0
  441. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -0
  442. package/dist/esm/tools/atlas/read/listClusters.js +92 -0
  443. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -0
  444. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +14 -0
  445. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  446. package/dist/esm/tools/atlas/read/listDBUsers.js +54 -0
  447. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -0
  448. package/dist/esm/tools/atlas/read/listOrgs.d.ts +11 -0
  449. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -0
  450. package/dist/esm/tools/atlas/read/listOrgs.js +32 -0
  451. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -0
  452. package/dist/esm/tools/atlas/read/listProjects.d.ts +15 -0
  453. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -0
  454. package/dist/esm/tools/atlas/read/listProjects.js +55 -0
  455. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -0
  456. package/dist/esm/tools/atlas/tools.d.ts +14 -0
  457. package/dist/esm/tools/atlas/tools.d.ts.map +1 -0
  458. package/dist/esm/tools/atlas/tools.js.map +1 -0
  459. package/dist/esm/tools/mongodb/connect/connect.d.ts +26 -0
  460. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -0
  461. package/dist/esm/tools/mongodb/connect/connect.js +79 -0
  462. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -0
  463. package/dist/esm/tools/mongodb/create/createCollection.d.ts +14 -0
  464. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -0
  465. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -0
  466. package/dist/esm/tools/mongodb/create/createIndex.d.ts +18 -0
  467. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -0
  468. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -0
  469. package/dist/esm/tools/mongodb/create/insertMany.d.ts +16 -0
  470. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -0
  471. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -0
  472. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +16 -0
  473. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  474. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -0
  475. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +14 -0
  476. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  477. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -0
  478. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  479. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  480. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -0
  481. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  482. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  483. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +32 -0
  484. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  485. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  486. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  487. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  488. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -0
  489. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  490. package/dist/esm/tools/mongodb/metadata/dbStats.js +25 -0
  491. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -0
  492. package/dist/esm/tools/mongodb/metadata/explain.d.ts +89 -0
  493. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -0
  494. package/dist/esm/tools/mongodb/metadata/explain.js +76 -0
  495. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -0
  496. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +13 -0
  497. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  498. package/dist/esm/tools/mongodb/metadata/listCollections.js +31 -0
  499. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -0
  500. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  501. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  502. package/dist/esm/tools/mongodb/metadata/listDatabases.js +21 -0
  503. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -0
  504. package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -0
  505. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -0
  506. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -0
  507. package/dist/esm/tools/mongodb/mongodbTool.d.ts +20 -0
  508. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -0
  509. package/dist/esm/tools/mongodb/mongodbTool.js +126 -0
  510. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -0
  511. package/dist/esm/tools/mongodb/read/aggregate.d.ts +19 -0
  512. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -0
  513. package/dist/esm/tools/mongodb/read/aggregate.js +36 -0
  514. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -0
  515. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  516. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  517. package/dist/esm/tools/mongodb/read/collectionIndexes.js +36 -0
  518. package/dist/esm/tools/mongodb/read/collectionIndexes.js.map +1 -0
  519. package/dist/esm/tools/mongodb/read/count.d.ts +19 -0
  520. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -0
  521. package/dist/esm/tools/mongodb/read/count.js.map +1 -0
  522. package/dist/esm/tools/mongodb/read/export.d.ts +72 -0
  523. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -0
  524. package/dist/esm/tools/mongodb/read/export.js +112 -0
  525. package/dist/esm/tools/mongodb/read/export.js.map +1 -0
  526. package/dist/esm/tools/mongodb/read/find.d.ts +26 -0
  527. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -0
  528. package/dist/esm/tools/mongodb/read/find.js +49 -0
  529. package/dist/esm/tools/mongodb/read/find.js.map +1 -0
  530. package/dist/esm/tools/mongodb/tools.d.ts +23 -0
  531. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -0
  532. package/dist/esm/tools/mongodb/tools.js +45 -0
  533. package/dist/esm/tools/mongodb/tools.js.map +1 -0
  534. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -0
  535. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  536. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -0
  537. package/dist/esm/tools/mongodb/update/updateMany.d.ts +18 -0
  538. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -0
  539. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -0
  540. package/dist/esm/tools/tool.d.ts +49 -0
  541. package/dist/esm/tools/tool.d.ts.map +1 -0
  542. package/dist/esm/tools/tool.js +196 -0
  543. package/dist/esm/tools/tool.js.map +1 -0
  544. package/dist/esm/transports/base.d.ts +16 -0
  545. package/dist/esm/transports/base.d.ts.map +1 -0
  546. package/dist/esm/transports/base.js +67 -0
  547. package/dist/esm/transports/base.js.map +1 -0
  548. package/dist/esm/transports/stdio.d.ts +19 -0
  549. package/dist/esm/transports/stdio.d.ts.map +1 -0
  550. package/dist/esm/transports/stdio.js +63 -0
  551. package/dist/esm/transports/stdio.js.map +1 -0
  552. package/dist/esm/transports/streamableHttp.d.ts +13 -0
  553. package/dist/esm/transports/streamableHttp.d.ts.map +1 -0
  554. package/dist/esm/transports/streamableHttp.js +213 -0
  555. package/dist/esm/transports/streamableHttp.js.map +1 -0
  556. package/dist/index.js +1 -44
  557. package/package.json +47 -14
  558. package/.dockerignore +0 -11
  559. package/.github/CODEOWNERS +0 -1
  560. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -48
  561. package/.github/dependabot.yml +0 -10
  562. package/.github/pull_request_template.md +0 -5
  563. package/.github/workflows/accuracy-tests.yml +0 -55
  564. package/.github/workflows/check-pr-title.yml +0 -29
  565. package/.github/workflows/check.yml +0 -58
  566. package/.github/workflows/code_health.yaml +0 -94
  567. package/.github/workflows/code_health_fork.yaml +0 -36
  568. package/.github/workflows/codeql.yml +0 -34
  569. package/.github/workflows/dependabot_pr.yaml +0 -26
  570. package/.github/workflows/docker.yaml +0 -57
  571. package/.github/workflows/jira-issue.yml +0 -72
  572. package/.github/workflows/prepare_release.yaml +0 -53
  573. package/.github/workflows/publish.yaml +0 -73
  574. package/.github/workflows/stale.yml +0 -32
  575. package/.prettierignore +0 -5
  576. package/.prettierrc.json +0 -37
  577. package/.smithery/Dockerfile +0 -30
  578. package/.smithery/smithery.yaml +0 -73
  579. package/.vscode/extensions.json +0 -9
  580. package/.vscode/launch.json +0 -27
  581. package/.vscode/settings.json +0 -1
  582. package/CONTRIBUTING.md +0 -185
  583. package/Dockerfile +0 -11
  584. package/dist/common/atlas/accessListUtils.js +0 -36
  585. package/dist/common/atlas/accessListUtils.js.map +0 -1
  586. package/dist/common/atlas/apiClient.js +0 -306
  587. package/dist/common/atlas/apiClient.js.map +0 -1
  588. package/dist/common/atlas/apiClientError.js.map +0 -1
  589. package/dist/common/atlas/cluster.js +0 -66
  590. package/dist/common/atlas/cluster.js.map +0 -1
  591. package/dist/common/config.js +0 -89
  592. package/dist/common/config.js.map +0 -1
  593. package/dist/common/errors.js.map +0 -1
  594. package/dist/common/logger.js +0 -152
  595. package/dist/common/logger.js.map +0 -1
  596. package/dist/common/managedTimeout.js.map +0 -1
  597. package/dist/common/packageInfo.js +0 -6
  598. package/dist/common/packageInfo.js.map +0 -1
  599. package/dist/common/session.js +0 -83
  600. package/dist/common/session.js.map +0 -1
  601. package/dist/common/sessionStore.js +0 -73
  602. package/dist/common/sessionStore.js.map +0 -1
  603. package/dist/helpers/connectionOptions.js +0 -10
  604. package/dist/helpers/connectionOptions.js.map +0 -1
  605. package/dist/helpers/container.js.map +0 -1
  606. package/dist/helpers/generatePassword.js.map +0 -1
  607. package/dist/helpers/indexCheck.js.map +0 -1
  608. package/dist/index.js.map +0 -1
  609. package/dist/server.js +0 -179
  610. package/dist/server.js.map +0 -1
  611. package/dist/telemetry/constants.js.map +0 -1
  612. package/dist/telemetry/eventCache.js.map +0 -1
  613. package/dist/telemetry/telemetry.js +0 -143
  614. package/dist/telemetry/telemetry.js.map +0 -1
  615. package/dist/telemetry/types.js.map +0 -1
  616. package/dist/tools/atlas/atlasTool.js +0 -84
  617. package/dist/tools/atlas/atlasTool.js.map +0 -1
  618. package/dist/tools/atlas/connect/connectCluster.js +0 -198
  619. package/dist/tools/atlas/connect/connectCluster.js.map +0 -1
  620. package/dist/tools/atlas/create/createAccessList.js.map +0 -1
  621. package/dist/tools/atlas/create/createDBUser.js +0 -76
  622. package/dist/tools/atlas/create/createDBUser.js.map +0 -1
  623. package/dist/tools/atlas/create/createFreeCluster.js.map +0 -1
  624. package/dist/tools/atlas/create/createProject.js.map +0 -1
  625. package/dist/tools/atlas/read/inspectAccessList.js +0 -40
  626. package/dist/tools/atlas/read/inspectAccessList.js.map +0 -1
  627. package/dist/tools/atlas/read/inspectCluster.js +0 -32
  628. package/dist/tools/atlas/read/inspectCluster.js.map +0 -1
  629. package/dist/tools/atlas/read/listAlerts.js +0 -41
  630. package/dist/tools/atlas/read/listAlerts.js.map +0 -1
  631. package/dist/tools/atlas/read/listClusters.js +0 -98
  632. package/dist/tools/atlas/read/listClusters.js.map +0 -1
  633. package/dist/tools/atlas/read/listDBUsers.js +0 -51
  634. package/dist/tools/atlas/read/listDBUsers.js.map +0 -1
  635. package/dist/tools/atlas/read/listOrgs.js +0 -29
  636. package/dist/tools/atlas/read/listOrgs.js.map +0 -1
  637. package/dist/tools/atlas/read/listProjects.js +0 -50
  638. package/dist/tools/atlas/read/listProjects.js.map +0 -1
  639. package/dist/tools/atlas/tools.js.map +0 -1
  640. package/dist/tools/mongodb/connect/connect.js +0 -76
  641. package/dist/tools/mongodb/connect/connect.js.map +0 -1
  642. package/dist/tools/mongodb/create/createCollection.js.map +0 -1
  643. package/dist/tools/mongodb/create/createIndex.js.map +0 -1
  644. package/dist/tools/mongodb/create/insertMany.js.map +0 -1
  645. package/dist/tools/mongodb/delete/deleteMany.js.map +0 -1
  646. package/dist/tools/mongodb/delete/dropCollection.js.map +0 -1
  647. package/dist/tools/mongodb/delete/dropDatabase.js.map +0 -1
  648. package/dist/tools/mongodb/metadata/collectionSchema.js +0 -40
  649. package/dist/tools/mongodb/metadata/collectionSchema.js.map +0 -1
  650. package/dist/tools/mongodb/metadata/collectionStorageSize.js.map +0 -1
  651. package/dist/tools/mongodb/metadata/dbStats.js +0 -33
  652. package/dist/tools/mongodb/metadata/dbStats.js.map +0 -1
  653. package/dist/tools/mongodb/metadata/explain.js +0 -84
  654. package/dist/tools/mongodb/metadata/explain.js.map +0 -1
  655. package/dist/tools/mongodb/metadata/listCollections.js +0 -35
  656. package/dist/tools/mongodb/metadata/listCollections.js.map +0 -1
  657. package/dist/tools/mongodb/metadata/listDatabases.js +0 -23
  658. package/dist/tools/mongodb/metadata/listDatabases.js.map +0 -1
  659. package/dist/tools/mongodb/metadata/logs.js.map +0 -1
  660. package/dist/tools/mongodb/mongodbTool.js +0 -111
  661. package/dist/tools/mongodb/mongodbTool.js.map +0 -1
  662. package/dist/tools/mongodb/read/aggregate.js +0 -47
  663. package/dist/tools/mongodb/read/aggregate.js.map +0 -1
  664. package/dist/tools/mongodb/read/collectionIndexes.js +0 -42
  665. package/dist/tools/mongodb/read/collectionIndexes.js.map +0 -1
  666. package/dist/tools/mongodb/read/count.js.map +0 -1
  667. package/dist/tools/mongodb/read/find.js +0 -60
  668. package/dist/tools/mongodb/read/find.js.map +0 -1
  669. package/dist/tools/mongodb/tools.js +0 -43
  670. package/dist/tools/mongodb/tools.js.map +0 -1
  671. package/dist/tools/mongodb/update/renameCollection.js.map +0 -1
  672. package/dist/tools/mongodb/update/updateMany.js.map +0 -1
  673. package/dist/tools/tool.js +0 -153
  674. package/dist/tools/tool.js.map +0 -1
  675. package/dist/transports/base.js +0 -26
  676. package/dist/transports/base.js.map +0 -1
  677. package/dist/transports/stdio.js +0 -60
  678. package/dist/transports/stdio.js.map +0 -1
  679. package/dist/transports/streamableHttp.js +0 -140
  680. package/dist/transports/streamableHttp.js.map +0 -1
  681. package/eslint.config.js +0 -64
  682. package/resources/test-summary-template.html +0 -415
  683. package/scripts/accuracy/generateTestSummary.ts +0 -335
  684. package/scripts/accuracy/runAccuracyTests.sh +0 -45
  685. package/scripts/accuracy/updateAccuracyRunStatus.ts +0 -21
  686. package/scripts/apply.ts +0 -135
  687. package/scripts/filter.ts +0 -76
  688. package/scripts/generate.sh +0 -11
  689. package/src/common/atlas/accessListUtils.ts +0 -54
  690. package/src/common/atlas/apiClient.ts +0 -406
  691. package/src/common/atlas/apiClientError.ts +0 -72
  692. package/src/common/atlas/cluster.ts +0 -94
  693. package/src/common/atlas/openapi.d.ts +0 -7486
  694. package/src/common/config.ts +0 -137
  695. package/src/common/errors.ts +0 -14
  696. package/src/common/logger.ts +0 -188
  697. package/src/common/managedTimeout.ts +0 -27
  698. package/src/common/packageInfo.ts +0 -6
  699. package/src/common/session.ts +0 -118
  700. package/src/common/sessionStore.ts +0 -111
  701. package/src/helpers/connectionOptions.ts +0 -20
  702. package/src/helpers/container.ts +0 -35
  703. package/src/helpers/generatePassword.ts +0 -10
  704. package/src/helpers/indexCheck.ts +0 -83
  705. package/src/index.ts +0 -48
  706. package/src/server.ts +0 -250
  707. package/src/telemetry/constants.ts +0 -14
  708. package/src/telemetry/eventCache.ts +0 -62
  709. package/src/telemetry/telemetry.ts +0 -202
  710. package/src/telemetry/types.ts +0 -76
  711. package/src/tools/atlas/atlasTool.ts +0 -103
  712. package/src/tools/atlas/connect/connectCluster.ts +0 -259
  713. package/src/tools/atlas/create/createAccessList.ts +0 -78
  714. package/src/tools/atlas/create/createDBUser.ts +0 -90
  715. package/src/tools/atlas/create/createFreeCluster.ts +0 -58
  716. package/src/tools/atlas/create/createProject.ts +0 -68
  717. package/src/tools/atlas/read/inspectAccessList.ts +0 -42
  718. package/src/tools/atlas/read/inspectCluster.ts +0 -34
  719. package/src/tools/atlas/read/listAlerts.ts +0 -45
  720. package/src/tools/atlas/read/listClusters.ts +0 -113
  721. package/src/tools/atlas/read/listDBUsers.ts +0 -60
  722. package/src/tools/atlas/read/listOrgs.ts +0 -32
  723. package/src/tools/atlas/read/listProjects.ts +0 -56
  724. package/src/tools/atlas/tools.ts +0 -27
  725. package/src/tools/mongodb/connect/connect.ts +0 -99
  726. package/src/tools/mongodb/create/createCollection.ts +0 -26
  727. package/src/tools/mongodb/create/createIndex.ts +0 -41
  728. package/src/tools/mongodb/create/insertMany.ts +0 -40
  729. package/src/tools/mongodb/delete/deleteMany.ts +0 -58
  730. package/src/tools/mongodb/delete/dropCollection.ts +0 -27
  731. package/src/tools/mongodb/delete/dropDatabase.ts +0 -26
  732. package/src/tools/mongodb/metadata/collectionSchema.ts +0 -43
  733. package/src/tools/mongodb/metadata/collectionStorageSize.ts +0 -68
  734. package/src/tools/mongodb/metadata/dbStats.ts +0 -35
  735. package/src/tools/mongodb/metadata/explain.ts +0 -103
  736. package/src/tools/mongodb/metadata/listCollections.ts +0 -38
  737. package/src/tools/mongodb/metadata/listDatabases.ts +0 -25
  738. package/src/tools/mongodb/metadata/logs.ts +0 -55
  739. package/src/tools/mongodb/mongodbTool.ts +0 -136
  740. package/src/tools/mongodb/read/aggregate.ts +0 -56
  741. package/src/tools/mongodb/read/collectionIndexes.ts +0 -48
  742. package/src/tools/mongodb/read/count.ts +0 -55
  743. package/src/tools/mongodb/read/find.ts +0 -75
  744. package/src/tools/mongodb/tools.ts +0 -43
  745. package/src/tools/mongodb/update/renameCollection.ts +0 -66
  746. package/src/tools/mongodb/update/updateMany.ts +0 -85
  747. package/src/tools/tool.ts +0 -219
  748. package/src/transports/base.ts +0 -34
  749. package/src/transports/stdio.ts +0 -76
  750. package/src/transports/streamableHttp.ts +0 -178
  751. package/src/types/mongodb-connection-string-url.d.ts +0 -69
  752. package/src/types/mongodb-redact.d.ts +0 -4
  753. package/tests/accuracy/aggregate.test.ts +0 -27
  754. package/tests/accuracy/collectionIndexes.test.ts +0 -40
  755. package/tests/accuracy/collectionSchema.test.ts +0 -28
  756. package/tests/accuracy/collectionStorageSize.test.ts +0 -41
  757. package/tests/accuracy/count.test.ts +0 -44
  758. package/tests/accuracy/createCollection.test.ts +0 -46
  759. package/tests/accuracy/createIndex.test.ts +0 -37
  760. package/tests/accuracy/dbStats.test.ts +0 -15
  761. package/tests/accuracy/deleteMany.test.ts +0 -44
  762. package/tests/accuracy/dropCollection.test.ts +0 -74
  763. package/tests/accuracy/dropDatabase.test.ts +0 -41
  764. package/tests/accuracy/explain.test.ts +0 -73
  765. package/tests/accuracy/find.test.ts +0 -114
  766. package/tests/accuracy/insertMany.test.ts +0 -48
  767. package/tests/accuracy/listCollections.test.ts +0 -60
  768. package/tests/accuracy/listDatabases.test.ts +0 -31
  769. package/tests/accuracy/logs.test.ts +0 -28
  770. package/tests/accuracy/renameCollection.test.ts +0 -31
  771. package/tests/accuracy/sdk/accuracyResultStorage/diskStorage.ts +0 -189
  772. package/tests/accuracy/sdk/accuracyResultStorage/getAccuracyResultStorage.ts +0 -11
  773. package/tests/accuracy/sdk/accuracyResultStorage/mongodbStorage.ts +0 -151
  774. package/tests/accuracy/sdk/accuracyResultStorage/resultStorage.ts +0 -117
  775. package/tests/accuracy/sdk/accuracyScorer.ts +0 -93
  776. package/tests/accuracy/sdk/accuracyTestingClient.ts +0 -94
  777. package/tests/accuracy/sdk/agent.ts +0 -56
  778. package/tests/accuracy/sdk/constants.ts +0 -26
  779. package/tests/accuracy/sdk/describeAccuracyTests.ts +0 -126
  780. package/tests/accuracy/sdk/gitInfo.ts +0 -7
  781. package/tests/accuracy/sdk/matcher.ts +0 -193
  782. package/tests/accuracy/sdk/models.ts +0 -95
  783. package/tests/accuracy/test-data-dumps/comics.books.json +0 -417
  784. package/tests/accuracy/test-data-dumps/comics.characters.json +0 -402
  785. package/tests/accuracy/test-data-dumps/mflix.movies.json +0 -496
  786. package/tests/accuracy/test-data-dumps/mflix.shows.json +0 -572
  787. package/tests/accuracy/updateMany.test.ts +0 -42
  788. package/tests/integration/helpers.ts +0 -265
  789. package/tests/integration/inMemoryTransport.ts +0 -59
  790. package/tests/integration/indexCheck.test.ts +0 -464
  791. package/tests/integration/server.test.ts +0 -88
  792. package/tests/integration/telemetry.test.ts +0 -29
  793. package/tests/integration/tools/atlas/accessLists.test.ts +0 -118
  794. package/tests/integration/tools/atlas/alerts.test.ts +0 -43
  795. package/tests/integration/tools/atlas/atlasHelpers.ts +0 -111
  796. package/tests/integration/tools/atlas/clusters.test.ts +0 -237
  797. package/tests/integration/tools/atlas/dbUsers.test.ts +0 -118
  798. package/tests/integration/tools/atlas/orgs.test.ts +0 -25
  799. package/tests/integration/tools/atlas/projects.test.ts +0 -79
  800. package/tests/integration/tools/mongodb/connect/connect.test.ts +0 -159
  801. package/tests/integration/tools/mongodb/create/createCollection.test.ts +0 -96
  802. package/tests/integration/tools/mongodb/create/createIndex.test.ts +0 -204
  803. package/tests/integration/tools/mongodb/create/insertMany.test.ts +0 -99
  804. package/tests/integration/tools/mongodb/delete/deleteMany.test.ts +0 -155
  805. package/tests/integration/tools/mongodb/delete/dropCollection.test.ts +0 -69
  806. package/tests/integration/tools/mongodb/delete/dropDatabase.test.ts +0 -81
  807. package/tests/integration/tools/mongodb/metadata/collectionSchema.test.ts +0 -155
  808. package/tests/integration/tools/mongodb/metadata/collectionStorageSize.test.ts +0 -87
  809. package/tests/integration/tools/mongodb/metadata/dbStats.test.ts +0 -105
  810. package/tests/integration/tools/mongodb/metadata/explain.test.ts +0 -172
  811. package/tests/integration/tools/mongodb/metadata/listCollections.test.ts +0 -77
  812. package/tests/integration/tools/mongodb/metadata/listDatabases.test.ts +0 -78
  813. package/tests/integration/tools/mongodb/metadata/logs.test.ts +0 -84
  814. package/tests/integration/tools/mongodb/mongodbHelpers.ts +0 -235
  815. package/tests/integration/tools/mongodb/read/aggregate.test.ts +0 -115
  816. package/tests/integration/tools/mongodb/read/collectionIndexes.test.ts +0 -100
  817. package/tests/integration/tools/mongodb/read/count.test.ts +0 -96
  818. package/tests/integration/tools/mongodb/read/find.test.ts +0 -211
  819. package/tests/integration/tools/mongodb/update/renameCollection.test.ts +0 -195
  820. package/tests/integration/tools/mongodb/update/updateMany.test.ts +0 -239
  821. package/tests/integration/transports/stdio.test.ts +0 -40
  822. package/tests/integration/transports/streamableHttp.test.ts +0 -56
  823. package/tests/matchers/toIncludeSameMembers.test.ts +0 -59
  824. package/tests/matchers/toIncludeSameMembers.ts +0 -12
  825. package/tests/setup.ts +0 -7
  826. package/tests/unit/accessListUtils.test.ts +0 -39
  827. package/tests/unit/accuracyScorer.test.ts +0 -390
  828. package/tests/unit/common/apiClient.test.ts +0 -193
  829. package/tests/unit/common/managedTimeout.test.ts +0 -67
  830. package/tests/unit/common/session.test.ts +0 -60
  831. package/tests/unit/helpers/indexCheck.test.ts +0 -150
  832. package/tests/unit/telemetry.test.ts +0 -332
  833. package/tests/unit/transports/stdio.test.ts +0 -71
  834. package/tests/vitest.d.ts +0 -11
  835. package/tsconfig.build.json +0 -20
  836. package/tsconfig.json +0 -8
  837. package/tsconfig.test.json +0 -8
  838. package/vitest.config.ts +0 -41
  839. /package/dist/{common → esm/common}/atlas/apiClientError.js +0 -0
  840. /package/dist/{common → esm/common}/errors.js +0 -0
  841. /package/dist/{common → esm/common}/managedTimeout.js +0 -0
  842. /package/dist/{helpers → esm/helpers}/container.js +0 -0
  843. /package/dist/{helpers → esm/helpers}/generatePassword.js +0 -0
  844. /package/dist/{helpers → esm/helpers}/indexCheck.js +0 -0
  845. /package/dist/{telemetry → esm/telemetry}/constants.js +0 -0
  846. /package/dist/{telemetry → esm/telemetry}/eventCache.js +0 -0
  847. /package/dist/{telemetry → esm/telemetry}/types.js +0 -0
  848. /package/dist/{tools → esm/tools}/atlas/create/createAccessList.js +0 -0
  849. /package/dist/{tools → esm/tools}/atlas/create/createFreeCluster.js +0 -0
  850. /package/dist/{tools → esm/tools}/atlas/create/createProject.js +0 -0
  851. /package/dist/{tools → esm/tools}/atlas/tools.js +0 -0
  852. /package/dist/{tools → esm/tools}/mongodb/create/createCollection.js +0 -0
  853. /package/dist/{tools → esm/tools}/mongodb/create/createIndex.js +0 -0
  854. /package/dist/{tools → esm/tools}/mongodb/create/insertMany.js +0 -0
  855. /package/dist/{tools → esm/tools}/mongodb/delete/deleteMany.js +0 -0
  856. /package/dist/{tools → esm/tools}/mongodb/delete/dropCollection.js +0 -0
  857. /package/dist/{tools → esm/tools}/mongodb/delete/dropDatabase.js +0 -0
  858. /package/dist/{tools → esm/tools}/mongodb/metadata/collectionStorageSize.js +0 -0
  859. /package/dist/{tools → esm/tools}/mongodb/metadata/logs.js +0 -0
  860. /package/dist/{tools → esm/tools}/mongodb/read/count.js +0 -0
  861. /package/dist/{tools → esm/tools}/mongodb/update/renameCollection.js +0 -0
  862. /package/dist/{tools → esm/tools}/mongodb/update/updateMany.js +0 -0
@@ -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
- public 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.object({}).passthrough().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
- public 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,58 +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
- public 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
- .object({})
14
- .passthrough()
15
- .optional()
16
- .describe(
17
- "The query filter, specifying the deletion criteria. Matches the syntax of the filter argument of db.collection.deleteMany()"
18
- ),
19
- };
20
- public operationType: OperationType = "delete";
21
-
22
- protected async execute({
23
- database,
24
- collection,
25
- filter,
26
- }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
27
- const provider = await this.ensureConnected();
28
-
29
- // Check if delete operation uses an index if enabled
30
- if (this.config.indexCheck) {
31
- await checkIndexUsage(provider, database, collection, "deleteMany", async () => {
32
- return provider.runCommandWithCheck(database, {
33
- explain: {
34
- delete: collection,
35
- deletes: [
36
- {
37
- q: filter || {},
38
- limit: 0, // 0 means delete all matching documents
39
- },
40
- ],
41
- },
42
- verbosity: "queryPlanner",
43
- });
44
- });
45
- }
46
-
47
- const result = await provider.deleteMany(database, collection, filter);
48
-
49
- return {
50
- content: [
51
- {
52
- text: `Deleted \`${result.deletedCount}\` document(s) from collection "${collection}"`,
53
- type: "text",
54
- },
55
- ],
56
- };
57
- }
58
- }
@@ -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
- public 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
- public 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
- public name = "drop-database";
7
- protected description = "Removes the specified database, deleting the associated data files";
8
- protected argsShape = {
9
- database: DbOperationArgs.database,
10
- };
11
- public 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
- public name = "collection-schema";
8
- protected description = "Describe the schema for a collection";
9
- protected argsShape = DbOperationArgs;
10
-
11
- public 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
- }
@@ -1,68 +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 CollectionStorageSizeTool extends MongoDBToolBase {
6
- public name = "collection-storage-size";
7
- protected description = "Gets the size of the collection";
8
- protected argsShape = DbOperationArgs;
9
-
10
- public operationType: OperationType = "metadata";
11
-
12
- protected async execute({ database, collection }: ToolArgs<typeof DbOperationArgs>): Promise<CallToolResult> {
13
- const provider = await this.ensureConnected();
14
- const [{ value }] = (await provider
15
- .aggregate(database, collection, [
16
- { $collStats: { storageStats: {} } },
17
- { $group: { _id: null, value: { $sum: "$storageStats.size" } } },
18
- ])
19
- .toArray()) as [{ value: number }];
20
-
21
- const { units, value: scaledValue } = CollectionStorageSizeTool.getStats(value);
22
-
23
- return {
24
- content: [
25
- {
26
- text: `The size of "${database}.${collection}" is \`${scaledValue.toFixed(2)} ${units}\``,
27
- type: "text",
28
- },
29
- ],
30
- };
31
- }
32
-
33
- protected handleError(
34
- error: unknown,
35
- args: ToolArgs<typeof this.argsShape>
36
- ): Promise<CallToolResult> | CallToolResult {
37
- if (error instanceof Error && "codeName" in error && error.codeName === "NamespaceNotFound") {
38
- return {
39
- content: [
40
- {
41
- text: `The size of "${args.database}.${args.collection}" cannot be determined because the collection does not exist.`,
42
- type: "text",
43
- },
44
- ],
45
- };
46
- }
47
-
48
- return super.handleError(error, args);
49
- }
50
-
51
- private static getStats(value: number): { value: number; units: string } {
52
- const kb = 1024;
53
- const mb = kb * 1024;
54
- const gb = mb * 1024;
55
-
56
- if (value > gb) {
57
- return { value: value / gb, units: "GB" };
58
- }
59
-
60
- if (value > mb) {
61
- return { value: value / mb, units: "MB" };
62
- }
63
- if (value > kb) {
64
- return { value: value / kb, units: "KB" };
65
- }
66
- return { value, units: "bytes" };
67
- }
68
- }
@@ -1,35 +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 { EJSON } from "bson";
5
-
6
- export class DbStatsTool extends MongoDBToolBase {
7
- public name = "db-stats";
8
- protected description = "Returns statistics that reflect the use state of a single database";
9
- protected argsShape = {
10
- database: DbOperationArgs.database,
11
- };
12
-
13
- public operationType: OperationType = "metadata";
14
-
15
- protected async execute({ database }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
16
- const provider = await this.ensureConnected();
17
- const result = await provider.runCommandWithCheck(database, {
18
- dbStats: 1,
19
- scale: 1,
20
- });
21
-
22
- return {
23
- content: [
24
- {
25
- text: `Statistics for database ${database}`,
26
- type: "text",
27
- },
28
- {
29
- text: EJSON.stringify(result),
30
- type: "text",
31
- },
32
- ],
33
- };
34
- }
35
- }
@@ -1,103 +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 { z } from "zod";
5
- import { ExplainVerbosity, Document } from "mongodb";
6
- import { AggregateArgs } from "../read/aggregate.js";
7
- import { FindArgs } from "../read/find.js";
8
- import { CountArgs } from "../read/count.js";
9
-
10
- export class ExplainTool extends MongoDBToolBase {
11
- public name = "explain";
12
- protected description =
13
- "Returns statistics describing the execution of the winning plan chosen by the query optimizer for the evaluated method";
14
-
15
- protected argsShape = {
16
- ...DbOperationArgs,
17
- method: z
18
- .array(
19
- z.discriminatedUnion("name", [
20
- z.object({
21
- name: z.literal("aggregate"),
22
- arguments: z.object(AggregateArgs),
23
- }),
24
- z.object({
25
- name: z.literal("find"),
26
- arguments: z.object(FindArgs),
27
- }),
28
- z.object({
29
- name: z.literal("count"),
30
- arguments: z.object(CountArgs),
31
- }),
32
- ])
33
- )
34
- .describe("The method and its arguments to run"),
35
- };
36
-
37
- public operationType: OperationType = "metadata";
38
-
39
- static readonly defaultVerbosity = ExplainVerbosity.queryPlanner;
40
-
41
- protected async execute({
42
- database,
43
- collection,
44
- method: methods,
45
- }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
46
- const provider = await this.ensureConnected();
47
- const method = methods[0];
48
-
49
- if (!method) {
50
- throw new Error("No method provided. Expected one of the following: `aggregate`, `find`, or `count`");
51
- }
52
-
53
- let result: Document;
54
- switch (method.name) {
55
- case "aggregate": {
56
- const { pipeline } = method.arguments;
57
- result = await provider
58
- .aggregate(
59
- database,
60
- collection,
61
- pipeline,
62
- {},
63
- {
64
- writeConcern: undefined,
65
- }
66
- )
67
- .explain(ExplainTool.defaultVerbosity);
68
- break;
69
- }
70
- case "find": {
71
- const { filter, ...rest } = method.arguments;
72
- result = await provider
73
- .find(database, collection, filter as Document, { ...rest })
74
- .explain(ExplainTool.defaultVerbosity);
75
- break;
76
- }
77
- case "count": {
78
- const { query } = method.arguments;
79
- result = await provider.runCommandWithCheck(database, {
80
- explain: {
81
- count: collection,
82
- query,
83
- },
84
- verbosity: ExplainTool.defaultVerbosity,
85
- });
86
- break;
87
- }
88
- }
89
-
90
- return {
91
- content: [
92
- {
93
- text: `Here is some information about the winning plan chosen by the query optimizer for running the given \`${method.name}\` operation in "${database}.${collection}". This information can be used to understand how the query was executed and to optimize the query performance.`,
94
- type: "text",
95
- },
96
- {
97
- text: JSON.stringify(result),
98
- type: "text",
99
- },
100
- ],
101
- };
102
- }
103
- }
@@ -1,38 +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 ListCollectionsTool extends MongoDBToolBase {
6
- public name = "list-collections";
7
- protected description = "List all collections for a given database";
8
- protected argsShape = {
9
- database: DbOperationArgs.database,
10
- };
11
-
12
- public operationType: OperationType = "metadata";
13
-
14
- protected async execute({ database }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
15
- const provider = await this.ensureConnected();
16
- const collections = await provider.listCollections(database);
17
-
18
- if (collections.length === 0) {
19
- return {
20
- content: [
21
- {
22
- type: "text",
23
- text: `No collections found for database "${database}". To create a collection, use the "create-collection" tool.`,
24
- },
25
- ],
26
- };
27
- }
28
-
29
- return {
30
- content: collections.map((collection) => {
31
- return {
32
- text: `Name: "${collection.name}"`,
33
- type: "text",
34
- };
35
- }),
36
- };
37
- }
38
- }
@@ -1,25 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { MongoDBToolBase } from "../mongodbTool.js";
3
- import * as bson from "bson";
4
- import { OperationType } from "../../tool.js";
5
-
6
- export class ListDatabasesTool extends MongoDBToolBase {
7
- public name = "list-databases";
8
- protected description = "List all databases for a MongoDB connection";
9
- protected argsShape = {};
10
- public operationType: OperationType = "metadata";
11
-
12
- protected async execute(): Promise<CallToolResult> {
13
- const provider = await this.ensureConnected();
14
- const dbs = (await provider.listDatabases("")).databases as { name: string; sizeOnDisk: bson.Long }[];
15
-
16
- return {
17
- content: dbs.map((db) => {
18
- return {
19
- text: `Name: ${db.name}, Size: ${db.sizeOnDisk.toString()} bytes`,
20
- type: "text",
21
- };
22
- }),
23
- };
24
- }
25
- }
@@ -1,55 +0,0 @@
1
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { MongoDBToolBase } from "../mongodbTool.js";
3
- import { ToolArgs, OperationType } from "../../tool.js";
4
- import { z } from "zod";
5
-
6
- export class LogsTool extends MongoDBToolBase {
7
- public name = "mongodb-logs";
8
- protected description = "Returns the most recent logged mongod events";
9
- protected argsShape = {
10
- type: z
11
- .enum(["global", "startupWarnings"])
12
- .optional()
13
- .default("global")
14
- .describe(
15
- "The type of logs to return. Global returns all recent log entries, while startupWarnings returns only warnings and errors from when the process started."
16
- ),
17
- limit: z
18
- .number()
19
- .int()
20
- .max(1024)
21
- .min(1)
22
- .optional()
23
- .default(50)
24
- .describe("The maximum number of log entries to return."),
25
- };
26
-
27
- public operationType: OperationType = "metadata";
28
-
29
- protected async execute({ type, limit }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
30
- const provider = await this.ensureConnected();
31
-
32
- const result = await provider.runCommandWithCheck("admin", {
33
- getLog: type,
34
- });
35
-
36
- const logs = (result.log as string[]).slice(0, limit);
37
-
38
- return {
39
- content: [
40
- {
41
- text: `Found: ${result.totalLinesWritten} messages`,
42
- type: "text",
43
- },
44
-
45
- ...logs.map(
46
- (log) =>
47
- ({
48
- text: log,
49
- type: "text",
50
- }) as const
51
- ),
52
- ],
53
- };
54
- }
55
- }
@@ -1,136 +0,0 @@
1
- import { z } from "zod";
2
- import { ToolArgs, ToolBase, ToolCategory, TelemetryToolMetadata } from "../tool.js";
3
- import { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
4
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
5
- import { ErrorCodes, MongoDBError } from "../../common/errors.js";
6
- import logger, { LogId } from "../../common/logger.js";
7
- import { Server } from "../../server.js";
8
-
9
- export const DbOperationArgs = {
10
- database: z.string().describe("Database name"),
11
- collection: z.string().describe("Collection name"),
12
- };
13
-
14
- export abstract class MongoDBToolBase extends ToolBase {
15
- private server?: Server;
16
- public category: ToolCategory = "mongodb";
17
-
18
- protected async ensureConnected(): Promise<NodeDriverServiceProvider> {
19
- if (!this.session.serviceProvider) {
20
- if (this.session.connectedAtlasCluster) {
21
- throw new MongoDBError(
22
- ErrorCodes.NotConnectedToMongoDB,
23
- `Attempting to connect to Atlas cluster "${this.session.connectedAtlasCluster.clusterName}", try again in a few seconds.`
24
- );
25
- }
26
-
27
- if (this.config.connectionString) {
28
- try {
29
- await this.connectToMongoDB(this.config.connectionString);
30
- } catch (error) {
31
- logger.error(
32
- LogId.mongodbConnectFailure,
33
- "mongodbTool",
34
- `Failed to connect to MongoDB instance using the connection string from the config: ${error as string}`
35
- );
36
- throw new MongoDBError(ErrorCodes.MisconfiguredConnectionString, "Not connected to MongoDB.");
37
- }
38
- }
39
- }
40
-
41
- if (!this.session.serviceProvider) {
42
- throw new MongoDBError(ErrorCodes.NotConnectedToMongoDB, "Not connected to MongoDB");
43
- }
44
-
45
- return this.session.serviceProvider;
46
- }
47
-
48
- public register(server: Server): boolean {
49
- this.server = server;
50
- return super.register(server);
51
- }
52
-
53
- protected handleError(
54
- error: unknown,
55
- args: ToolArgs<typeof this.argsShape>
56
- ): Promise<CallToolResult> | CallToolResult {
57
- if (error instanceof MongoDBError) {
58
- const connectTools = this.server?.tools
59
- .filter((t) => t.operationType === "connect")
60
- .sort((a, b) => a.category.localeCompare(b.category)); // Sort Altas tools before MongoDB tools
61
-
62
- // Find the first Atlas connect tool if available and suggest to the LLM to use it.
63
- // Note: if we ever have multiple Atlas connect tools, we may want to refine this logic to select the most appropriate one.
64
- const atlasConnectTool = connectTools?.find((t) => t.category === "atlas");
65
- const llmConnectHint = atlasConnectTool
66
- ? `Note to LLM: prefer using the "${atlasConnectTool.name}" tool to connect to an Atlas cluster over using a connection string. Make sure to ask the user to specify a cluster name they want to connect to or ask them if they want to use the "list-clusters" tool to list all their clusters. Do not invent cluster names or connection strings unless the user has explicitly specified them. If they've previously connected to MongoDB using MCP, you can ask them if they want to reconnect using the same cluster/connection.`
67
- : "Note to LLM: do not invent connection strings and explicitly ask the user to provide one. If they have previously connected to MongoDB using MCP, you can ask them if they want to reconnect using the same connection string.";
68
-
69
- const connectToolsNames = connectTools?.map((t) => `"${t.name}"`).join(", ");
70
- switch (error.code) {
71
- case ErrorCodes.NotConnectedToMongoDB:
72
- return {
73
- content: [
74
- {
75
- type: "text",
76
- text: "You need to connect to a MongoDB instance before you can access its data.",
77
- },
78
- {
79
- type: "text",
80
- text: connectToolsNames
81
- ? `Please use one of the following tools: ${connectToolsNames} to connect to a MongoDB instance or update the MCP server configuration to include a connection string. ${llmConnectHint}`
82
- : "There are no tools available to connect. Please update the configuration to include a connection string and restart the server.",
83
- },
84
- ],
85
- isError: true,
86
- };
87
- case ErrorCodes.MisconfiguredConnectionString:
88
- return {
89
- content: [
90
- {
91
- type: "text",
92
- text: "The configured connection string is not valid. Please check the connection string and confirm it points to a valid MongoDB instance.",
93
- },
94
- {
95
- type: "text",
96
- text: connectTools
97
- ? `Alternatively, you can use one of the following tools: ${connectToolsNames} to connect to a MongoDB instance. ${llmConnectHint}`
98
- : "Please update the configuration to use a valid connection string and restart the server.",
99
- },
100
- ],
101
- isError: true,
102
- };
103
- case ErrorCodes.ForbiddenCollscan:
104
- return {
105
- content: [
106
- {
107
- type: "text",
108
- text: error.message,
109
- },
110
- ],
111
- isError: true,
112
- };
113
- }
114
- }
115
-
116
- return super.handleError(error, args);
117
- }
118
-
119
- protected connectToMongoDB(connectionString: string): Promise<void> {
120
- return this.session.connectToMongoDB(connectionString, this.config.connectOptions);
121
- }
122
-
123
- protected resolveTelemetryMetadata(
124
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
125
- args: ToolArgs<typeof this.argsShape>
126
- ): TelemetryToolMetadata {
127
- const metadata: TelemetryToolMetadata = {};
128
-
129
- // Add projectId to the metadata if running a MongoDB operation to an Atlas cluster
130
- if (this.session.connectedAtlasCluster?.projectId) {
131
- metadata.projectId = this.session.connectedAtlasCluster.projectId;
132
- }
133
-
134
- return metadata;
135
- }
136
- }