mongodb-mcp-server 1.1.0 → 1.3.0-pre.1

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 (506) hide show
  1. package/README.md +64 -28
  2. package/dist/cjs/common/atlas/accessListUtils.js +1 -1
  3. package/dist/cjs/common/atlas/accessListUtils.js.map +1 -1
  4. package/dist/cjs/common/atlas/apiClient.d.ts +30 -26
  5. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
  6. package/dist/cjs/common/atlas/apiClient.js +12 -12
  7. package/dist/cjs/common/atlas/apiClient.js.map +1 -1
  8. package/dist/cjs/common/atlas/cluster.d.ts +7 -2
  9. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
  10. package/dist/cjs/common/atlas/cluster.js +18 -4
  11. package/dist/cjs/common/atlas/cluster.js.map +1 -1
  12. package/dist/cjs/common/atlas/performanceAdvisorUtils.js +2 -2
  13. package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
  14. package/dist/cjs/common/atlas/roles.d.ts +1 -1
  15. package/dist/cjs/common/atlas/roles.d.ts.map +1 -1
  16. package/dist/cjs/common/atlasLocal.d.ts +4 -0
  17. package/dist/cjs/common/atlasLocal.d.ts.map +1 -0
  18. package/dist/cjs/common/atlasLocal.js +57 -0
  19. package/dist/cjs/common/atlasLocal.js.map +1 -0
  20. package/dist/cjs/common/config/argsParserOptions.d.ts +12 -0
  21. package/dist/cjs/common/config/argsParserOptions.d.ts.map +1 -0
  22. package/dist/cjs/common/config/argsParserOptions.js +103 -0
  23. package/dist/cjs/common/config/argsParserOptions.js.map +1 -0
  24. package/dist/cjs/common/config/configOverrides.d.ts +30 -0
  25. package/dist/cjs/common/config/configOverrides.d.ts.map +1 -0
  26. package/dist/cjs/common/config/configOverrides.js +145 -0
  27. package/dist/cjs/common/config/configOverrides.js.map +1 -0
  28. package/dist/cjs/common/config/configUtils.d.ts +43 -0
  29. package/dist/cjs/common/config/configUtils.d.ts.map +1 -0
  30. package/dist/cjs/common/config/configUtils.js +178 -0
  31. package/dist/cjs/common/config/configUtils.js.map +1 -0
  32. package/dist/cjs/common/config/createUserConfig.d.ts +10 -0
  33. package/dist/cjs/common/config/createUserConfig.d.ts.map +1 -0
  34. package/dist/cjs/common/config/createUserConfig.js +156 -0
  35. package/dist/cjs/common/config/createUserConfig.js.map +1 -0
  36. package/dist/cjs/common/config/userConfig.d.ts +54 -0
  37. package/dist/cjs/common/config/userConfig.d.ts.map +1 -0
  38. package/dist/cjs/common/config/userConfig.js +180 -0
  39. package/dist/cjs/common/config/userConfig.js.map +1 -0
  40. package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
  41. package/dist/cjs/common/connectionErrorHandler.js +15 -6
  42. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  43. package/dist/cjs/common/connectionManager.d.ts +6 -5
  44. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  45. package/dist/cjs/common/connectionManager.js +29 -19
  46. package/dist/cjs/common/connectionManager.js.map +1 -1
  47. package/dist/cjs/common/errors.d.ts +6 -1
  48. package/dist/cjs/common/errors.d.ts.map +1 -1
  49. package/dist/cjs/common/errors.js +5 -0
  50. package/dist/cjs/common/errors.js.map +1 -1
  51. package/dist/cjs/common/exportsManager.d.ts +1 -1
  52. package/dist/cjs/common/exportsManager.d.ts.map +1 -1
  53. package/dist/cjs/common/logger.d.ts +2 -0
  54. package/dist/cjs/common/logger.d.ts.map +1 -1
  55. package/dist/cjs/common/logger.js +2 -0
  56. package/dist/cjs/common/logger.js.map +1 -1
  57. package/dist/cjs/common/packageInfo.js +1 -1
  58. package/dist/cjs/common/packageInfo.js.map +1 -1
  59. package/dist/cjs/common/schemas.d.ts +5 -0
  60. package/dist/cjs/common/schemas.d.ts.map +1 -0
  61. package/dist/cjs/common/schemas.js +6 -0
  62. package/dist/cjs/common/schemas.js.map +1 -0
  63. package/dist/cjs/common/search/embeddingsProvider.d.ts +10 -0
  64. package/dist/cjs/common/search/embeddingsProvider.d.ts.map +1 -0
  65. package/dist/cjs/common/search/embeddingsProvider.js +45 -0
  66. package/dist/cjs/common/search/embeddingsProvider.js.map +1 -0
  67. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts +67 -0
  68. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  69. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js +188 -0
  70. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  71. package/dist/cjs/common/session.d.ts +14 -5
  72. package/dist/cjs/common/session.d.ts.map +1 -1
  73. package/dist/cjs/common/session.js +28 -8
  74. package/dist/cjs/common/session.js.map +1 -1
  75. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  76. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  77. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js +58 -0
  78. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  79. package/dist/cjs/index.d.ts +2 -1
  80. package/dist/cjs/index.d.ts.map +1 -1
  81. package/dist/cjs/index.js +44 -16
  82. package/dist/cjs/index.js.map +1 -1
  83. package/dist/cjs/lib.d.ts +6 -2
  84. package/dist/cjs/lib.d.ts.map +1 -1
  85. package/dist/cjs/lib.js +10 -4
  86. package/dist/cjs/lib.js.map +1 -1
  87. package/dist/cjs/resources/common/config.d.ts +1 -1
  88. package/dist/cjs/resources/common/config.d.ts.map +1 -1
  89. package/dist/cjs/resources/common/config.js +4 -3
  90. package/dist/cjs/resources/common/config.js.map +1 -1
  91. package/dist/cjs/resources/resource.d.ts +1 -1
  92. package/dist/cjs/resources/resource.d.ts.map +1 -1
  93. package/dist/cjs/server.d.ts +26 -5
  94. package/dist/cjs/server.d.ts.map +1 -1
  95. package/dist/cjs/server.js +7 -23
  96. package/dist/cjs/server.js.map +1 -1
  97. package/dist/cjs/telemetry/telemetry.d.ts +1 -1
  98. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
  99. package/dist/cjs/telemetry/types.d.ts +22 -4
  100. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  101. package/dist/cjs/tools/args.d.ts +1 -0
  102. package/dist/cjs/tools/args.d.ts.map +1 -1
  103. package/dist/cjs/tools/args.js +1 -0
  104. package/dist/cjs/tools/args.js.map +1 -1
  105. package/dist/cjs/tools/atlas/atlasTool.d.ts +3 -2
  106. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  107. package/dist/cjs/tools/atlas/atlasTool.js +3 -3
  108. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  109. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +6 -1
  110. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  111. package/dist/cjs/tools/atlas/connect/connectCluster.js +46 -21
  112. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  113. package/dist/cjs/tools/atlas/create/createAccessList.js +1 -1
  114. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
  115. package/dist/cjs/tools/atlas/create/createProject.d.ts +0 -4
  116. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  117. package/dist/cjs/tools/atlas/create/createProject.js +5 -8
  118. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  119. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +4 -1
  120. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  121. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +7 -1
  122. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  123. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  124. package/dist/cjs/tools/atlas/read/inspectAccessList.js +7 -8
  125. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
  126. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  127. package/dist/cjs/tools/atlas/read/inspectCluster.js +9 -3
  128. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  129. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  130. package/dist/cjs/tools/atlas/read/listAlerts.js +9 -13
  131. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  132. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
  133. package/dist/cjs/tools/atlas/read/listClusters.js +9 -25
  134. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  135. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  136. package/dist/cjs/tools/atlas/read/listDBUsers.js +13 -23
  137. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
  138. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
  139. package/dist/cjs/tools/atlas/read/listOrgs.js +6 -11
  140. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
  141. package/dist/cjs/tools/atlas/read/listProjects.d.ts +0 -3
  142. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  143. package/dist/cjs/tools/atlas/read/listProjects.js +18 -23
  144. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  145. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +20 -0
  146. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  147. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +109 -0
  148. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  149. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +16 -0
  150. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  151. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +38 -0
  152. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  153. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  154. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  155. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +41 -0
  156. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -0
  157. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  158. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  159. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +32 -0
  160. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  161. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  162. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  163. package/dist/cjs/tools/atlasLocal/read/listDeployments.js +42 -0
  164. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -0
  165. package/dist/cjs/tools/atlasLocal/tools.d.ts +6 -0
  166. package/dist/cjs/tools/atlasLocal/tools.d.ts.map +1 -0
  167. package/dist/cjs/tools/atlasLocal/tools.js +9 -0
  168. package/dist/cjs/tools/atlasLocal/tools.js.map +1 -0
  169. package/dist/cjs/tools/index.d.ts +7 -0
  170. package/dist/cjs/tools/index.d.ts.map +1 -0
  171. package/dist/cjs/tools/index.js +14 -0
  172. package/dist/cjs/tools/index.js.map +1 -0
  173. package/dist/cjs/tools/mongodb/connect/connect.d.ts +4 -10
  174. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  175. package/dist/cjs/tools/mongodb/connect/connect.js +17 -70
  176. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  177. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +17 -0
  178. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  179. package/dist/cjs/tools/mongodb/connect/switchConnection.js +52 -0
  180. package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -0
  181. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +1 -1
  182. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  183. package/dist/cjs/tools/mongodb/create/createIndex.js +9 -22
  184. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  185. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +22 -2
  186. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  187. package/dist/cjs/tools/mongodb/create/insertMany.js +88 -12
  188. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  189. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +5 -2
  190. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  191. package/dist/cjs/tools/mongodb/delete/dropIndex.js +36 -3
  192. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  193. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  194. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  195. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +30 -5
  196. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  197. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +1 -1
  198. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +192 -10
  199. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  200. package/dist/cjs/tools/mongodb/metadata/explain.js +1 -1
  201. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  202. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  203. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +1 -3
  204. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  205. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +155 -0
  206. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  207. package/dist/cjs/tools/mongodb/mongodbSchemas.js +69 -0
  208. package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -0
  209. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +14 -3
  210. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  211. package/dist/cjs/tools/mongodb/mongodbTool.js +31 -11
  212. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  213. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +218 -4
  214. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  215. package/dist/cjs/tools/mongodb/read/aggregate.js +125 -18
  216. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  217. package/dist/cjs/tools/mongodb/read/export.d.ts +192 -10
  218. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  219. package/dist/cjs/tools/mongodb/read/export.js +3 -1
  220. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  221. package/dist/cjs/tools/mongodb/read/find.js +2 -2
  222. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  223. package/dist/cjs/tools/mongodb/tools.d.ts +2 -2
  224. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  225. package/dist/cjs/tools/mongodb/tools.js +2 -2
  226. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  227. package/dist/cjs/tools/tool.d.ts +14 -24
  228. package/dist/cjs/tools/tool.d.ts.map +1 -1
  229. package/dist/cjs/tools/tool.js +44 -54
  230. package/dist/cjs/tools/tool.js.map +1 -1
  231. package/dist/cjs/transports/base.d.ts +25 -3
  232. package/dist/cjs/transports/base.d.ts.map +1 -1
  233. package/dist/cjs/transports/base.js +41 -10
  234. package/dist/cjs/transports/base.js.map +1 -1
  235. package/dist/cjs/transports/dryModeRunner.d.ts +19 -0
  236. package/dist/cjs/transports/dryModeRunner.d.ts.map +1 -0
  237. package/dist/cjs/transports/dryModeRunner.js +37 -0
  238. package/dist/cjs/transports/dryModeRunner.js.map +1 -0
  239. package/dist/cjs/transports/inMemoryTransport.d.ts +18 -0
  240. package/dist/cjs/transports/inMemoryTransport.d.ts.map +1 -0
  241. package/dist/cjs/transports/inMemoryTransport.js +43 -0
  242. package/dist/cjs/transports/inMemoryTransport.js.map +1 -0
  243. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  244. package/dist/cjs/transports/streamableHttp.js +5 -1
  245. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  246. package/dist/esm/common/atlas/accessListUtils.js +1 -1
  247. package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
  248. package/dist/esm/common/atlas/apiClient.d.ts +30 -26
  249. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  250. package/dist/esm/common/atlas/apiClient.js +12 -12
  251. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  252. package/dist/esm/common/atlas/cluster.d.ts +7 -2
  253. package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
  254. package/dist/esm/common/atlas/cluster.js +17 -4
  255. package/dist/esm/common/atlas/cluster.js.map +1 -1
  256. package/dist/esm/common/atlas/performanceAdvisorUtils.js +2 -2
  257. package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
  258. package/dist/esm/common/atlas/roles.d.ts +1 -1
  259. package/dist/esm/common/atlas/roles.d.ts.map +1 -1
  260. package/dist/esm/common/atlasLocal.d.ts +4 -0
  261. package/dist/esm/common/atlasLocal.d.ts.map +1 -0
  262. package/dist/esm/common/atlasLocal.js +20 -0
  263. package/dist/esm/common/atlasLocal.js.map +1 -0
  264. package/dist/esm/common/config/argsParserOptions.d.ts +12 -0
  265. package/dist/esm/common/config/argsParserOptions.d.ts.map +1 -0
  266. package/dist/esm/common/config/argsParserOptions.js +100 -0
  267. package/dist/esm/common/config/argsParserOptions.js.map +1 -0
  268. package/dist/esm/common/config/configOverrides.d.ts +30 -0
  269. package/dist/esm/common/config/configOverrides.d.ts.map +1 -0
  270. package/dist/esm/common/config/configOverrides.js +139 -0
  271. package/dist/esm/common/config/configOverrides.js.map +1 -0
  272. package/dist/esm/common/config/configUtils.d.ts +43 -0
  273. package/dist/esm/common/config/configUtils.d.ts.map +1 -0
  274. package/dist/esm/common/config/configUtils.js +130 -0
  275. package/dist/esm/common/config/configUtils.js.map +1 -0
  276. package/dist/esm/common/config/createUserConfig.d.ts +10 -0
  277. package/dist/esm/common/config/createUserConfig.d.ts.map +1 -0
  278. package/dist/esm/common/config/createUserConfig.js +149 -0
  279. package/dist/esm/common/config/createUserConfig.js.map +1 -0
  280. package/dist/esm/common/config/userConfig.d.ts +54 -0
  281. package/dist/esm/common/config/userConfig.d.ts.map +1 -0
  282. package/dist/esm/common/config/userConfig.js +177 -0
  283. package/dist/esm/common/config/userConfig.js.map +1 -0
  284. package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
  285. package/dist/esm/common/connectionErrorHandler.js +15 -6
  286. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  287. package/dist/esm/common/connectionManager.d.ts +6 -5
  288. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  289. package/dist/esm/common/connectionManager.js +28 -18
  290. package/dist/esm/common/connectionManager.js.map +1 -1
  291. package/dist/esm/common/errors.d.ts +6 -1
  292. package/dist/esm/common/errors.d.ts.map +1 -1
  293. package/dist/esm/common/errors.js +5 -0
  294. package/dist/esm/common/errors.js.map +1 -1
  295. package/dist/esm/common/exportsManager.d.ts +1 -1
  296. package/dist/esm/common/exportsManager.d.ts.map +1 -1
  297. package/dist/esm/common/logger.d.ts +2 -0
  298. package/dist/esm/common/logger.d.ts.map +1 -1
  299. package/dist/esm/common/logger.js +2 -0
  300. package/dist/esm/common/logger.js.map +1 -1
  301. package/dist/esm/common/packageInfo.js +1 -1
  302. package/dist/esm/common/packageInfo.js.map +1 -1
  303. package/dist/esm/common/schemas.d.ts +5 -0
  304. package/dist/esm/common/schemas.d.ts.map +1 -0
  305. package/dist/esm/common/schemas.js +3 -0
  306. package/dist/esm/common/schemas.js.map +1 -0
  307. package/dist/esm/common/search/embeddingsProvider.d.ts +10 -0
  308. package/dist/esm/common/search/embeddingsProvider.d.ts.map +1 -0
  309. package/dist/esm/common/search/embeddingsProvider.js +39 -0
  310. package/dist/esm/common/search/embeddingsProvider.js.map +1 -0
  311. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts +67 -0
  312. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  313. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js +181 -0
  314. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  315. package/dist/esm/common/session.d.ts +14 -5
  316. package/dist/esm/common/session.d.ts.map +1 -1
  317. package/dist/esm/common/session.js +28 -8
  318. package/dist/esm/common/session.js.map +1 -1
  319. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  320. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  321. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js +54 -0
  322. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  323. package/dist/esm/index.d.ts +2 -1
  324. package/dist/esm/index.d.ts.map +1 -1
  325. package/dist/esm/index.js +40 -13
  326. package/dist/esm/index.js.map +1 -1
  327. package/dist/esm/lib.d.ts +6 -2
  328. package/dist/esm/lib.d.ts.map +1 -1
  329. package/dist/esm/lib.js +5 -2
  330. package/dist/esm/lib.js.map +1 -1
  331. package/dist/esm/resources/common/config.d.ts +1 -1
  332. package/dist/esm/resources/common/config.d.ts.map +1 -1
  333. package/dist/esm/resources/common/config.js +4 -3
  334. package/dist/esm/resources/common/config.js.map +1 -1
  335. package/dist/esm/resources/resource.d.ts +1 -1
  336. package/dist/esm/resources/resource.d.ts.map +1 -1
  337. package/dist/esm/server.d.ts +26 -5
  338. package/dist/esm/server.d.ts.map +1 -1
  339. package/dist/esm/server.js +7 -23
  340. package/dist/esm/server.js.map +1 -1
  341. package/dist/esm/telemetry/telemetry.d.ts +1 -1
  342. package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
  343. package/dist/esm/telemetry/types.d.ts +22 -4
  344. package/dist/esm/telemetry/types.d.ts.map +1 -1
  345. package/dist/esm/tools/args.d.ts +1 -0
  346. package/dist/esm/tools/args.d.ts.map +1 -1
  347. package/dist/esm/tools/args.js +1 -0
  348. package/dist/esm/tools/args.js.map +1 -1
  349. package/dist/esm/tools/atlas/atlasTool.d.ts +3 -2
  350. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  351. package/dist/esm/tools/atlas/atlasTool.js +3 -3
  352. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  353. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +6 -1
  354. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  355. package/dist/esm/tools/atlas/connect/connectCluster.js +47 -22
  356. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  357. package/dist/esm/tools/atlas/create/createAccessList.js +1 -1
  358. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
  359. package/dist/esm/tools/atlas/create/createProject.d.ts +0 -4
  360. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  361. package/dist/esm/tools/atlas/create/createProject.js +4 -7
  362. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  363. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +4 -1
  364. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  365. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +7 -1
  366. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  367. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  368. package/dist/esm/tools/atlas/read/inspectAccessList.js +7 -8
  369. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
  370. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  371. package/dist/esm/tools/atlas/read/inspectCluster.js +9 -3
  372. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  373. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  374. package/dist/esm/tools/atlas/read/listAlerts.js +9 -13
  375. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  376. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
  377. package/dist/esm/tools/atlas/read/listClusters.js +9 -25
  378. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  379. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  380. package/dist/esm/tools/atlas/read/listDBUsers.js +13 -23
  381. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
  382. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
  383. package/dist/esm/tools/atlas/read/listOrgs.js +6 -11
  384. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
  385. package/dist/esm/tools/atlas/read/listProjects.d.ts +0 -3
  386. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  387. package/dist/esm/tools/atlas/read/listProjects.js +17 -22
  388. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  389. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +20 -0
  390. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  391. package/dist/esm/tools/atlasLocal/atlasLocalTool.js +105 -0
  392. package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  393. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +16 -0
  394. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  395. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +34 -0
  396. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  397. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  398. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  399. package/dist/esm/tools/atlasLocal/create/createDeployment.js +37 -0
  400. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -0
  401. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  402. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  403. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +28 -0
  404. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  405. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  406. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  407. package/dist/esm/tools/atlasLocal/read/listDeployments.js +38 -0
  408. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -0
  409. package/dist/esm/tools/atlasLocal/tools.d.ts +6 -0
  410. package/dist/esm/tools/atlasLocal/tools.d.ts.map +1 -0
  411. package/dist/esm/tools/atlasLocal/tools.js +6 -0
  412. package/dist/esm/tools/atlasLocal/tools.js.map +1 -0
  413. package/dist/esm/tools/index.d.ts +7 -0
  414. package/dist/esm/tools/index.d.ts.map +1 -0
  415. package/dist/esm/tools/index.js +7 -0
  416. package/dist/esm/tools/index.js.map +1 -0
  417. package/dist/esm/tools/mongodb/connect/connect.d.ts +4 -10
  418. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  419. package/dist/esm/tools/mongodb/connect/connect.js +17 -67
  420. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  421. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +17 -0
  422. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  423. package/dist/esm/tools/mongodb/connect/switchConnection.js +45 -0
  424. package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -0
  425. package/dist/esm/tools/mongodb/create/createIndex.d.ts +1 -1
  426. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  427. package/dist/esm/tools/mongodb/create/createIndex.js +9 -22
  428. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  429. package/dist/esm/tools/mongodb/create/insertMany.d.ts +22 -2
  430. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  431. package/dist/esm/tools/mongodb/create/insertMany.js +88 -12
  432. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  433. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +5 -2
  434. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  435. package/dist/esm/tools/mongodb/delete/dropIndex.js +36 -3
  436. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  437. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  438. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  439. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +30 -5
  440. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  441. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +1 -1
  442. package/dist/esm/tools/mongodb/metadata/explain.d.ts +192 -10
  443. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  444. package/dist/esm/tools/mongodb/metadata/explain.js +2 -2
  445. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  446. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  447. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -3
  448. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  449. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +155 -0
  450. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  451. package/dist/esm/tools/mongodb/mongodbSchemas.js +63 -0
  452. package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -0
  453. package/dist/esm/tools/mongodb/mongodbTool.d.ts +14 -3
  454. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  455. package/dist/esm/tools/mongodb/mongodbTool.js +31 -11
  456. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  457. package/dist/esm/tools/mongodb/read/aggregate.d.ts +218 -4
  458. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  459. package/dist/esm/tools/mongodb/read/aggregate.js +123 -17
  460. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  461. package/dist/esm/tools/mongodb/read/export.d.ts +192 -10
  462. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  463. package/dist/esm/tools/mongodb/read/export.js +4 -2
  464. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  465. package/dist/esm/tools/mongodb/read/find.js +2 -2
  466. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  467. package/dist/esm/tools/mongodb/tools.d.ts +2 -2
  468. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  469. package/dist/esm/tools/mongodb/tools.js +2 -2
  470. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  471. package/dist/esm/tools/tool.d.ts +14 -24
  472. package/dist/esm/tools/tool.d.ts.map +1 -1
  473. package/dist/esm/tools/tool.js +44 -54
  474. package/dist/esm/tools/tool.js.map +1 -1
  475. package/dist/esm/transports/base.d.ts +25 -3
  476. package/dist/esm/transports/base.d.ts.map +1 -1
  477. package/dist/esm/transports/base.js +41 -10
  478. package/dist/esm/transports/base.js.map +1 -1
  479. package/dist/esm/transports/dryModeRunner.d.ts +19 -0
  480. package/dist/esm/transports/dryModeRunner.d.ts.map +1 -0
  481. package/dist/esm/transports/dryModeRunner.js +33 -0
  482. package/dist/esm/transports/dryModeRunner.js.map +1 -0
  483. package/dist/esm/transports/inMemoryTransport.d.ts +18 -0
  484. package/dist/esm/transports/inMemoryTransport.d.ts.map +1 -0
  485. package/dist/esm/transports/inMemoryTransport.js +39 -0
  486. package/dist/esm/transports/inMemoryTransport.js.map +1 -0
  487. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  488. package/dist/esm/transports/streamableHttp.js +5 -1
  489. package/dist/esm/transports/streamableHttp.js.map +1 -1
  490. package/package.json +60 -39
  491. package/dist/cjs/common/config.d.ts +0 -53
  492. package/dist/cjs/common/config.d.ts.map +0 -1
  493. package/dist/cjs/common/config.js +0 -401
  494. package/dist/cjs/common/config.js.map +0 -1
  495. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  496. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  497. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js +0 -65
  498. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js.map +0 -1
  499. package/dist/esm/common/config.d.ts +0 -53
  500. package/dist/esm/common/config.d.ts.map +0 -1
  501. package/dist/esm/common/config.js +0 -390
  502. package/dist/esm/common/config.js.map +0 -1
  503. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  504. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  505. package/dist/esm/tools/mongodb/search/listSearchIndexes.js +0 -61
  506. package/dist/esm/tools/mongodb/search/listSearchIndexes.js.map +0 -1
@@ -0,0 +1,45 @@
1
+ import z from "zod";
2
+ import { MongoDBToolBase } from "../mongodbTool.js";
3
+ export class SwitchConnectionTool extends MongoDBToolBase {
4
+ constructor({ session, config, telemetry, elicitation }) {
5
+ super({ session, config, telemetry, elicitation });
6
+ this.name = "switch-connection";
7
+ this.description = "Switch to a different MongoDB connection. If the user has configured a connection string or has previously called the connect tool, a connection is already established and there's no need to call this tool unless the user has explicitly requested to switch to a new instance.";
8
+ this.argsShape = {
9
+ connectionString: z
10
+ .string()
11
+ .optional()
12
+ .describe("MongoDB connection string to switch to (in the mongodb:// or mongodb+srv:// format). If a connection string is not provided, the connection string from the config will be used."),
13
+ };
14
+ this.operationType = "connect";
15
+ session.on("connect", () => {
16
+ this.enable();
17
+ });
18
+ session.on("disconnect", () => {
19
+ this.disable();
20
+ });
21
+ }
22
+ register(server) {
23
+ const registrationSuccessful = super.register(server);
24
+ /**
25
+ * When connected to mongodb we want to swap connect with
26
+ * switch-connection tool.
27
+ */
28
+ if (registrationSuccessful && !this.session.isConnectedToMongoDB) {
29
+ this.disable();
30
+ }
31
+ return registrationSuccessful;
32
+ }
33
+ async execute({ connectionString }) {
34
+ if (typeof connectionString !== "string") {
35
+ await this.session.connectToConfiguredConnection();
36
+ }
37
+ else {
38
+ await this.session.connectToMongoDB({ connectionString });
39
+ }
40
+ return {
41
+ content: [{ type: "text", text: "Successfully connected to MongoDB." }],
42
+ };
43
+ }
44
+ }
45
+ //# sourceMappingURL=switchConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switchConnection.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/connect/switchConnection.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAgBrD,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAyB;QAC1E,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAhBvC,SAAI,GAAG,mBAAmB,CAAC;QACxB,gBAAW,GAC1B,qRAAqR,CAAC;QAEvQ,cAAS,GAAG;YAC3B,gBAAgB,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,kLAAkL,CACrL;SACR,CAAC;QAEc,kBAAa,GAAkB,SAAS,CAAC;QAIrD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAEe,QAAQ,CAAC,MAAc;QACnC,MAAM,sBAAsB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtD;;;WAGG;QACH,IAAI,sBAAsB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAEkB,KAAK,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAmC;QAClF,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;SAC1E,CAAC;IACN,CAAC;CACJ"}
@@ -34,7 +34,7 @@ export declare class CreateIndexTool extends MongoDBToolBase {
34
34
  path: z.ZodString;
35
35
  numDimensions: z.ZodDefault<z.ZodNumber>;
36
36
  similarity: z.ZodDefault<z.ZodEnum<["cosine", "euclidean", "dotProduct"]>>;
37
- quantization: z.ZodDefault<z.ZodOptional<z.ZodEnum<["none", "scalar", "binary"]>>>;
37
+ quantization: z.ZodDefault<z.ZodEnum<["none", "scalar", "binary"]>>;
38
38
  }, "strict", z.ZodTypeAny, {
39
39
  path: string;
40
40
  type: "vector";
@@ -1 +1 @@
1
- {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAgB,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,eAAe;IAChD,OAAO,CAAC,2BAA2B,CAyDhC;IAEI,IAAI,SAAkB;IAC7B,SAAS,CAAC,WAAW,SAAsC;IAC3D,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgBjB;IAEK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,UAAU,EAAE,WAAW,GAC1B,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAkE/D"}
1
+ {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,qBAAa,eAAgB,SAAQ,eAAe;IAChD,OAAO,CAAC,2BAA2B,CAuDhC;IAEI,IAAI,SAAkB;IAC7B,SAAS,CAAC,WAAW,SAAsC;IAC3D,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgBjB;IAEK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,UAAU,EAAE,WAAW,GAC1B,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAmD/D"}
@@ -1,5 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
+ import { quantizationEnum } from "../../../common/search/vectorSearchEmbeddingsManager.js";
4
+ import { similarityValues } from "../../../common/schemas.js";
3
5
  export class CreateIndexTool extends MongoDBToolBase {
4
6
  constructor() {
5
7
  super(...arguments);
@@ -29,12 +31,10 @@ export class CreateIndexTool extends MongoDBToolBase {
29
31
  .default(this.config.vectorSearchDimensions)
30
32
  .describe("Number of vector dimensions that MongoDB Vector Search enforces at index-time and query-time"),
31
33
  similarity: z
32
- .enum(["cosine", "euclidean", "dotProduct"])
34
+ .enum(similarityValues)
33
35
  .default(this.config.vectorSearchSimilarityFunction)
34
36
  .describe("Vector similarity function to use to search for top K-nearest neighbors. You can set this field only for vector-type fields."),
35
- quantization: z
36
- .enum(["none", "scalar", "binary"])
37
- .optional()
37
+ quantization: quantizationEnum
38
38
  .default("none")
39
39
  .describe("Type of automatic vector quantization for your vectors. Use this setting only if your embeddings are float or double vectors."),
40
40
  })
@@ -58,9 +58,9 @@ export class CreateIndexTool extends MongoDBToolBase {
58
58
  type: z.literal("classic"),
59
59
  keys: z.object({}).catchall(z.custom()).describe("The index definition"),
60
60
  }),
61
- ...(this.isFeatureFlagEnabled("vectorSearch" /* FeatureFlags.VectorSearch */) ? [this.vectorSearchIndexDefinition] : []),
61
+ ...(this.isFeatureEnabled("search") ? [this.vectorSearchIndexDefinition] : []),
62
62
  ]))
63
- .describe("The index definition. Use 'classic' for standard indexes and 'vectorSearch' for vector search indexes"),
63
+ .describe(`The index definition. Use 'classic' for standard indexes${this.isFeatureEnabled("search") ? " and 'vectorSearch' for vector search indexes" : ""}.`),
64
64
  };
65
65
  this.operationType = "create";
66
66
  }
@@ -83,22 +83,7 @@ export class CreateIndexTool extends MongoDBToolBase {
83
83
  break;
84
84
  case "vectorSearch":
85
85
  {
86
- const isVectorSearchSupported = await this.session.isSearchSupported();
87
- if (!isVectorSearchSupported) {
88
- // TODO: remove hacky casts once we merge the local dev tools
89
- const isLocalAtlasAvailable = (this.server?.tools.filter((t) => t.category === "atlas-local")
90
- .length ?? 0) > 0;
91
- const CTA = isLocalAtlasAvailable ? "`atlas-local` tools" : "Atlas CLI";
92
- return {
93
- content: [
94
- {
95
- text: `The connected MongoDB deployment does not support vector search indexes. Either connect to a MongoDB Atlas cluster or use the ${CTA} to create and manage a local Atlas deployment.`,
96
- type: "text",
97
- },
98
- ],
99
- isError: true,
100
- };
101
- }
86
+ await this.ensureSearchIsSupported();
102
87
  indexes = await provider.createSearchIndexes(database, collection, [
103
88
  {
104
89
  name,
@@ -110,6 +95,8 @@ export class CreateIndexTool extends MongoDBToolBase {
110
95
  ]);
111
96
  responseClarification =
112
97
  " Since this is a vector search index, it may take a while for the index to build. Use the `list-indexes` tool to check the index status.";
98
+ // clean up the embeddings cache so it considers the new index
99
+ this.session.vectorSearchEmbeddingsManager.cleanupEmbeddingsForNamespace({ database, collection });
113
100
  }
114
101
  break;
115
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,36 @@
1
1
  import { z } from "zod";
2
2
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { MongoDBToolBase } from "../mongodbTool.js";
4
- import type { ToolArgs, OperationType } from "../../tool.js";
4
+ import { type ToolArgs, type OperationType } from "../../tool.js";
5
5
  export declare class InsertManyTool extends MongoDBToolBase {
6
6
  name: string;
7
7
  protected description: string;
8
8
  protected argsShape: {
9
+ embeddingParameters?: z.ZodOptional<z.ZodObject<{
10
+ outputDimension: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"256">, z.ZodLiteral<"512">, z.ZodLiteral<"1024">, z.ZodLiteral<"2048">, z.ZodLiteral<"4096">]>>, number, "256" | "512" | "1024" | "2048" | "4096" | undefined>>;
11
+ outputDtype: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
12
+ } & {
13
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
14
+ } & {
15
+ input: z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">;
16
+ }, "strip", z.ZodTypeAny, {
17
+ input: z.objectOutputType<{}, z.ZodTypeAny, "passthrough">[];
18
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
19
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
20
+ outputDimension?: number | undefined;
21
+ }, {
22
+ input: z.objectInputType<{}, z.ZodTypeAny, "passthrough">[];
23
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
24
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
25
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
26
+ }>> | undefined;
9
27
  documents: z.ZodArray<z.AnyZodObject, "many">;
10
28
  database: z.ZodString;
11
29
  collection: z.ZodString;
12
30
  };
13
31
  operationType: OperationType;
14
- protected execute({ database, collection, documents, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
32
+ protected execute({ database, collection, documents, embeddingParameters: providedEmbeddingParameters, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
33
+ private replaceRawValuesWithEmbeddingsIfNecessary;
34
+ private deleteFieldPath;
15
35
  }
16
36
  //# sourceMappingURL=insertMany.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA4D;IACjF,SAAS,CAAC,SAAS;;;;MAOjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAiB/D"}
1
+ {"version":3,"file":"insertMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAuB,MAAM,eAAe,CAAC;AAcvF,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA4D;IACjF,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;MAgBjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,mBAAmB,EAAE,2BAA2B,GACnD,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;YA+B9C,yCAAyC;IAgEvD,OAAO,CAAC,eAAe;CAe1B"}
@@ -1,6 +1,14 @@
1
1
  import { z } from "zod";
2
2
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
+ import { formatUntrustedData } from "../../tool.js";
3
4
  import { zEJSON } from "../../args.js";
5
+ import { zSupportedEmbeddingParameters } from "../mongodbSchemas.js";
6
+ import { ErrorCodes, MongoDBError } from "../../../common/errors.js";
7
+ const zSupportedEmbeddingParametersWithInput = zSupportedEmbeddingParameters.extend({
8
+ input: z
9
+ .array(z.object({}).passthrough())
10
+ .describe("Array of objects with vector search index fields as keys (in dot notation) and the raw text values to generate embeddings for as values. The index of each object corresponds to the index of the document in the documents array."),
11
+ });
4
12
  export class InsertManyTool extends MongoDBToolBase {
5
13
  constructor() {
6
14
  super(...arguments);
@@ -10,25 +18,93 @@ export class InsertManyTool extends MongoDBToolBase {
10
18
  ...DbOperationArgs,
11
19
  documents: z
12
20
  .array(zEJSON().describe("An individual MongoDB document"))
13
- .describe("The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()"),
21
+ .describe("The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()."),
22
+ ...(this.isFeatureEnabled("search")
23
+ ? {
24
+ embeddingParameters: zSupportedEmbeddingParametersWithInput
25
+ .optional()
26
+ .describe("The embedding model and its parameters to use to generate embeddings for fields with vector search indexes. Note to LLM: If unsure which embedding model to use, ask the user before providing one."),
27
+ }
28
+ : {}),
14
29
  };
15
30
  this.operationType = "create";
16
31
  }
17
- async execute({ database, collection, documents, }) {
32
+ async execute({ database, collection, documents, embeddingParameters: providedEmbeddingParameters, }) {
18
33
  const provider = await this.ensureConnected();
34
+ const embeddingParameters = this.isFeatureEnabled("search")
35
+ ? providedEmbeddingParameters
36
+ : undefined;
37
+ // Process documents to replace raw string values with generated embeddings
38
+ documents = await this.replaceRawValuesWithEmbeddingsIfNecessary({
39
+ database,
40
+ collection,
41
+ documents,
42
+ embeddingParameters,
43
+ });
44
+ await this.session.vectorSearchEmbeddingsManager.assertFieldsHaveCorrectEmbeddings({ database, collection }, documents);
19
45
  const result = await provider.insertMany(database, collection, documents);
46
+ const content = formatUntrustedData("Documents were inserted successfully.", `Inserted \`${result.insertedCount}\` document(s) into ${database}.${collection}.`, `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`);
20
47
  return {
21
- content: [
22
- {
23
- text: `Inserted \`${result.insertedCount}\` document(s) into collection "${collection}"`,
24
- type: "text",
25
- },
26
- {
27
- text: `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`,
28
- type: "text",
29
- },
30
- ],
48
+ content,
31
49
  };
32
50
  }
51
+ async replaceRawValuesWithEmbeddingsIfNecessary({ database, collection, documents, embeddingParameters, }) {
52
+ // If no embedding parameters or no input specified, return documents as-is
53
+ if (!embeddingParameters?.input || embeddingParameters.input.length === 0) {
54
+ return documents;
55
+ }
56
+ // Get vector search indexes for the collection
57
+ const vectorIndexes = await this.session.vectorSearchEmbeddingsManager.embeddingsForNamespace({
58
+ database,
59
+ collection,
60
+ });
61
+ // Ensure for inputted fields, the vector search index exists.
62
+ for (const input of embeddingParameters.input) {
63
+ for (const fieldPath of Object.keys(input)) {
64
+ if (!vectorIndexes.some((index) => index.path === fieldPath)) {
65
+ throw new MongoDBError(ErrorCodes.AtlasVectorSearchInvalidQuery, `Field '${fieldPath}' does not have a vector search index in collection ${database}.${collection}. Only fields with vector search indexes can have embeddings generated.`);
66
+ }
67
+ }
68
+ }
69
+ // We make one call to generate embeddings for all documents at once to avoid making too many API calls.
70
+ const flattenedEmbeddingsInput = embeddingParameters.input.flatMap((documentInput, index) => Object.entries(documentInput).map(([fieldPath, rawTextValue]) => ({
71
+ fieldPath,
72
+ rawTextValue,
73
+ documentIndex: index,
74
+ })));
75
+ const generatedEmbeddings = await this.session.vectorSearchEmbeddingsManager.generateEmbeddings({
76
+ rawValues: flattenedEmbeddingsInput.map(({ rawTextValue }) => rawTextValue),
77
+ embeddingParameters,
78
+ inputType: "document",
79
+ });
80
+ const processedDocuments = [...documents];
81
+ for (const [index, { fieldPath, documentIndex }] of flattenedEmbeddingsInput.entries()) {
82
+ if (!processedDocuments[documentIndex]) {
83
+ throw new MongoDBError(ErrorCodes.Unexpected, `Document at index ${documentIndex} does not exist.`);
84
+ }
85
+ // Ensure no nested fields are present in the field path.
86
+ this.deleteFieldPath(processedDocuments[documentIndex], fieldPath);
87
+ processedDocuments[documentIndex][fieldPath] = generatedEmbeddings[index];
88
+ }
89
+ return processedDocuments;
90
+ }
91
+ // Delete a specified field path from a document using dot notation.
92
+ deleteFieldPath(document, fieldPath) {
93
+ const parts = fieldPath.split(".");
94
+ let current = document;
95
+ for (let i = 0; i < parts.length; i++) {
96
+ const part = parts[i];
97
+ const key = part;
98
+ if (!current[key]) {
99
+ return;
100
+ }
101
+ else if (i === parts.length - 1) {
102
+ delete current[key];
103
+ }
104
+ else {
105
+ current = current[key];
106
+ }
107
+ }
108
+ }
33
109
  }
34
110
  //# sourceMappingURL=insertMany.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,OAAO,cAAe,SAAQ,eAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC;iBACP,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;iBAC1D,QAAQ,CACL,8GAA8G,CACjH;SACR,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAuBnD,CAAC;IArBa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACqB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE1E,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,cAAc,MAAM,CAAC,aAAa,mCAAmC,UAAU,GAAG;oBACxF,IAAI,EAAE,MAAM;iBACf;gBACD;oBACI,IAAI,EAAE,iBAAiB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrE,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,14 @@ export declare class DropIndexTool extends MongoDBToolBase {
7
7
  protected description: string;
8
8
  protected argsShape: {
9
9
  indexName: z.ZodString;
10
+ type: z.ZodDefault<z.ZodLiteral<"classic">> | z.ZodEnum<["classic", "search"]>;
10
11
  database: z.ZodString;
11
12
  collection: z.ZodString;
12
13
  };
13
14
  operationType: OperationType;
14
- protected execute({ database, collection, indexName, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
15
- protected getConfirmationMessage({ database, collection, indexName }: ToolArgs<typeof this.argsShape>): string;
15
+ protected execute(toolArgs: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
16
+ private dropClassicIndex;
17
+ private dropSearchIndex;
18
+ protected getConfirmationMessage({ database, collection, indexName, type, }: ToolArgs<typeof this.argsShape>): string;
16
19
  }
17
20
  //# sourceMappingURL=dropIndex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropIndex.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAuB,MAAM,eAAe,CAAC;AAEvF,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAgB;IAC3B,SAAS,CAAC,WAAW,SAA6D;IAClF,SAAS,CAAC,SAAS;;;;MAGjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAmB5D,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAOjH"}
1
+ {"version":3,"file":"dropIndex.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAuB,MAAM,eAAe,CAAC;AAEvF,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAgB;IAC3B,SAAS,CAAC,WAAW,SAA6D;IAClF,SAAS,CAAC,SAAS;;;;;MAajB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;YAU7E,gBAAgB;YAqBhB,eAAe;IA4B7B,SAAS,CAAC,sBAAsB,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,IAAI,GACP,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAO9C"}
@@ -9,11 +9,27 @@ export class DropIndexTool extends MongoDBToolBase {
9
9
  this.argsShape = {
10
10
  ...DbOperationArgs,
11
11
  indexName: z.string().nonempty().describe("The name of the index to be dropped."),
12
+ type: this.isFeatureEnabled("search")
13
+ ? z
14
+ .enum(["classic", "search"])
15
+ .describe("The type of index to be deleted. Use 'classic' for standard indexes and 'search' for atlas search and vector search indexes.")
16
+ : z
17
+ .literal("classic")
18
+ .default("classic")
19
+ .describe("The type of index to be deleted. Is always set to 'classic'."),
12
20
  };
13
21
  this.operationType = "delete";
14
22
  }
15
- async execute({ database, collection, indexName, }) {
23
+ async execute(toolArgs) {
16
24
  const provider = await this.ensureConnected();
25
+ switch (toolArgs.type) {
26
+ case "classic":
27
+ return this.dropClassicIndex(provider, toolArgs);
28
+ case "search":
29
+ return this.dropSearchIndex(provider, toolArgs);
30
+ }
31
+ }
32
+ async dropClassicIndex(provider, { database, collection, indexName }) {
17
33
  const result = await provider.runCommand(database, {
18
34
  dropIndexes: collection,
19
35
  index: indexName,
@@ -26,8 +42,25 @@ export class DropIndexTool extends MongoDBToolBase {
26
42
  isError: result.ok ? undefined : true,
27
43
  };
28
44
  }
29
- getConfirmationMessage({ database, collection, indexName }) {
30
- return (`You are about to drop the \`${indexName}\` index from the \`${database}.${collection}\` namespace:\n\n` +
45
+ async dropSearchIndex(provider, { database, collection, indexName }) {
46
+ await this.ensureSearchIsSupported();
47
+ const indexes = await provider.getSearchIndexes(database, collection, indexName);
48
+ if (indexes.length === 0) {
49
+ return {
50
+ content: formatUntrustedData("Index does not exist in the provided namespace.", JSON.stringify({ indexName, namespace: `${database}.${collection}` })),
51
+ isError: true,
52
+ };
53
+ }
54
+ await provider.dropSearchIndex(database, collection, indexName);
55
+ return {
56
+ content: formatUntrustedData("Successfully dropped the index from the provided namespace.", JSON.stringify({
57
+ indexName,
58
+ namespace: `${database}.${collection}`,
59
+ })),
60
+ };
61
+ }
62
+ getConfirmationMessage({ database, collection, indexName, type, }) {
63
+ return (`You are about to drop the ${type === "search" ? "search index" : "index"} named \`${indexName}\` from the \`${database}.${collection}\` namespace:\n\n` +
31
64
  "This operation will permanently remove the index and might affect the performance of queries relying on this index.\n\n" +
32
65
  "**Do you confirm the execution of the action?**");
33
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dropIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAqC,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEvF,MAAM,OAAO,aAAc,SAAQ,eAAe;IAAlD;;QACW,SAAI,GAAG,YAAY,CAAC;QACjB,gBAAW,GAAG,yDAAyD,CAAC;QACxE,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACpF,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAgCnD,CAAC;IA9Ba,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACqB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC/C,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,mBAAmB,CACxB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,yCAAyC,EACjG,IAAI,CAAC,SAAS,CAAC;gBACX,SAAS;gBACT,SAAS,EAAE,GAAG,QAAQ,IAAI,UAAU,EAAE;aACzC,CAAC,CACL;YACD,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACxC,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAmC;QACjG,OAAO,CACH,+BAA+B,SAAS,uBAAuB,QAAQ,IAAI,UAAU,mBAAmB;YACxG,yHAAyH;YACzH,iDAAiD,CACpD,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"dropIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
2
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
3
  import type { ToolArgs, OperationType } from "../../tool.js";
4
+ type SearchIndexStatus = {
5
+ name: string;
6
+ type: string;
7
+ status: string;
8
+ queryable: boolean;
9
+ latestDefinition: Document;
10
+ };
4
11
  export declare class CollectionIndexesTool extends MongoDBToolBase {
5
12
  name: string;
6
13
  protected description: string;
@@ -11,5 +18,13 @@ export declare class CollectionIndexesTool extends MongoDBToolBase {
11
18
  operationType: OperationType;
12
19
  protected execute({ database, collection }: ToolArgs<typeof DbOperationArgs>): Promise<CallToolResult>;
13
20
  protected handleError(error: unknown, args: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> | CallToolResult;
21
+ /**
22
+ * Atlas Search index status contains a lot of information that is not relevant for the agent at this stage.
23
+ * Like for example, the status on each of the dedicated nodes. We only care about the main status, if it's
24
+ * queryable and the index name. We are also picking the index definition as it can be used by the agent to
25
+ * understand which fields are available for searching.
26
+ **/
27
+ protected extractSearchIndexDetails(indexes: Record<string, unknown>[]): SearchIndexStatus[];
14
28
  }
29
+ export {};
15
30
  //# sourceMappingURL=collectionIndexes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionIndexes.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,qBAAa,qBAAsB,SAAQ,eAAe;IAC/C,IAAI,SAAwB;IACnC,SAAS,CAAC,WAAW,SAA2C;IAChE,SAAS,CAAC,SAAS;;;MAAmB;IAC/B,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,OAAO,eAAe,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB5G,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;CAe9C"}
1
+ {"version":3,"file":"collectionIndexes.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,KAAK,iBAAiB,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAOF,qBAAa,qBAAsB,SAAQ,eAAe;IAC/C,IAAI,SAAwB;IACnC,SAAS,CAAC,WAAW,SAA2C;IAChE,SAAS,CAAC,SAAS;;;MAAmB;IAC/B,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,OAAO,eAAe,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IA8B5G,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAgB3C;;;;;QAKI;IACJ,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,iBAAiB,EAAE;CAS/F"}
@@ -11,12 +11,22 @@ export class CollectionIndexesTool extends MongoDBToolBase {
11
11
  async execute({ database, collection }) {
12
12
  const provider = await this.ensureConnected();
13
13
  const indexes = await provider.getIndexes(database, collection);
14
+ const indexDefinitions = indexes.map((index) => ({
15
+ name: index.name,
16
+ key: index.key,
17
+ }));
18
+ const searchIndexDefinitions = [];
19
+ if (this.isFeatureEnabled("search") && (await this.session.isSearchSupported())) {
20
+ const searchIndexes = await provider.getSearchIndexes(database, collection);
21
+ searchIndexDefinitions.push(...this.extractSearchIndexDetails(searchIndexes));
22
+ }
14
23
  return {
15
- content: formatUntrustedData(`Found ${indexes.length} indexes in the collection "${collection}":`, indexes.length > 0
16
- ? indexes
17
- .map((index) => `Name: "${index.name}", definition: ${JSON.stringify(index.key)}`)
18
- .join("\n")
19
- : undefined),
24
+ content: [
25
+ ...formatUntrustedData(`Found ${indexDefinitions.length} indexes in the collection "${collection}":`, ...indexDefinitions.map((i) => JSON.stringify(i))),
26
+ ...(searchIndexDefinitions.length > 0
27
+ ? formatUntrustedData(`Found ${searchIndexDefinitions.length} search and vector search indexes in the collection "${collection}":`, ...searchIndexDefinitions.map((i) => JSON.stringify(i)))
28
+ : []),
29
+ ],
20
30
  };
21
31
  }
22
32
  handleError(error, args) {
@@ -33,5 +43,20 @@ export class CollectionIndexesTool extends MongoDBToolBase {
33
43
  }
34
44
  return super.handleError(error, args);
35
45
  }
46
+ /**
47
+ * Atlas Search index status contains a lot of information that is not relevant for the agent at this stage.
48
+ * Like for example, the status on each of the dedicated nodes. We only care about the main status, if it's
49
+ * queryable and the index name. We are also picking the index definition as it can be used by the agent to
50
+ * understand which fields are available for searching.
51
+ **/
52
+ extractSearchIndexDetails(indexes) {
53
+ return indexes.map((index) => ({
54
+ name: (index["name"] ?? "default"),
55
+ type: (index["type"] ?? "UNKNOWN"),
56
+ status: (index["status"] ?? "UNKNOWN"),
57
+ queryable: (index["queryable"] ?? false),
58
+ latestDefinition: index["latestDefinition"],
59
+ }));
60
+ }
36
61
  }
37
62
  //# sourceMappingURL=collectionIndexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAA1D;;QACW,SAAI,GAAG,oBAAoB,CAAC;QACzB,gBAAW,GAAG,uCAAuC,CAAC;QACtD,cAAS,GAAG,eAAe,CAAC;QAC/B,kBAAa,GAAkB,UAAU,CAAC;IAoCrD,CAAC;IAlCa,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAoC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEhE,OAAO;YACH,OAAO,EAAE,mBAAmB,CACxB,SAAS,OAAO,CAAC,MAAM,+BAA+B,UAAU,IAAI,EACpE,OAAO,CAAC,MAAM,GAAG,CAAC;gBACd,CAAC,CAAC,OAAO;qBACF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;qBACjF,IAAI,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,SAAS,CAClB;SACJ,CAAC;IACN,CAAC;IAES,WAAW,CACjB,KAAc,EACd,IAAqC;QAErC,IAAI,KAAK,YAAY,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YAC1F,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,oBAAoB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,+DAA+D;wBACzH,IAAI,EAAE,MAAM;qBACf;iBACJ;gBACD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACJ"}
1
+ {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export class CollectionSchemaTool extends MongoDBToolBase {
18
18
  .number()
19
19
  .optional()
20
20
  .default(ONE_MB)
21
- .describe(`The maximum number of bytes to return in the response. This value is capped by the servers configured maxBytesPerQuery and cannot be exceeded.`),
21
+ .describe(`The maximum number of bytes to return in the response. This value is capped by the server's configured maxBytesPerQuery and cannot be exceeded.`),
22
22
  };
23
23
  this.operationType = "metadata";
24
24
  }