mongodb-mcp-server 1.1.0 → 1.2.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 (278) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/common/atlas/cluster.d.ts +7 -2
  3. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
  4. package/dist/cjs/common/atlas/cluster.js +18 -4
  5. package/dist/cjs/common/atlas/cluster.js.map +1 -1
  6. package/dist/cjs/common/atlasLocal.d.ts +4 -0
  7. package/dist/cjs/common/atlasLocal.d.ts.map +1 -0
  8. package/dist/cjs/common/atlasLocal.js +57 -0
  9. package/dist/cjs/common/atlasLocal.js.map +1 -0
  10. package/dist/cjs/common/config.d.ts +84 -15
  11. package/dist/cjs/common/config.d.ts.map +1 -1
  12. package/dist/cjs/common/config.js +153 -10
  13. package/dist/cjs/common/config.js.map +1 -1
  14. package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
  15. package/dist/cjs/common/connectionErrorHandler.js +14 -5
  16. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  17. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  18. package/dist/cjs/common/connectionManager.js +5 -4
  19. package/dist/cjs/common/connectionManager.js.map +1 -1
  20. package/dist/cjs/common/errors.d.ts +5 -1
  21. package/dist/cjs/common/errors.d.ts.map +1 -1
  22. package/dist/cjs/common/errors.js +4 -0
  23. package/dist/cjs/common/errors.js.map +1 -1
  24. package/dist/cjs/common/packageInfo.js +1 -1
  25. package/dist/cjs/common/search/embeddingsProvider.d.ts +41 -0
  26. package/dist/cjs/common/search/embeddingsProvider.d.ts.map +1 -0
  27. package/dist/cjs/common/search/embeddingsProvider.js +53 -0
  28. package/dist/cjs/common/search/embeddingsProvider.js.map +1 -0
  29. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts +58 -0
  30. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  31. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js +200 -0
  32. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  33. package/dist/cjs/common/session.d.ts +8 -1
  34. package/dist/cjs/common/session.d.ts.map +1 -1
  35. package/dist/cjs/common/session.js +12 -4
  36. package/dist/cjs/common/session.js.map +1 -1
  37. package/dist/cjs/server.d.ts +2 -1
  38. package/dist/cjs/server.d.ts.map +1 -1
  39. package/dist/cjs/server.js +6 -2
  40. package/dist/cjs/server.js.map +1 -1
  41. package/dist/cjs/telemetry/types.d.ts +1 -0
  42. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  43. package/dist/cjs/tools/args.d.ts +1 -0
  44. package/dist/cjs/tools/args.d.ts.map +1 -1
  45. package/dist/cjs/tools/args.js +1 -0
  46. package/dist/cjs/tools/args.js.map +1 -1
  47. package/dist/cjs/tools/atlas/atlasTool.d.ts +1 -1
  48. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  49. package/dist/cjs/tools/atlas/atlasTool.js +1 -1
  50. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  51. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +3 -1
  52. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  53. package/dist/cjs/tools/atlas/connect/connectCluster.js +11 -6
  54. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  55. package/dist/cjs/tools/atlas/create/createProject.d.ts +0 -4
  56. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  57. package/dist/cjs/tools/atlas/create/createProject.js +3 -6
  58. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  59. package/dist/cjs/tools/atlas/read/inspectCluster.js +1 -1
  60. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  61. package/dist/cjs/tools/atlas/read/listClusters.js +1 -1
  62. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  63. package/dist/cjs/tools/atlas/read/listProjects.d.ts +0 -3
  64. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  65. package/dist/cjs/tools/atlas/read/listProjects.js +15 -20
  66. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  67. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +19 -0
  68. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  69. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +109 -0
  70. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  71. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +14 -0
  72. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  73. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +35 -0
  74. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  75. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  76. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  77. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +41 -0
  78. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -0
  79. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  80. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  81. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +32 -0
  82. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  83. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  84. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  85. package/dist/cjs/tools/atlasLocal/read/listDeployments.js +42 -0
  86. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -0
  87. package/dist/cjs/tools/atlasLocal/tools.d.ts +6 -0
  88. package/dist/cjs/tools/atlasLocal/tools.d.ts.map +1 -0
  89. package/dist/cjs/tools/atlasLocal/tools.js +9 -0
  90. package/dist/cjs/tools/atlasLocal/tools.js.map +1 -0
  91. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +1 -1
  92. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  93. package/dist/cjs/tools/mongodb/create/createIndex.js +6 -21
  94. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  95. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +1 -1
  96. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  97. package/dist/cjs/tools/mongodb/create/insertMany.js +14 -10
  98. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  99. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +5 -2
  100. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  101. package/dist/cjs/tools/mongodb/delete/dropIndex.js +36 -3
  102. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  103. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  104. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  105. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +30 -5
  106. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  107. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +191 -9
  108. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  109. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  110. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +1 -3
  111. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  112. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +2 -1
  113. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  114. package/dist/cjs/tools/mongodb/mongodbTool.js +19 -0
  115. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  116. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +215 -2
  117. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  118. package/dist/cjs/tools/mongodb/read/aggregate.js +82 -8
  119. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  120. package/dist/cjs/tools/mongodb/read/export.d.ts +191 -9
  121. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  122. package/dist/cjs/tools/mongodb/read/find.js +1 -1
  123. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  124. package/dist/cjs/tools/mongodb/tools.d.ts +1 -2
  125. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  126. package/dist/cjs/tools/mongodb/tools.js +0 -2
  127. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  128. package/dist/cjs/tools/tool.d.ts +5 -4
  129. package/dist/cjs/tools/tool.d.ts.map +1 -1
  130. package/dist/cjs/tools/tool.js +8 -5
  131. package/dist/cjs/tools/tool.js.map +1 -1
  132. package/dist/cjs/transports/base.d.ts +4 -1
  133. package/dist/cjs/transports/base.d.ts.map +1 -1
  134. package/dist/cjs/transports/base.js +6 -1
  135. package/dist/cjs/transports/base.js.map +1 -1
  136. package/dist/esm/common/atlas/cluster.d.ts +7 -2
  137. package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
  138. package/dist/esm/common/atlas/cluster.js +17 -4
  139. package/dist/esm/common/atlas/cluster.js.map +1 -1
  140. package/dist/esm/common/atlasLocal.d.ts +4 -0
  141. package/dist/esm/common/atlasLocal.d.ts.map +1 -0
  142. package/dist/esm/common/atlasLocal.js +20 -0
  143. package/dist/esm/common/atlasLocal.js.map +1 -0
  144. package/dist/esm/common/config.d.ts +84 -15
  145. package/dist/esm/common/config.d.ts.map +1 -1
  146. package/dist/esm/common/config.js +112 -2
  147. package/dist/esm/common/config.js.map +1 -1
  148. package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
  149. package/dist/esm/common/connectionErrorHandler.js +14 -5
  150. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  151. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  152. package/dist/esm/common/connectionManager.js +5 -4
  153. package/dist/esm/common/connectionManager.js.map +1 -1
  154. package/dist/esm/common/errors.d.ts +5 -1
  155. package/dist/esm/common/errors.d.ts.map +1 -1
  156. package/dist/esm/common/errors.js +4 -0
  157. package/dist/esm/common/errors.js.map +1 -1
  158. package/dist/esm/common/packageInfo.js +1 -1
  159. package/dist/esm/common/search/embeddingsProvider.d.ts +41 -0
  160. package/dist/esm/common/search/embeddingsProvider.d.ts.map +1 -0
  161. package/dist/esm/common/search/embeddingsProvider.js +46 -0
  162. package/dist/esm/common/search/embeddingsProvider.js.map +1 -0
  163. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts +58 -0
  164. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  165. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js +193 -0
  166. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  167. package/dist/esm/common/session.d.ts +8 -1
  168. package/dist/esm/common/session.d.ts.map +1 -1
  169. package/dist/esm/common/session.js +12 -4
  170. package/dist/esm/common/session.js.map +1 -1
  171. package/dist/esm/server.d.ts +2 -1
  172. package/dist/esm/server.d.ts.map +1 -1
  173. package/dist/esm/server.js +5 -1
  174. package/dist/esm/server.js.map +1 -1
  175. package/dist/esm/telemetry/types.d.ts +1 -0
  176. package/dist/esm/telemetry/types.d.ts.map +1 -1
  177. package/dist/esm/tools/args.d.ts +1 -0
  178. package/dist/esm/tools/args.d.ts.map +1 -1
  179. package/dist/esm/tools/args.js +1 -0
  180. package/dist/esm/tools/args.js.map +1 -1
  181. package/dist/esm/tools/atlas/atlasTool.d.ts +1 -1
  182. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  183. package/dist/esm/tools/atlas/atlasTool.js +1 -1
  184. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  185. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +3 -1
  186. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  187. package/dist/esm/tools/atlas/connect/connectCluster.js +12 -7
  188. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  189. package/dist/esm/tools/atlas/create/createProject.d.ts +0 -4
  190. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  191. package/dist/esm/tools/atlas/create/createProject.js +2 -5
  192. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  193. package/dist/esm/tools/atlas/read/inspectCluster.js +1 -1
  194. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  195. package/dist/esm/tools/atlas/read/listClusters.js +1 -1
  196. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  197. package/dist/esm/tools/atlas/read/listProjects.d.ts +0 -3
  198. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  199. package/dist/esm/tools/atlas/read/listProjects.js +14 -19
  200. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  201. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +19 -0
  202. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  203. package/dist/esm/tools/atlasLocal/atlasLocalTool.js +105 -0
  204. package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  205. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +14 -0
  206. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  207. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +31 -0
  208. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  209. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  210. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  211. package/dist/esm/tools/atlasLocal/create/createDeployment.js +37 -0
  212. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -0
  213. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  214. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  215. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +28 -0
  216. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  217. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  218. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  219. package/dist/esm/tools/atlasLocal/read/listDeployments.js +38 -0
  220. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -0
  221. package/dist/esm/tools/atlasLocal/tools.d.ts +6 -0
  222. package/dist/esm/tools/atlasLocal/tools.d.ts.map +1 -0
  223. package/dist/esm/tools/atlasLocal/tools.js +6 -0
  224. package/dist/esm/tools/atlasLocal/tools.js.map +1 -0
  225. package/dist/esm/tools/mongodb/create/createIndex.d.ts +1 -1
  226. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  227. package/dist/esm/tools/mongodb/create/createIndex.js +6 -21
  228. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  229. package/dist/esm/tools/mongodb/create/insertMany.d.ts +1 -1
  230. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  231. package/dist/esm/tools/mongodb/create/insertMany.js +14 -10
  232. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  233. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +5 -2
  234. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  235. package/dist/esm/tools/mongodb/delete/dropIndex.js +36 -3
  236. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  237. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  238. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  239. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +30 -5
  240. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  241. package/dist/esm/tools/mongodb/metadata/explain.d.ts +191 -9
  242. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  243. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  244. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -3
  245. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  246. package/dist/esm/tools/mongodb/mongodbTool.d.ts +2 -1
  247. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  248. package/dist/esm/tools/mongodb/mongodbTool.js +19 -0
  249. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  250. package/dist/esm/tools/mongodb/read/aggregate.d.ts +215 -2
  251. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  252. package/dist/esm/tools/mongodb/read/aggregate.js +82 -8
  253. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  254. package/dist/esm/tools/mongodb/read/export.d.ts +191 -9
  255. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  256. package/dist/esm/tools/mongodb/read/find.js +1 -1
  257. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  258. package/dist/esm/tools/mongodb/tools.d.ts +1 -2
  259. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  260. package/dist/esm/tools/mongodb/tools.js +0 -2
  261. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  262. package/dist/esm/tools/tool.d.ts +5 -4
  263. package/dist/esm/tools/tool.d.ts.map +1 -1
  264. package/dist/esm/tools/tool.js +8 -5
  265. package/dist/esm/tools/tool.js.map +1 -1
  266. package/dist/esm/transports/base.d.ts +4 -1
  267. package/dist/esm/transports/base.d.ts.map +1 -1
  268. package/dist/esm/transports/base.js +6 -1
  269. package/dist/esm/transports/base.js.map +1 -1
  270. package/package.json +15 -11
  271. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  272. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  273. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js +0 -65
  274. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js.map +0 -1
  275. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  276. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  277. package/dist/esm/tools/mongodb/search/listSearchIndexes.js +0 -61
  278. package/dist/esm/tools/mongodb/search/listSearchIndexes.js.map +0 -1
@@ -15,11 +15,27 @@ class DropIndexTool extends mongodbTool_js_1.MongoDBToolBase {
15
15
  this.argsShape = {
16
16
  ...mongodbTool_js_1.DbOperationArgs,
17
17
  indexName: zod_1.default.string().nonempty().describe("The name of the index to be dropped."),
18
+ type: this.isFeatureFlagEnabled("vectorSearch" /* FeatureFlags.VectorSearch */)
19
+ ? zod_1.default
20
+ .enum(["classic", "search"])
21
+ .describe("The type of index to be deleted. Use 'classic' for standard indexes and 'search' for atlas search and vector search indexes.")
22
+ : zod_1.default
23
+ .literal("classic")
24
+ .default("classic")
25
+ .describe("The type of index to be deleted. Is always set to 'classic'."),
18
26
  };
19
27
  this.operationType = "delete";
20
28
  }
21
- async execute({ database, collection, indexName, }) {
29
+ async execute(toolArgs) {
22
30
  const provider = await this.ensureConnected();
31
+ switch (toolArgs.type) {
32
+ case "classic":
33
+ return this.dropClassicIndex(provider, toolArgs);
34
+ case "search":
35
+ return this.dropSearchIndex(provider, toolArgs);
36
+ }
37
+ }
38
+ async dropClassicIndex(provider, { database, collection, indexName }) {
23
39
  const result = await provider.runCommand(database, {
24
40
  dropIndexes: collection,
25
41
  index: indexName,
@@ -32,8 +48,25 @@ class DropIndexTool extends mongodbTool_js_1.MongoDBToolBase {
32
48
  isError: result.ok ? undefined : true,
33
49
  };
34
50
  }
35
- getConfirmationMessage({ database, collection, indexName }) {
36
- return (`You are about to drop the \`${indexName}\` index from the \`${database}.${collection}\` namespace:\n\n` +
51
+ async dropSearchIndex(provider, { database, collection, indexName }) {
52
+ await this.ensureSearchIsSupported();
53
+ const indexes = await provider.getSearchIndexes(database, collection, indexName);
54
+ if (indexes.length === 0) {
55
+ return {
56
+ content: (0, tool_js_1.formatUntrustedData)("Index does not exist in the provided namespace.", JSON.stringify({ indexName, namespace: `${database}.${collection}` })),
57
+ isError: true,
58
+ };
59
+ }
60
+ await provider.dropSearchIndex(database, collection, indexName);
61
+ return {
62
+ content: (0, tool_js_1.formatUntrustedData)("Successfully dropped the index from the provided namespace.", JSON.stringify({
63
+ indexName,
64
+ namespace: `${database}.${collection}`,
65
+ })),
66
+ };
67
+ }
68
+ getConfirmationMessage({ database, collection, indexName, type, }) {
69
+ return (`You are about to drop the ${type === "search" ? "search index" : "index"} named \`${indexName}\` from the \`${database}.${collection}\` namespace:\n\n` +
37
70
  "This operation will permanently remove the index and might affect the performance of queries relying on this index.\n\n" +
38
71
  "**Do you confirm the execution of the action?**");
39
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dropIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,sDAAqE;AACrE,2CAAuF;AAEvF,MAAa,aAAc,SAAQ,gCAAe;IAAlD;;QACW,SAAI,GAAG,YAAY,CAAC;QACjB,gBAAW,GAAG,yDAAyD,CAAC;QACxE,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,SAAS,EAAE,aAAC,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,IAAA,6BAAmB,EACxB,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;AAvCD,sCAuCC"}
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"}
@@ -14,12 +14,22 @@ class CollectionIndexesTool extends mongodbTool_js_1.MongoDBToolBase {
14
14
  async execute({ database, collection }) {
15
15
  const provider = await this.ensureConnected();
16
16
  const indexes = await provider.getIndexes(database, collection);
17
+ const indexDefinitions = indexes.map((index) => ({
18
+ name: index.name,
19
+ key: index.key,
20
+ }));
21
+ const searchIndexDefinitions = [];
22
+ if (this.isFeatureFlagEnabled("vectorSearch" /* FeatureFlags.VectorSearch */) && (await this.session.isSearchSupported())) {
23
+ const searchIndexes = await provider.getSearchIndexes(database, collection);
24
+ searchIndexDefinitions.push(...this.extractSearchIndexDetails(searchIndexes));
25
+ }
17
26
  return {
18
- content: (0, tool_js_1.formatUntrustedData)(`Found ${indexes.length} indexes in the collection "${collection}":`, indexes.length > 0
19
- ? indexes
20
- .map((index) => `Name: "${index.name}", definition: ${JSON.stringify(index.key)}`)
21
- .join("\n")
22
- : undefined),
27
+ content: [
28
+ ...(0, tool_js_1.formatUntrustedData)(`Found ${indexDefinitions.length} indexes in the collection "${collection}":`, ...indexDefinitions.map((i) => JSON.stringify(i))),
29
+ ...(searchIndexDefinitions.length > 0
30
+ ? (0, tool_js_1.formatUntrustedData)(`Found ${searchIndexDefinitions.length} search and vector search indexes in the collection "${collection}":`, ...searchIndexDefinitions.map((i) => JSON.stringify(i)))
31
+ : []),
32
+ ],
23
33
  };
24
34
  }
25
35
  handleError(error, args) {
@@ -36,6 +46,21 @@ class CollectionIndexesTool extends mongodbTool_js_1.MongoDBToolBase {
36
46
  }
37
47
  return super.handleError(error, args);
38
48
  }
49
+ /**
50
+ * Atlas Search index status contains a lot of information that is not relevant for the agent at this stage.
51
+ * Like for example, the status on each of the dedicated nodes. We only care about the main status, if it's
52
+ * queryable and the index name. We are also picking the index definition as it can be used by the agent to
53
+ * understand which fields are available for searching.
54
+ **/
55
+ extractSearchIndexDetails(indexes) {
56
+ return indexes.map((index) => ({
57
+ name: (index["name"] ?? "default"),
58
+ type: (index["type"] ?? "UNKNOWN"),
59
+ status: (index["status"] ?? "UNKNOWN"),
60
+ queryable: (index["queryable"] ?? false),
61
+ latestDefinition: index["latestDefinition"],
62
+ }));
63
+ }
39
64
  }
40
65
  exports.CollectionIndexesTool = CollectionIndexesTool;
41
66
  //# sourceMappingURL=collectionIndexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":";;;AACA,sDAAqE;AAErE,2CAAoD;AAEpD,MAAa,qBAAsB,SAAQ,gCAAe;IAA1D;;QACW,SAAI,GAAG,oBAAoB,CAAC;QACzB,gBAAW,GAAG,uCAAuC,CAAC;QACtD,cAAS,GAAG,gCAAe,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,IAAA,6BAAmB,EACxB,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;AAxCD,sDAwCC"}
1
+ {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"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"}
@@ -9,33 +9,215 @@ export declare class ExplainTool extends MongoDBToolBase {
9
9
  method: z.ZodArray<z.ZodDiscriminatedUnion<"name", [z.ZodObject<{
10
10
  name: z.ZodLiteral<"aggregate">;
11
11
  arguments: z.ZodObject<{
12
- pipeline: z.ZodArray<z.AnyZodObject, "many">;
12
+ pipeline: z.ZodArray<z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
13
+ $vectorSearch: z.ZodObject<{
14
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15
+ index: z.ZodString;
16
+ path: z.ZodString;
17
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
18
+ numCandidates: z.ZodOptional<z.ZodNumber>;
19
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
20
+ filter: z.ZodOptional<z.AnyZodObject>;
21
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
22
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
23
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
24
+ } & {
25
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
28
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
29
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
30
+ }, {
31
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
32
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
33
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
34
+ }>>;
35
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
36
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
37
+ index: z.ZodString;
38
+ path: z.ZodString;
39
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
40
+ numCandidates: z.ZodOptional<z.ZodNumber>;
41
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
42
+ filter: z.ZodOptional<z.AnyZodObject>;
43
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
44
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
45
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
46
+ } & {
47
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
50
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
51
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
52
+ }, {
53
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
54
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
55
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
56
+ }>>;
57
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
58
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
59
+ index: z.ZodString;
60
+ path: z.ZodString;
61
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
62
+ numCandidates: z.ZodOptional<z.ZodNumber>;
63
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
64
+ filter: z.ZodOptional<z.AnyZodObject>;
65
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
66
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
67
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
68
+ } & {
69
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
72
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
73
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
74
+ }, {
75
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
76
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
77
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
78
+ }>>;
79
+ }, z.ZodTypeAny, "passthrough">>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ $vectorSearch: {
82
+ path: string;
83
+ exact: boolean;
84
+ index: string;
85
+ limit: number;
86
+ queryVector: string | number[];
87
+ filter?: {
88
+ [x: string]: any;
89
+ } | undefined;
90
+ embeddingParameters?: {
91
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
92
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
93
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
94
+ } | undefined;
95
+ numCandidates?: number | undefined;
96
+ } & {
97
+ [k: string]: unknown;
98
+ };
99
+ }, {
100
+ $vectorSearch: {
101
+ path: string;
102
+ index: string;
103
+ queryVector: string | number[];
104
+ exact?: boolean | undefined;
105
+ filter?: {
106
+ [x: string]: any;
107
+ } | undefined;
108
+ embeddingParameters?: {
109
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
110
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
111
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
112
+ } | undefined;
113
+ limit?: number | undefined;
114
+ numCandidates?: number | undefined;
115
+ } & {
116
+ [k: string]: unknown;
117
+ };
118
+ }>]>, "many">;
13
119
  responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
120
  }, "strip", z.ZodTypeAny, {
15
121
  responseBytesLimit: number;
16
- pipeline: {
122
+ pipeline: ({
17
123
  [x: string]: any;
18
- }[];
124
+ } | {
125
+ $vectorSearch: {
126
+ path: string;
127
+ exact: boolean;
128
+ index: string;
129
+ limit: number;
130
+ queryVector: string | number[];
131
+ filter?: {
132
+ [x: string]: any;
133
+ } | undefined;
134
+ embeddingParameters?: {
135
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
136
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
137
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
138
+ } | undefined;
139
+ numCandidates?: number | undefined;
140
+ } & {
141
+ [k: string]: unknown;
142
+ };
143
+ })[];
19
144
  }, {
20
- pipeline: {
145
+ pipeline: ({
21
146
  [x: string]: any;
22
- }[];
147
+ } | {
148
+ $vectorSearch: {
149
+ path: string;
150
+ index: string;
151
+ queryVector: string | number[];
152
+ exact?: boolean | undefined;
153
+ filter?: {
154
+ [x: string]: any;
155
+ } | undefined;
156
+ embeddingParameters?: {
157
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
158
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
159
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
160
+ } | undefined;
161
+ limit?: number | undefined;
162
+ numCandidates?: number | undefined;
163
+ } & {
164
+ [k: string]: unknown;
165
+ };
166
+ })[];
23
167
  responseBytesLimit?: number | undefined;
24
168
  }>;
25
169
  }, "strip", z.ZodTypeAny, {
26
170
  name: "aggregate";
27
171
  arguments: {
28
172
  responseBytesLimit: number;
29
- pipeline: {
173
+ pipeline: ({
30
174
  [x: string]: any;
31
- }[];
175
+ } | {
176
+ $vectorSearch: {
177
+ path: string;
178
+ exact: boolean;
179
+ index: string;
180
+ limit: number;
181
+ queryVector: string | number[];
182
+ filter?: {
183
+ [x: string]: any;
184
+ } | undefined;
185
+ embeddingParameters?: {
186
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
187
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
188
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
189
+ } | undefined;
190
+ numCandidates?: number | undefined;
191
+ } & {
192
+ [k: string]: unknown;
193
+ };
194
+ })[];
32
195
  };
33
196
  }, {
34
197
  name: "aggregate";
35
198
  arguments: {
36
- pipeline: {
199
+ pipeline: ({
37
200
  [x: string]: any;
38
- }[];
201
+ } | {
202
+ $vectorSearch: {
203
+ path: string;
204
+ index: string;
205
+ queryVector: string | number[];
206
+ exact?: boolean | undefined;
207
+ filter?: {
208
+ [x: string]: any;
209
+ } | undefined;
210
+ embeddingParameters?: {
211
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
212
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
213
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
214
+ } | undefined;
215
+ limit?: number | undefined;
216
+ numCandidates?: number | undefined;
217
+ } & {
218
+ [k: string]: unknown;
219
+ };
220
+ })[];
39
221
  responseBytesLimit?: number | undefined;
40
222
  };
41
223
  }>, z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"AAAA,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;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,SAAa;IACxB,SAAS,CAAC,WAAW,SACwG;IAE7H,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BjB;IAEK,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EAAE,OAAO,EACf,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAkD/D"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"AAAA,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;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,SAAa;IACxB,SAAS,CAAC,WAAW,SACwG;IAE7H,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BjB;IAEK,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EAAE,OAAO,EACf,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAkD/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"listDatabases.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,qBAAa,iBAAkB,SAAQ,eAAe;IAC3C,IAAI,SAAoB;IAC/B,SAAS,CAAC,WAAW,SAAiD;IACtE,SAAS,CAAC,SAAS,KAAM;IAClB,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;CAarD"}
1
+ {"version":3,"file":"listDatabases.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,qBAAa,iBAAkB,SAAQ,eAAe;IAC3C,IAAI,SAAoB;IAC/B,SAAS,CAAC,WAAW,SAAiD;IACtE,SAAS,CAAC,SAAS,KAAM;IAClB,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;CAWrD"}
@@ -15,9 +15,7 @@ class ListDatabasesTool extends mongodbTool_js_1.MongoDBToolBase {
15
15
  const provider = await this.ensureConnected();
16
16
  const dbs = (await provider.listDatabases("")).databases;
17
17
  return {
18
- content: (0, tool_js_1.formatUntrustedData)(`Found ${dbs.length} databases`, dbs.length > 0
19
- ? dbs.map((db) => `Name: ${db.name}, Size: ${db.sizeOnDisk.toString()} bytes`).join("\n")
20
- : undefined),
18
+ content: (0, tool_js_1.formatUntrustedData)(`Found ${dbs.length} databases`, ...dbs.map((db) => `Name: ${db.name}, Size: ${db.sizeOnDisk.toString()} bytes`)),
21
19
  };
22
20
  }
23
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listDatabases.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":";;;AACA,sDAAoD;AAGpD,2CAAoD;AAEpD,MAAa,iBAAkB,SAAQ,gCAAe;IAAtD;;QACW,SAAI,GAAG,gBAAgB,CAAC;QACrB,gBAAW,GAAG,6CAA6C,CAAC;QAC5D,cAAS,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAkB,UAAU,CAAC;IAerD,CAAC;IAba,KAAK,CAAC,OAAO;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,SAAsD,CAAC;QAEtG,OAAO;YACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,SAAS,GAAG,CAAC,MAAM,YAAY,EAC/B,GAAG,CAAC,MAAM,GAAG,CAAC;gBACV,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzF,CAAC,CAAC,SAAS,CAClB;SACJ,CAAC;IACN,CAAC;CACJ;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"listDatabases.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":";;;AACA,sDAAoD;AAGpD,2CAAoD;AAEpD,MAAa,iBAAkB,SAAQ,gCAAe;IAAtD;;QACW,SAAI,GAAG,gBAAgB,CAAC;QACrB,gBAAW,GAAG,6CAA6C,CAAC;QAC5D,cAAS,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAkB,UAAU,CAAC;IAarD,CAAC;IAXa,KAAK,CAAC,OAAO;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,SAAsD,CAAC;QAEtG,OAAO;YACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,SAAS,GAAG,CAAC,MAAM,YAAY,EAC/B,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAClF;SACJ,CAAC;IACN,CAAC;CACJ;AAjBD,8CAiBC"}
@@ -12,9 +12,10 @@ export declare abstract class MongoDBToolBase extends ToolBase {
12
12
  protected server?: Server;
13
13
  category: ToolCategory;
14
14
  protected ensureConnected(): Promise<NodeDriverServiceProvider>;
15
+ protected ensureSearchIsSupported(): Promise<void>;
15
16
  register(server: Server): boolean;
16
17
  protected handleError(error: unknown, args: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> | CallToolResult;
17
18
  protected connectToMongoDB(connectionString: string): Promise<void>;
18
- protected resolveTelemetryMetadata(args: ToolArgs<typeof this.argsShape>): TelemetryToolMetadata;
19
+ protected resolveTelemetryMetadata(result: CallToolResult, args: ToolArgs<typeof this.argsShape>): TelemetryToolMetadata;
19
20
  }
20
21
  //# sourceMappingURL=mongodbTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8B9D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKxC,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAkC3C,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,SAAS,CAAC,wBAAwB,CAE9B,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,qBAAqB;CAU3B"}
1
+ {"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8BrE,SAAS,CAAC,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKxC,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAgD3C,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,SAAS,CAAC,wBAAwB,CAE9B,MAAM,EAAE,cAAc,EAEtB,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,qBAAqB;CAU3B"}
@@ -38,6 +38,9 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
38
38
  }
39
39
  return this.session.serviceProvider;
40
40
  }
41
+ ensureSearchIsSupported() {
42
+ return this.session.assertSearchSupported();
43
+ }
41
44
  register(server) {
42
45
  this.server = server;
43
46
  return super.register(server);
@@ -67,6 +70,20 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
67
70
  ],
68
71
  isError: true,
69
72
  };
73
+ case errors_js_1.ErrorCodes.AtlasSearchNotSupported: {
74
+ const CTA = this.server?.isToolCategoryAvailable("atlas-local")
75
+ ? "`atlas-local` tools"
76
+ : "Atlas CLI";
77
+ return {
78
+ content: [
79
+ {
80
+ 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.`,
81
+ type: "text",
82
+ },
83
+ ],
84
+ isError: true,
85
+ };
86
+ }
70
87
  }
71
88
  }
72
89
  return super.handleError(error, args);
@@ -76,6 +93,8 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
76
93
  }
77
94
  resolveTelemetryMetadata(
78
95
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
96
+ result,
97
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
79
98
  args) {
80
99
  const metadata = {};
81
100
  // Add projectId to the metadata if running a MongoDB operation to an Atlas cluster
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"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"}