mongodb-mcp-server 1.2.0 → 1.3.0-pre.2

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 (618) hide show
  1. package/README.md +56 -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/performanceAdvisorUtils.js +2 -2
  9. package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
  10. package/dist/cjs/common/atlas/roles.d.ts +1 -1
  11. package/dist/cjs/common/atlas/roles.d.ts.map +1 -1
  12. package/dist/cjs/common/atlasLocal.d.ts.map +1 -1
  13. package/dist/cjs/common/atlasLocal.js +4 -4
  14. package/dist/cjs/common/atlasLocal.js.map +1 -1
  15. package/dist/cjs/common/config/argsParserOptions.d.ts +12 -0
  16. package/dist/cjs/common/config/argsParserOptions.d.ts.map +1 -0
  17. package/dist/cjs/common/config/argsParserOptions.js +103 -0
  18. package/dist/cjs/common/config/argsParserOptions.js.map +1 -0
  19. package/dist/cjs/common/config/configOverrides.d.ts +30 -0
  20. package/dist/cjs/common/config/configOverrides.d.ts.map +1 -0
  21. package/dist/cjs/common/config/configOverrides.js +145 -0
  22. package/dist/cjs/common/config/configOverrides.js.map +1 -0
  23. package/dist/cjs/common/config/configUtils.d.ts +43 -0
  24. package/dist/cjs/common/config/configUtils.d.ts.map +1 -0
  25. package/dist/cjs/common/config/configUtils.js +178 -0
  26. package/dist/cjs/common/config/configUtils.js.map +1 -0
  27. package/dist/cjs/common/config/createUserConfig.d.ts +10 -0
  28. package/dist/cjs/common/config/createUserConfig.d.ts.map +1 -0
  29. package/dist/cjs/common/config/createUserConfig.js +156 -0
  30. package/dist/cjs/common/config/createUserConfig.js.map +1 -0
  31. package/dist/cjs/common/config/userConfig.d.ts +54 -0
  32. package/dist/cjs/common/config/userConfig.d.ts.map +1 -0
  33. package/dist/cjs/common/config/userConfig.js +180 -0
  34. package/dist/cjs/common/config/userConfig.js.map +1 -0
  35. package/dist/cjs/common/connectionErrorHandler.js +1 -1
  36. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  37. package/dist/cjs/common/connectionManager.d.ts +6 -5
  38. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  39. package/dist/cjs/common/connectionManager.js +24 -15
  40. package/dist/cjs/common/connectionManager.js.map +1 -1
  41. package/dist/cjs/common/errors.d.ts +2 -1
  42. package/dist/cjs/common/errors.d.ts.map +1 -1
  43. package/dist/cjs/common/errors.js +1 -0
  44. package/dist/cjs/common/errors.js.map +1 -1
  45. package/dist/cjs/common/exportsManager.d.ts +1 -1
  46. package/dist/cjs/common/exportsManager.d.ts.map +1 -1
  47. package/dist/cjs/common/logger.d.ts +2 -0
  48. package/dist/cjs/common/logger.d.ts.map +1 -1
  49. package/dist/cjs/common/logger.js +2 -0
  50. package/dist/cjs/common/logger.js.map +1 -1
  51. package/dist/cjs/common/packageInfo.js +1 -1
  52. package/dist/cjs/common/packageInfo.js.map +1 -1
  53. package/dist/cjs/common/schemas.d.ts +5 -0
  54. package/dist/cjs/common/schemas.d.ts.map +1 -0
  55. package/dist/cjs/common/schemas.js +6 -0
  56. package/dist/cjs/common/schemas.js.map +1 -0
  57. package/dist/cjs/common/search/embeddingsProvider.d.ts +3 -34
  58. package/dist/cjs/common/search/embeddingsProvider.d.ts.map +1 -1
  59. package/dist/cjs/common/search/embeddingsProvider.js +8 -16
  60. package/dist/cjs/common/search/embeddingsProvider.js.map +1 -1
  61. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts +18 -9
  62. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -1
  63. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js +68 -80
  64. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js.map +1 -1
  65. package/dist/cjs/common/session.d.ts +7 -5
  66. package/dist/cjs/common/session.d.ts.map +1 -1
  67. package/dist/cjs/common/session.js +17 -5
  68. package/dist/cjs/common/session.js.map +1 -1
  69. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  70. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  71. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js +58 -0
  72. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  73. package/dist/cjs/index.d.ts +2 -1
  74. package/dist/cjs/index.d.ts.map +1 -1
  75. package/dist/cjs/index.js +44 -16
  76. package/dist/cjs/index.js.map +1 -1
  77. package/dist/cjs/lib.d.ts +9 -4
  78. package/dist/cjs/lib.d.ts.map +1 -1
  79. package/dist/cjs/lib.js +18 -4
  80. package/dist/cjs/lib.js.map +1 -1
  81. package/dist/cjs/resources/common/config.d.ts +1 -1
  82. package/dist/cjs/resources/common/config.d.ts.map +1 -1
  83. package/dist/cjs/resources/common/config.js +4 -3
  84. package/dist/cjs/resources/common/config.js.map +1 -1
  85. package/dist/cjs/resources/resource.d.ts +1 -1
  86. package/dist/cjs/resources/resource.d.ts.map +1 -1
  87. package/dist/cjs/server.d.ts +34 -5
  88. package/dist/cjs/server.d.ts.map +1 -1
  89. package/dist/cjs/server.js +6 -24
  90. package/dist/cjs/server.js.map +1 -1
  91. package/dist/cjs/telemetry/telemetry.d.ts +1 -1
  92. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
  93. package/dist/cjs/telemetry/types.d.ts +22 -5
  94. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  95. package/dist/cjs/tools/atlas/atlasTool.d.ts +4 -3
  96. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  97. package/dist/cjs/tools/atlas/atlasTool.js +3 -6
  98. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  99. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +4 -1
  100. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  101. package/dist/cjs/tools/atlas/connect/connectCluster.js +37 -17
  102. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  103. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +1 -1
  104. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -1
  105. package/dist/cjs/tools/atlas/create/createAccessList.js +2 -2
  106. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
  107. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +1 -1
  108. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
  109. package/dist/cjs/tools/atlas/create/createDBUser.js +1 -1
  110. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
  111. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +1 -1
  112. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  113. package/dist/cjs/tools/atlas/create/createFreeCluster.js +1 -1
  114. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -1
  115. package/dist/cjs/tools/atlas/create/createProject.d.ts +1 -1
  116. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  117. package/dist/cjs/tools/atlas/create/createProject.js +3 -3
  118. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  119. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +5 -2
  120. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  121. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +8 -2
  122. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  123. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +1 -1
  124. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  125. package/dist/cjs/tools/atlas/read/inspectAccessList.js +8 -9
  126. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
  127. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +1 -1
  128. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  129. package/dist/cjs/tools/atlas/read/inspectCluster.js +10 -4
  130. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  131. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +1 -1
  132. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  133. package/dist/cjs/tools/atlas/read/listAlerts.js +10 -14
  134. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  135. package/dist/cjs/tools/atlas/read/listClusters.d.ts +1 -1
  136. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
  137. package/dist/cjs/tools/atlas/read/listClusters.js +10 -26
  138. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  139. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +1 -1
  140. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  141. package/dist/cjs/tools/atlas/read/listDBUsers.js +14 -24
  142. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
  143. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +1 -1
  144. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
  145. package/dist/cjs/tools/atlas/read/listOrgs.js +7 -12
  146. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
  147. package/dist/cjs/tools/atlas/read/listProjects.d.ts +1 -1
  148. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  149. package/dist/cjs/tools/atlas/read/listProjects.js +4 -4
  150. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  151. package/dist/cjs/tools/atlas/tools.d.ts +13 -14
  152. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -1
  153. package/dist/cjs/tools/atlas/tools.js +27 -29
  154. package/dist/cjs/tools/atlas/tools.js.map +1 -1
  155. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +4 -3
  156. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -1
  157. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +2 -5
  158. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -1
  159. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +3 -1
  160. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  161. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +4 -1
  162. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  163. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +1 -1
  164. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  165. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +1 -1
  166. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -1
  167. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
  168. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  169. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +1 -1
  170. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  171. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +1 -1
  172. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  173. package/dist/cjs/tools/atlasLocal/read/listDeployments.js +1 -1
  174. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -1
  175. package/dist/cjs/tools/atlasLocal/tools.d.ts +4 -5
  176. package/dist/cjs/tools/atlasLocal/tools.d.ts.map +1 -1
  177. package/dist/cjs/tools/atlasLocal/tools.js +9 -6
  178. package/dist/cjs/tools/atlasLocal/tools.js.map +1 -1
  179. package/dist/cjs/tools/index.d.ts +7 -0
  180. package/dist/cjs/tools/index.d.ts.map +1 -0
  181. package/dist/cjs/tools/index.js +56 -0
  182. package/dist/cjs/tools/index.js.map +1 -0
  183. package/dist/cjs/tools/mongodb/connect/connect.d.ts +6 -12
  184. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  185. package/dist/cjs/tools/mongodb/connect/connect.js +22 -75
  186. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  187. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +17 -0
  188. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  189. package/dist/cjs/tools/mongodb/connect/switchConnection.js +52 -0
  190. package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -0
  191. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +1 -1
  192. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  193. package/dist/cjs/tools/mongodb/create/createCollection.js +1 -1
  194. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  195. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +1 -1
  196. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  197. package/dist/cjs/tools/mongodb/create/createIndex.js +6 -4
  198. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  199. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +26 -2
  200. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  201. package/dist/cjs/tools/mongodb/create/insertMany.js +92 -19
  202. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  203. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +1 -1
  204. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  205. package/dist/cjs/tools/mongodb/delete/deleteMany.js +1 -1
  206. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  207. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +1 -1
  208. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  209. package/dist/cjs/tools/mongodb/delete/dropCollection.js +1 -1
  210. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  211. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +1 -1
  212. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  213. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +1 -1
  214. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  215. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +1 -1
  216. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  217. package/dist/cjs/tools/mongodb/delete/dropIndex.js +2 -2
  218. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  219. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +1 -1
  220. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  221. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +2 -2
  222. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  223. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  224. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  225. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +2 -2
  226. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  227. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +1 -1
  228. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  229. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +1 -1
  230. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  231. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +1 -1
  232. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  233. package/dist/cjs/tools/mongodb/metadata/dbStats.js +1 -1
  234. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  235. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +45 -45
  236. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  237. package/dist/cjs/tools/mongodb/metadata/explain.js +2 -2
  238. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  239. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +1 -1
  240. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  241. package/dist/cjs/tools/mongodb/metadata/listCollections.js +1 -1
  242. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  243. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +1 -1
  244. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  245. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +1 -1
  246. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  247. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +1 -1
  248. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  249. package/dist/cjs/tools/mongodb/metadata/logs.js +1 -1
  250. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  251. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +155 -0
  252. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  253. package/dist/cjs/tools/mongodb/mongodbSchemas.js +69 -0
  254. package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -0
  255. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +14 -4
  256. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  257. package/dist/cjs/tools/mongodb/mongodbTool.js +14 -16
  258. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  259. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +58 -57
  260. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  261. package/dist/cjs/tools/mongodb/read/aggregate.js +80 -47
  262. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  263. package/dist/cjs/tools/mongodb/read/count.d.ts +1 -1
  264. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  265. package/dist/cjs/tools/mongodb/read/count.js +1 -1
  266. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  267. package/dist/cjs/tools/mongodb/read/export.d.ts +45 -45
  268. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  269. package/dist/cjs/tools/mongodb/read/export.js +4 -2
  270. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  271. package/dist/cjs/tools/mongodb/read/find.d.ts +1 -1
  272. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  273. package/dist/cjs/tools/mongodb/read/find.js +2 -2
  274. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  275. package/dist/cjs/tools/mongodb/tools.d.ts +23 -23
  276. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  277. package/dist/cjs/tools/mongodb/tools.js +47 -47
  278. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  279. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +1 -1
  280. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  281. package/dist/cjs/tools/mongodb/update/renameCollection.js +1 -1
  282. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  283. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +1 -1
  284. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  285. package/dist/cjs/tools/mongodb/update/updateMany.js +1 -1
  286. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  287. package/dist/cjs/tools/tool.d.ts +343 -25
  288. package/dist/cjs/tools/tool.d.ts.map +1 -1
  289. package/dist/cjs/tools/tool.js +175 -56
  290. package/dist/cjs/tools/tool.js.map +1 -1
  291. package/dist/cjs/transports/base.d.ts +156 -3
  292. package/dist/cjs/transports/base.d.ts.map +1 -1
  293. package/dist/cjs/transports/base.js +37 -11
  294. package/dist/cjs/transports/base.js.map +1 -1
  295. package/dist/cjs/transports/dryModeRunner.d.ts +19 -0
  296. package/dist/cjs/transports/dryModeRunner.d.ts.map +1 -0
  297. package/dist/cjs/transports/dryModeRunner.js +37 -0
  298. package/dist/cjs/transports/dryModeRunner.js.map +1 -0
  299. package/dist/cjs/transports/inMemoryTransport.d.ts +18 -0
  300. package/dist/cjs/transports/inMemoryTransport.d.ts.map +1 -0
  301. package/dist/cjs/transports/inMemoryTransport.js +43 -0
  302. package/dist/cjs/transports/inMemoryTransport.js.map +1 -0
  303. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  304. package/dist/cjs/transports/streamableHttp.js +5 -1
  305. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  306. package/dist/esm/common/atlas/accessListUtils.js +1 -1
  307. package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
  308. package/dist/esm/common/atlas/apiClient.d.ts +30 -26
  309. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  310. package/dist/esm/common/atlas/apiClient.js +12 -12
  311. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  312. package/dist/esm/common/atlas/performanceAdvisorUtils.js +2 -2
  313. package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
  314. package/dist/esm/common/atlas/roles.d.ts +1 -1
  315. package/dist/esm/common/atlas/roles.d.ts.map +1 -1
  316. package/dist/esm/common/atlasLocal.d.ts.map +1 -1
  317. package/dist/esm/common/atlasLocal.js +4 -4
  318. package/dist/esm/common/atlasLocal.js.map +1 -1
  319. package/dist/esm/common/config/argsParserOptions.d.ts +12 -0
  320. package/dist/esm/common/config/argsParserOptions.d.ts.map +1 -0
  321. package/dist/esm/common/config/argsParserOptions.js +100 -0
  322. package/dist/esm/common/config/argsParserOptions.js.map +1 -0
  323. package/dist/esm/common/config/configOverrides.d.ts +30 -0
  324. package/dist/esm/common/config/configOverrides.d.ts.map +1 -0
  325. package/dist/esm/common/config/configOverrides.js +139 -0
  326. package/dist/esm/common/config/configOverrides.js.map +1 -0
  327. package/dist/esm/common/config/configUtils.d.ts +43 -0
  328. package/dist/esm/common/config/configUtils.d.ts.map +1 -0
  329. package/dist/esm/common/config/configUtils.js +130 -0
  330. package/dist/esm/common/config/configUtils.js.map +1 -0
  331. package/dist/esm/common/config/createUserConfig.d.ts +10 -0
  332. package/dist/esm/common/config/createUserConfig.d.ts.map +1 -0
  333. package/dist/esm/common/config/createUserConfig.js +149 -0
  334. package/dist/esm/common/config/createUserConfig.js.map +1 -0
  335. package/dist/esm/common/config/userConfig.d.ts +54 -0
  336. package/dist/esm/common/config/userConfig.d.ts.map +1 -0
  337. package/dist/esm/common/config/userConfig.js +177 -0
  338. package/dist/esm/common/config/userConfig.js.map +1 -0
  339. package/dist/esm/common/connectionErrorHandler.js +1 -1
  340. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  341. package/dist/esm/common/connectionManager.d.ts +6 -5
  342. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  343. package/dist/esm/common/connectionManager.js +23 -14
  344. package/dist/esm/common/connectionManager.js.map +1 -1
  345. package/dist/esm/common/errors.d.ts +2 -1
  346. package/dist/esm/common/errors.d.ts.map +1 -1
  347. package/dist/esm/common/errors.js +1 -0
  348. package/dist/esm/common/errors.js.map +1 -1
  349. package/dist/esm/common/exportsManager.d.ts +1 -1
  350. package/dist/esm/common/exportsManager.d.ts.map +1 -1
  351. package/dist/esm/common/logger.d.ts +2 -0
  352. package/dist/esm/common/logger.d.ts.map +1 -1
  353. package/dist/esm/common/logger.js +2 -0
  354. package/dist/esm/common/logger.js.map +1 -1
  355. package/dist/esm/common/packageInfo.js +1 -1
  356. package/dist/esm/common/packageInfo.js.map +1 -1
  357. package/dist/esm/common/schemas.d.ts +5 -0
  358. package/dist/esm/common/schemas.d.ts.map +1 -0
  359. package/dist/esm/common/schemas.js +3 -0
  360. package/dist/esm/common/schemas.js.map +1 -0
  361. package/dist/esm/common/search/embeddingsProvider.d.ts +3 -34
  362. package/dist/esm/common/search/embeddingsProvider.d.ts.map +1 -1
  363. package/dist/esm/common/search/embeddingsProvider.js +8 -15
  364. package/dist/esm/common/search/embeddingsProvider.js.map +1 -1
  365. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts +18 -9
  366. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -1
  367. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js +67 -79
  368. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js.map +1 -1
  369. package/dist/esm/common/session.d.ts +7 -5
  370. package/dist/esm/common/session.d.ts.map +1 -1
  371. package/dist/esm/common/session.js +17 -5
  372. package/dist/esm/common/session.js.map +1 -1
  373. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  374. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  375. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js +54 -0
  376. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  377. package/dist/esm/index.d.ts +2 -1
  378. package/dist/esm/index.d.ts.map +1 -1
  379. package/dist/esm/index.js +40 -13
  380. package/dist/esm/index.js.map +1 -1
  381. package/dist/esm/lib.d.ts +9 -4
  382. package/dist/esm/lib.d.ts.map +1 -1
  383. package/dist/esm/lib.js +9 -3
  384. package/dist/esm/lib.js.map +1 -1
  385. package/dist/esm/resources/common/config.d.ts +1 -1
  386. package/dist/esm/resources/common/config.d.ts.map +1 -1
  387. package/dist/esm/resources/common/config.js +4 -3
  388. package/dist/esm/resources/common/config.js.map +1 -1
  389. package/dist/esm/resources/resource.d.ts +1 -1
  390. package/dist/esm/resources/resource.d.ts.map +1 -1
  391. package/dist/esm/server.d.ts +34 -5
  392. package/dist/esm/server.d.ts.map +1 -1
  393. package/dist/esm/server.js +6 -24
  394. package/dist/esm/server.js.map +1 -1
  395. package/dist/esm/telemetry/telemetry.d.ts +1 -1
  396. package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
  397. package/dist/esm/telemetry/types.d.ts +22 -5
  398. package/dist/esm/telemetry/types.d.ts.map +1 -1
  399. package/dist/esm/tools/atlas/atlasTool.d.ts +4 -3
  400. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  401. package/dist/esm/tools/atlas/atlasTool.js +3 -6
  402. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  403. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +4 -1
  404. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  405. package/dist/esm/tools/atlas/connect/connectCluster.js +37 -17
  406. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  407. package/dist/esm/tools/atlas/create/createAccessList.d.ts +1 -1
  408. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -1
  409. package/dist/esm/tools/atlas/create/createAccessList.js +2 -2
  410. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
  411. package/dist/esm/tools/atlas/create/createDBUser.d.ts +1 -1
  412. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
  413. package/dist/esm/tools/atlas/create/createDBUser.js +1 -1
  414. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
  415. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +1 -1
  416. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  417. package/dist/esm/tools/atlas/create/createFreeCluster.js +1 -1
  418. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -1
  419. package/dist/esm/tools/atlas/create/createProject.d.ts +1 -1
  420. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  421. package/dist/esm/tools/atlas/create/createProject.js +3 -3
  422. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  423. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +5 -2
  424. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  425. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +8 -2
  426. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  427. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +1 -1
  428. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  429. package/dist/esm/tools/atlas/read/inspectAccessList.js +8 -9
  430. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
  431. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +1 -1
  432. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  433. package/dist/esm/tools/atlas/read/inspectCluster.js +10 -4
  434. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  435. package/dist/esm/tools/atlas/read/listAlerts.d.ts +1 -1
  436. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  437. package/dist/esm/tools/atlas/read/listAlerts.js +10 -14
  438. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  439. package/dist/esm/tools/atlas/read/listClusters.d.ts +1 -1
  440. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
  441. package/dist/esm/tools/atlas/read/listClusters.js +10 -26
  442. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  443. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +1 -1
  444. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  445. package/dist/esm/tools/atlas/read/listDBUsers.js +14 -24
  446. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
  447. package/dist/esm/tools/atlas/read/listOrgs.d.ts +1 -1
  448. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
  449. package/dist/esm/tools/atlas/read/listOrgs.js +7 -12
  450. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
  451. package/dist/esm/tools/atlas/read/listProjects.d.ts +1 -1
  452. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  453. package/dist/esm/tools/atlas/read/listProjects.js +4 -4
  454. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  455. package/dist/esm/tools/atlas/tools.d.ts +13 -14
  456. package/dist/esm/tools/atlas/tools.d.ts.map +1 -1
  457. package/dist/esm/tools/atlas/tools.js +13 -28
  458. package/dist/esm/tools/atlas/tools.js.map +1 -1
  459. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +4 -3
  460. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -1
  461. package/dist/esm/tools/atlasLocal/atlasLocalTool.js +2 -5
  462. package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -1
  463. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +3 -1
  464. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  465. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +4 -1
  466. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  467. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +1 -1
  468. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  469. package/dist/esm/tools/atlasLocal/create/createDeployment.js +1 -1
  470. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -1
  471. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
  472. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  473. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +1 -1
  474. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  475. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +1 -1
  476. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  477. package/dist/esm/tools/atlasLocal/read/listDeployments.js +1 -1
  478. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -1
  479. package/dist/esm/tools/atlasLocal/tools.d.ts +4 -5
  480. package/dist/esm/tools/atlasLocal/tools.d.ts.map +1 -1
  481. package/dist/esm/tools/atlasLocal/tools.js +4 -5
  482. package/dist/esm/tools/atlasLocal/tools.js.map +1 -1
  483. package/dist/esm/tools/index.d.ts +7 -0
  484. package/dist/esm/tools/index.d.ts.map +1 -0
  485. package/dist/esm/tools/index.js +16 -0
  486. package/dist/esm/tools/index.js.map +1 -0
  487. package/dist/esm/tools/mongodb/connect/connect.d.ts +6 -12
  488. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  489. package/dist/esm/tools/mongodb/connect/connect.js +22 -72
  490. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  491. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +17 -0
  492. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  493. package/dist/esm/tools/mongodb/connect/switchConnection.js +45 -0
  494. package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -0
  495. package/dist/esm/tools/mongodb/create/createCollection.d.ts +1 -1
  496. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  497. package/dist/esm/tools/mongodb/create/createCollection.js +1 -1
  498. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  499. package/dist/esm/tools/mongodb/create/createIndex.d.ts +1 -1
  500. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  501. package/dist/esm/tools/mongodb/create/createIndex.js +7 -5
  502. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  503. package/dist/esm/tools/mongodb/create/insertMany.d.ts +26 -2
  504. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  505. package/dist/esm/tools/mongodb/create/insertMany.js +92 -19
  506. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  507. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +1 -1
  508. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  509. package/dist/esm/tools/mongodb/delete/deleteMany.js +1 -1
  510. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  511. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +1 -1
  512. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  513. package/dist/esm/tools/mongodb/delete/dropCollection.js +1 -1
  514. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  515. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +1 -1
  516. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  517. package/dist/esm/tools/mongodb/delete/dropDatabase.js +1 -1
  518. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  519. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +1 -1
  520. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  521. package/dist/esm/tools/mongodb/delete/dropIndex.js +2 -2
  522. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  523. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +1 -1
  524. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  525. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +2 -2
  526. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  527. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  528. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  529. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +2 -2
  530. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  531. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +1 -1
  532. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  533. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +1 -1
  534. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  535. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +1 -1
  536. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  537. package/dist/esm/tools/mongodb/metadata/dbStats.js +1 -1
  538. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  539. package/dist/esm/tools/mongodb/metadata/explain.d.ts +45 -45
  540. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  541. package/dist/esm/tools/mongodb/metadata/explain.js +3 -3
  542. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  543. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +1 -1
  544. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  545. package/dist/esm/tools/mongodb/metadata/listCollections.js +1 -1
  546. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  547. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +1 -1
  548. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  549. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -1
  550. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  551. package/dist/esm/tools/mongodb/metadata/logs.d.ts +1 -1
  552. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  553. package/dist/esm/tools/mongodb/metadata/logs.js +1 -1
  554. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  555. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +155 -0
  556. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  557. package/dist/esm/tools/mongodb/mongodbSchemas.js +63 -0
  558. package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -0
  559. package/dist/esm/tools/mongodb/mongodbTool.d.ts +14 -4
  560. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  561. package/dist/esm/tools/mongodb/mongodbTool.js +14 -16
  562. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  563. package/dist/esm/tools/mongodb/read/aggregate.d.ts +58 -57
  564. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  565. package/dist/esm/tools/mongodb/read/aggregate.js +78 -46
  566. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  567. package/dist/esm/tools/mongodb/read/count.d.ts +1 -1
  568. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  569. package/dist/esm/tools/mongodb/read/count.js +1 -1
  570. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  571. package/dist/esm/tools/mongodb/read/export.d.ts +45 -45
  572. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  573. package/dist/esm/tools/mongodb/read/export.js +5 -3
  574. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  575. package/dist/esm/tools/mongodb/read/find.d.ts +1 -1
  576. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  577. package/dist/esm/tools/mongodb/read/find.js +2 -2
  578. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  579. package/dist/esm/tools/mongodb/tools.d.ts +23 -23
  580. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  581. package/dist/esm/tools/mongodb/tools.js +23 -46
  582. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  583. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +1 -1
  584. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  585. package/dist/esm/tools/mongodb/update/renameCollection.js +1 -1
  586. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  587. package/dist/esm/tools/mongodb/update/updateMany.d.ts +1 -1
  588. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  589. package/dist/esm/tools/mongodb/update/updateMany.js +1 -1
  590. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  591. package/dist/esm/tools/tool.d.ts +343 -25
  592. package/dist/esm/tools/tool.d.ts.map +1 -1
  593. package/dist/esm/tools/tool.js +175 -56
  594. package/dist/esm/tools/tool.js.map +1 -1
  595. package/dist/esm/transports/base.d.ts +156 -3
  596. package/dist/esm/transports/base.d.ts.map +1 -1
  597. package/dist/esm/transports/base.js +37 -11
  598. package/dist/esm/transports/base.js.map +1 -1
  599. package/dist/esm/transports/dryModeRunner.d.ts +19 -0
  600. package/dist/esm/transports/dryModeRunner.d.ts.map +1 -0
  601. package/dist/esm/transports/dryModeRunner.js +33 -0
  602. package/dist/esm/transports/dryModeRunner.js.map +1 -0
  603. package/dist/esm/transports/inMemoryTransport.d.ts +18 -0
  604. package/dist/esm/transports/inMemoryTransport.d.ts.map +1 -0
  605. package/dist/esm/transports/inMemoryTransport.js +39 -0
  606. package/dist/esm/transports/inMemoryTransport.js.map +1 -0
  607. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  608. package/dist/esm/transports/streamableHttp.js +5 -1
  609. package/dist/esm/transports/streamableHttp.js.map +1 -1
  610. package/package.json +53 -36
  611. package/dist/cjs/common/config.d.ts +0 -122
  612. package/dist/cjs/common/config.d.ts.map +0 -1
  613. package/dist/cjs/common/config.js +0 -544
  614. package/dist/cjs/common/config.js.map +0 -1
  615. package/dist/esm/common/config.d.ts +0 -122
  616. package/dist/esm/common/config.d.ts.map +0 -1
  617. package/dist/esm/common/config.js +0 -500
  618. package/dist/esm/common/config.js.map +0 -1
@@ -1,122 +0,0 @@
1
- import type { CliOptions, ConnectionInfo } from "@mongosh/arg-parser";
2
- import { z } from "zod";
3
- export declare const OPTIONS: Readonly<Options>;
4
- interface Options {
5
- string: string[];
6
- number: string[];
7
- boolean: string[];
8
- array: string[];
9
- alias: Record<string, string>;
10
- configuration: Record<string, boolean>;
11
- }
12
- export declare const ALL_CONFIG_KEYS: Set<string>;
13
- export declare function validateConfigKey(key: string): {
14
- valid: boolean;
15
- suggestion?: string;
16
- };
17
- export declare const UserConfigSchema: z.ZodObject<{
18
- apiBaseUrl: z.ZodDefault<z.ZodString>;
19
- apiClientId: z.ZodOptional<z.ZodString>;
20
- apiClientSecret: z.ZodOptional<z.ZodString>;
21
- connectionString: z.ZodOptional<z.ZodString>;
22
- loggers: z.ZodDefault<z.ZodArray<z.ZodEnum<["stderr", "disk", "mcp"]>, "many">>;
23
- logPath: z.ZodString;
24
- disabledTools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
25
- confirmationRequiredTools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
26
- readOnly: z.ZodDefault<z.ZodBoolean>;
27
- indexCheck: z.ZodDefault<z.ZodBoolean>;
28
- telemetry: z.ZodDefault<z.ZodEnum<["enabled", "disabled"]>>;
29
- transport: z.ZodDefault<z.ZodEnum<["stdio", "http"]>>;
30
- httpPort: z.ZodDefault<z.ZodNumber>;
31
- httpHost: z.ZodDefault<z.ZodString>;
32
- httpHeaders: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
33
- idleTimeoutMs: z.ZodDefault<z.ZodNumber>;
34
- notificationTimeoutMs: z.ZodDefault<z.ZodNumber>;
35
- maxBytesPerQuery: z.ZodDefault<z.ZodNumber>;
36
- maxDocumentsPerQuery: z.ZodDefault<z.ZodNumber>;
37
- exportsPath: z.ZodString;
38
- exportTimeoutMs: z.ZodDefault<z.ZodNumber>;
39
- exportCleanupIntervalMs: z.ZodDefault<z.ZodNumber>;
40
- atlasTemporaryDatabaseUserLifetimeMs: z.ZodDefault<z.ZodNumber>;
41
- voyageApiKey: z.ZodDefault<z.ZodString>;
42
- disableEmbeddingsValidation: z.ZodOptional<z.ZodBoolean>;
43
- vectorSearchDimensions: z.ZodDefault<z.ZodNumber>;
44
- vectorSearchSimilarityFunction: z.ZodDefault<z.ZodOptional<z.ZodType<"cosine" | "euclidean" | "dotProduct", z.ZodTypeDef, "cosine" | "euclidean" | "dotProduct">>>;
45
- }, "strip", z.ZodTypeAny, {
46
- apiBaseUrl: string;
47
- loggers: ("disk" | "mcp" | "stderr")[];
48
- logPath: string;
49
- disabledTools: string[];
50
- confirmationRequiredTools: string[];
51
- readOnly: boolean;
52
- indexCheck: boolean;
53
- telemetry: "enabled" | "disabled";
54
- transport: "stdio" | "http";
55
- httpPort: number;
56
- httpHost: string;
57
- httpHeaders: Record<string, string>;
58
- idleTimeoutMs: number;
59
- notificationTimeoutMs: number;
60
- maxBytesPerQuery: number;
61
- maxDocumentsPerQuery: number;
62
- exportsPath: string;
63
- exportTimeoutMs: number;
64
- exportCleanupIntervalMs: number;
65
- atlasTemporaryDatabaseUserLifetimeMs: number;
66
- voyageApiKey: string;
67
- vectorSearchDimensions: number;
68
- vectorSearchSimilarityFunction: "cosine" | "euclidean" | "dotProduct";
69
- apiClientId?: string | undefined;
70
- apiClientSecret?: string | undefined;
71
- connectionString?: string | undefined;
72
- disableEmbeddingsValidation?: boolean | undefined;
73
- }, {
74
- logPath: string;
75
- exportsPath: string;
76
- apiBaseUrl?: string | undefined;
77
- apiClientId?: string | undefined;
78
- apiClientSecret?: string | undefined;
79
- connectionString?: string | undefined;
80
- loggers?: ("disk" | "mcp" | "stderr")[] | undefined;
81
- disabledTools?: string[] | undefined;
82
- confirmationRequiredTools?: string[] | undefined;
83
- readOnly?: boolean | undefined;
84
- indexCheck?: boolean | undefined;
85
- telemetry?: "enabled" | "disabled" | undefined;
86
- transport?: "stdio" | "http" | undefined;
87
- httpPort?: number | undefined;
88
- httpHost?: string | undefined;
89
- httpHeaders?: Record<string, string> | undefined;
90
- idleTimeoutMs?: number | undefined;
91
- notificationTimeoutMs?: number | undefined;
92
- maxBytesPerQuery?: number | undefined;
93
- maxDocumentsPerQuery?: number | undefined;
94
- exportTimeoutMs?: number | undefined;
95
- exportCleanupIntervalMs?: number | undefined;
96
- atlasTemporaryDatabaseUserLifetimeMs?: number | undefined;
97
- voyageApiKey?: string | undefined;
98
- disableEmbeddingsValidation?: boolean | undefined;
99
- vectorSearchDimensions?: number | undefined;
100
- vectorSearchSimilarityFunction?: "cosine" | "euclidean" | "dotProduct" | undefined;
101
- }>;
102
- export type UserConfig = z.infer<typeof UserConfigSchema> & CliOptions;
103
- export declare const defaultUserConfig: UserConfig;
104
- export declare const config: UserConfig;
105
- export type DriverOptions = ConnectionInfo["driverOptions"];
106
- export declare const defaultDriverOptions: DriverOptions;
107
- export declare function warnAboutDeprecatedOrUnknownCliArgs(args: Record<string, unknown>, { warn, exit }: {
108
- warn: (msg: string) => void;
109
- exit: (status: number) => void | never;
110
- }): void;
111
- export declare function registerKnownSecretsInRootKeychain(userConfig: Partial<UserConfig>): void;
112
- export declare function setupUserConfig({ cli, env, defaults, }: {
113
- cli: string[];
114
- env: Record<string, unknown>;
115
- defaults: Partial<UserConfig>;
116
- }): UserConfig;
117
- export declare function setupDriverConfig({ config, defaults, }: {
118
- config: UserConfig;
119
- defaults: Partial<DriverOptions>;
120
- }): DriverOptions;
121
- export {};
122
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,OAAO,EAyFf,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEvB,UAAU,OAAO;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,eAAe,aAM3B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BtF;AAWD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2H3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GAAG,UAAU,CAAC;AAEvE,eAAO,MAAM,iBAAiB,EAAE,UAgC/B,CAAC;AAEF,eAAO,MAAM,MAAM,YAIjB,CAAC;AAQH,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAC5D,eAAO,MAAM,oBAAoB,EAAE,aAWlC,CAAC;AAkHF,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,KAAK,CAAA;CAAE,GACxF,IAAI,CAsCN;AAyBD,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAqBxF;AAED,wBAAgB,eAAe,CAAC,EAC5B,GAAG,EACH,GAAG,EACH,QAAQ,GACX,EAAE;IACC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACjC,GAAG,UAAU,CAgDb;AAED,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,QAAQ,GACX,EAAE;IACC,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACpC,GAAG,aAAa,CAMhB"}
@@ -1,500 +0,0 @@
1
- import path from "path";
2
- import os from "os";
3
- import argv from "yargs-parser";
4
- import { generateConnectionInfoFromCliArgs } from "@mongosh/arg-parser";
5
- import { Keychain } from "./keychain.js";
6
- import * as levenshteinModule from "ts-levenshtein";
7
- import { z } from "zod";
8
- const levenshtein = levenshteinModule.default;
9
- // From: https://github.com/mongodb-js/mongosh/blob/main/packages/cli-repl/src/arg-parser.ts
10
- export const OPTIONS = {
11
- number: ["maxDocumentsPerQuery", "maxBytesPerQuery"],
12
- string: [
13
- "apiBaseUrl",
14
- "apiClientId",
15
- "apiClientSecret",
16
- "connectionString",
17
- "httpHost",
18
- "httpPort",
19
- "idleTimeoutMs",
20
- "logPath",
21
- "notificationTimeoutMs",
22
- "telemetry",
23
- "transport",
24
- "apiVersion",
25
- "authenticationDatabase",
26
- "authenticationMechanism",
27
- "browser",
28
- "db",
29
- "gssapiHostName",
30
- "gssapiServiceName",
31
- "host",
32
- "oidcFlows",
33
- "oidcRedirectUri",
34
- "password",
35
- "port",
36
- "sslCAFile",
37
- "sslCRLFile",
38
- "sslCertificateSelector",
39
- "sslDisabledProtocols",
40
- "sslPEMKeyFile",
41
- "sslPEMKeyPassword",
42
- "sspiHostnameCanonicalization",
43
- "sspiRealmOverride",
44
- "tlsCAFile",
45
- "tlsCRLFile",
46
- "tlsCertificateKeyFile",
47
- "tlsCertificateKeyFilePassword",
48
- "tlsCertificateSelector",
49
- "tlsDisabledProtocols",
50
- "username",
51
- "atlasTemporaryDatabaseUserLifetimeMs",
52
- "exportsPath",
53
- "exportTimeoutMs",
54
- "exportCleanupIntervalMs",
55
- "voyageApiKey",
56
- ],
57
- boolean: [
58
- "apiDeprecationErrors",
59
- "apiStrict",
60
- "disableEmbeddingsValidation",
61
- "help",
62
- "indexCheck",
63
- "ipv6",
64
- "nodb",
65
- "oidcIdTokenAsAccessToken",
66
- "oidcNoNonce",
67
- "oidcTrustedEndpoint",
68
- "readOnly",
69
- "retryWrites",
70
- "ssl",
71
- "sslAllowInvalidCertificates",
72
- "sslAllowInvalidHostnames",
73
- "sslFIPSMode",
74
- "tls",
75
- "tlsAllowInvalidCertificates",
76
- "tlsAllowInvalidHostnames",
77
- "tlsFIPSMode",
78
- "version",
79
- ],
80
- array: ["disabledTools", "loggers", "confirmationRequiredTools"],
81
- alias: {
82
- h: "help",
83
- p: "password",
84
- u: "username",
85
- "build-info": "buildInfo",
86
- browser: "browser",
87
- oidcDumpTokens: "oidcDumpTokens",
88
- oidcRedirectUrl: "oidcRedirectUri",
89
- oidcIDTokenAsAccessToken: "oidcIdTokenAsAccessToken",
90
- },
91
- configuration: {
92
- "camel-case-expansion": false,
93
- "unknown-options-as-args": true,
94
- "parse-positional-numbers": false,
95
- "parse-numbers": false,
96
- "greedy-arrays": true,
97
- "short-option-groups": false,
98
- },
99
- };
100
- export const ALL_CONFIG_KEYS = new Set(OPTIONS.string
101
- .concat(OPTIONS.number)
102
- .concat(OPTIONS.array)
103
- .concat(OPTIONS.boolean)
104
- .concat(Object.keys(OPTIONS.alias)));
105
- export function validateConfigKey(key) {
106
- if (ALL_CONFIG_KEYS.has(key)) {
107
- return { valid: true };
108
- }
109
- let minLev = Number.MAX_VALUE;
110
- let suggestion = "";
111
- // find the closest match for a suggestion
112
- for (const validKey of ALL_CONFIG_KEYS) {
113
- // check if there is an exact case-insensitive match
114
- if (validKey.toLowerCase() === key.toLowerCase()) {
115
- return { valid: false, suggestion: validKey };
116
- }
117
- // else, infer something using levenshtein so we suggest a valid key
118
- const lev = levenshtein.get(key, validKey);
119
- if (lev < minLev) {
120
- minLev = lev;
121
- suggestion = validKey;
122
- }
123
- }
124
- if (minLev <= 2) {
125
- // accept up to 2 typos
126
- return { valid: false, suggestion };
127
- }
128
- return { valid: false };
129
- }
130
- function isConnectionSpecifier(arg) {
131
- return (arg !== undefined &&
132
- (arg.startsWith("mongodb://") ||
133
- arg.startsWith("mongodb+srv://") ||
134
- !(arg.endsWith(".js") || arg.endsWith(".mongodb"))));
135
- }
136
- export const UserConfigSchema = z.object({
137
- apiBaseUrl: z.string().default("https://cloud.mongodb.com/"),
138
- apiClientId: z
139
- .string()
140
- .optional()
141
- .describe("Atlas API client ID for authentication. Required for running Atlas tools."),
142
- apiClientSecret: z
143
- .string()
144
- .optional()
145
- .describe("Atlas API client secret for authentication. Required for running Atlas tools."),
146
- connectionString: z
147
- .string()
148
- .optional()
149
- .describe("MongoDB connection string for direct database connections. Optional, if not set, you'll need to call the connect tool before interacting with MongoDB data."),
150
- loggers: z
151
- .array(z.enum(["stderr", "disk", "mcp"]))
152
- .default(["disk", "mcp"])
153
- .describe("Comma separated values, possible values are 'mcp', 'disk' and 'stderr'."),
154
- logPath: z.string().describe("Folder to store logs."),
155
- disabledTools: z
156
- .array(z.string())
157
- .default([])
158
- .describe("An array of tool names, operation types, and/or categories of tools that will be disabled."),
159
- confirmationRequiredTools: z
160
- .array(z.string())
161
- .default([
162
- "atlas-create-access-list",
163
- "atlas-create-db-user",
164
- "drop-database",
165
- "drop-collection",
166
- "delete-many",
167
- "drop-index",
168
- ])
169
- .describe("An array of tool names that require user confirmation before execution. Requires the client to support elicitation."),
170
- readOnly: z
171
- .boolean()
172
- .default(false)
173
- .describe("When set to true, only allows read, connect, and metadata operation types, disabling create/update/delete operations."),
174
- indexCheck: z
175
- .boolean()
176
- .default(false)
177
- .describe("When set to true, enforces that query operations must use an index, rejecting queries that perform a collection scan."),
178
- telemetry: z
179
- .enum(["enabled", "disabled"])
180
- .default("enabled")
181
- .describe("When set to disabled, disables telemetry collection."),
182
- transport: z.enum(["stdio", "http"]).default("stdio").describe("Either 'stdio' or 'http'."),
183
- httpPort: z
184
- .number()
185
- .default(3000)
186
- .describe("Port number for the HTTP server (only used when transport is 'http')."),
187
- httpHost: z
188
- .string()
189
- .default("127.0.0.1")
190
- .describe("Host address to bind the HTTP server to (only used when transport is 'http')."),
191
- httpHeaders: z
192
- .record(z.string())
193
- .default({})
194
- .describe("Header that the HTTP server will validate when making requests (only used when transport is 'http')."),
195
- idleTimeoutMs: z
196
- .number()
197
- .default(600000)
198
- .describe("Idle timeout for a client to disconnect (only applies to http transport)."),
199
- notificationTimeoutMs: z
200
- .number()
201
- .default(540000)
202
- .describe("Notification timeout for a client to be aware of disconnect (only applies to http transport)."),
203
- maxBytesPerQuery: z
204
- .number()
205
- .default(16777216)
206
- .describe("The maximum size in bytes for results from a find or aggregate tool call. This serves as an upper bound for the responseBytesLimit parameter in those tools."),
207
- maxDocumentsPerQuery: z
208
- .number()
209
- .default(100)
210
- .describe("The maximum number of documents that can be returned by a find or aggregate tool call. For the find tool, the effective limit will be the smaller of this value and the tool's limit parameter."),
211
- exportsPath: z.string().describe("Folder to store exported data files."),
212
- exportTimeoutMs: z
213
- .number()
214
- .default(300000)
215
- .describe("Time in milliseconds after which an export is considered expired and eligible for cleanup."),
216
- exportCleanupIntervalMs: z
217
- .number()
218
- .default(120000)
219
- .describe("Time in milliseconds between export cleanup cycles that remove expired export files."),
220
- atlasTemporaryDatabaseUserLifetimeMs: z
221
- .number()
222
- .default(14400000)
223
- .describe("Time in milliseconds that temporary database users created when connecting to MongoDB Atlas clusters will remain active before being automatically deleted."),
224
- voyageApiKey: z
225
- .string()
226
- .default("")
227
- .describe("API key for Voyage AI embeddings service (required for vector search operations with text-to-embedding conversion)."),
228
- disableEmbeddingsValidation: z
229
- .boolean()
230
- .optional()
231
- .describe("When set to true, disables validation of embeddings dimensions."),
232
- vectorSearchDimensions: z
233
- .number()
234
- .default(1024)
235
- .describe("Default number of dimensions for vector search embeddings."),
236
- vectorSearchSimilarityFunction: z
237
- .custom()
238
- .optional()
239
- .default("euclidean")
240
- .describe("Default similarity function for vector search: 'euclidean', 'cosine', or 'dotProduct'."),
241
- });
242
- export const defaultUserConfig = {
243
- apiBaseUrl: "https://cloud.mongodb.com/",
244
- logPath: getLogPath(),
245
- exportsPath: getExportsPath(),
246
- exportTimeoutMs: 5 * 60 * 1000, // 5 minutes
247
- exportCleanupIntervalMs: 2 * 60 * 1000, // 2 minutes
248
- disabledTools: [],
249
- telemetry: "enabled",
250
- readOnly: false,
251
- indexCheck: false,
252
- confirmationRequiredTools: [
253
- "atlas-create-access-list",
254
- "atlas-create-db-user",
255
- "drop-database",
256
- "drop-collection",
257
- "delete-many",
258
- "drop-index",
259
- ],
260
- transport: "stdio",
261
- httpPort: 3000,
262
- httpHost: "127.0.0.1",
263
- loggers: ["disk", "mcp"],
264
- idleTimeoutMs: 10 * 60 * 1000, // 10 minutes
265
- notificationTimeoutMs: 9 * 60 * 1000, // 9 minutes
266
- httpHeaders: {},
267
- maxDocumentsPerQuery: 100, // By default, we only fetch a maximum 100 documents per query / aggregation
268
- maxBytesPerQuery: 16 * 1024 * 1024, // By default, we only return ~16 mb of data per query / aggregation
269
- atlasTemporaryDatabaseUserLifetimeMs: 4 * 60 * 60 * 1000, // 4 hours
270
- voyageApiKey: "",
271
- disableEmbeddingsValidation: false,
272
- vectorSearchDimensions: 1024,
273
- vectorSearchSimilarityFunction: "euclidean",
274
- };
275
- export const config = setupUserConfig({
276
- defaults: defaultUserConfig,
277
- cli: process.argv,
278
- env: process.env,
279
- });
280
- function getLocalDataPath() {
281
- return process.platform === "win32"
282
- ? path.join(process.env.LOCALAPPDATA || process.env.APPDATA || os.homedir(), "mongodb")
283
- : path.join(os.homedir(), ".mongodb");
284
- }
285
- export const defaultDriverOptions = {
286
- readConcern: {
287
- level: "local",
288
- },
289
- readPreference: "secondaryPreferred",
290
- writeConcern: {
291
- w: "majority",
292
- },
293
- timeoutMS: 30000,
294
- proxy: { useEnvironmentVariableProxies: true },
295
- applyProxyToOIDC: true,
296
- };
297
- function getLogPath() {
298
- const logPath = path.join(getLocalDataPath(), "mongodb-mcp", ".app-logs");
299
- return logPath;
300
- }
301
- function getExportsPath() {
302
- return path.join(getLocalDataPath(), "mongodb-mcp", "exports");
303
- }
304
- // Gets the config supplied by the user as environment variables. The variable names
305
- // are prefixed with `MDB_MCP_` and the keys match the UserConfig keys, but are converted
306
- // to SNAKE_UPPER_CASE.
307
- function parseEnvConfig(env) {
308
- const CONFIG_WITH_URLS = new Set(["connectionString"]);
309
- function setValue(obj, path, value) {
310
- const currentField = path.shift();
311
- if (!currentField) {
312
- return;
313
- }
314
- if (path.length === 0) {
315
- if (CONFIG_WITH_URLS.has(currentField)) {
316
- obj[currentField] = value;
317
- return;
318
- }
319
- const numberValue = Number(value);
320
- if (!isNaN(numberValue)) {
321
- obj[currentField] = numberValue;
322
- return;
323
- }
324
- const booleanValue = value.toLocaleLowerCase();
325
- if (booleanValue === "true" || booleanValue === "false") {
326
- obj[currentField] = booleanValue === "true";
327
- return;
328
- }
329
- // Try to parse an array of values
330
- if (value.indexOf(",") !== -1) {
331
- obj[currentField] = value.split(",").map((v) => v.trim());
332
- return;
333
- }
334
- obj[currentField] = value;
335
- return;
336
- }
337
- if (!obj[currentField]) {
338
- obj[currentField] = {};
339
- }
340
- setValue(obj[currentField], path, value);
341
- }
342
- const result = {};
343
- const mcpVariables = Object.entries(env).filter(([key, value]) => value !== undefined && key.startsWith("MDB_MCP_"));
344
- for (const [key, value] of mcpVariables) {
345
- const fieldPath = key
346
- .replace("MDB_MCP_", "")
347
- .split(".")
348
- .map((part) => SNAKE_CASE_toCamelCase(part));
349
- setValue(result, fieldPath, value);
350
- }
351
- return result;
352
- }
353
- function SNAKE_CASE_toCamelCase(str) {
354
- return str.toLowerCase().replace(/([-_][a-z])/g, (group) => group.toUpperCase().replace("_", ""));
355
- }
356
- // Right now we have arguments that are not compatible with the format used in mongosh.
357
- // An example is using --connectionString and positional arguments.
358
- // We will consolidate them in a way where the mongosh format takes precedence.
359
- // We will warn users that previous configuration is deprecated in favour of
360
- // whatever is in mongosh.
361
- function parseCliConfig(args) {
362
- const programArgs = args.slice(2);
363
- const parsed = argv(programArgs, OPTIONS);
364
- const positionalArguments = parsed._ ?? [];
365
- // we use console.warn here because we still don't have our logging system configured
366
- // so we don't have a logger. For stdio, the warning will be received as a string in
367
- // the client and IDEs like VSCode do show the message in the log window. For HTTP,
368
- // it will be in the stdout of the process.
369
- warnAboutDeprecatedOrUnknownCliArgs({ ...parsed, _: positionalArguments }, {
370
- warn: (msg) => console.warn(msg),
371
- exit: (status) => process.exit(status),
372
- });
373
- // if we have a positional argument that matches a connection string
374
- // store it as the connection specifier and remove it from the argument
375
- // list, so it doesn't get misunderstood by the mongosh args-parser
376
- if (!parsed.nodb && isConnectionSpecifier(positionalArguments[0])) {
377
- parsed.connectionSpecifier = positionalArguments.shift();
378
- }
379
- delete parsed._;
380
- return parsed;
381
- }
382
- export function warnAboutDeprecatedOrUnknownCliArgs(args, { warn, exit }) {
383
- let usedDeprecatedArgument = false;
384
- let usedInvalidArgument = false;
385
- const knownArgs = args;
386
- // the first position argument should be used
387
- // instead of --connectionString, as it's how the mongosh works.
388
- if (knownArgs.connectionString) {
389
- usedDeprecatedArgument = true;
390
- warn("The --connectionString argument is deprecated. Prefer using the MDB_MCP_CONNECTION_STRING environment variable or the first positional argument for the connection string.");
391
- }
392
- for (const providedKey of Object.keys(args)) {
393
- if (providedKey === "_") {
394
- // positional argument
395
- continue;
396
- }
397
- const { valid, suggestion } = validateConfigKey(providedKey);
398
- if (!valid) {
399
- usedInvalidArgument = true;
400
- if (suggestion) {
401
- warn(`Invalid command line argument '${providedKey}'. Did you mean '${suggestion}'?`);
402
- }
403
- else {
404
- warn(`Invalid command line argument '${providedKey}'.`);
405
- }
406
- }
407
- }
408
- if (usedInvalidArgument || usedDeprecatedArgument) {
409
- warn("Refer to https://www.mongodb.com/docs/mcp-server/get-started/ for setting up the MCP Server.");
410
- }
411
- if (usedInvalidArgument) {
412
- exit(1);
413
- }
414
- }
415
- function commaSeparatedToArray(str) {
416
- if (str === undefined) {
417
- return [];
418
- }
419
- if (!Array.isArray(str)) {
420
- return [str];
421
- }
422
- if (str.length === 0) {
423
- return str;
424
- }
425
- if (str.length === 1) {
426
- return str[0]
427
- ?.split(",")
428
- .map((e) => e.trim())
429
- .filter((e) => e.length > 0);
430
- }
431
- return str;
432
- }
433
- export function registerKnownSecretsInRootKeychain(userConfig) {
434
- const keychain = Keychain.root;
435
- const maybeRegister = (value, kind) => {
436
- if (value) {
437
- keychain.register(value, kind);
438
- }
439
- };
440
- maybeRegister(userConfig.apiClientId, "user");
441
- maybeRegister(userConfig.apiClientSecret, "password");
442
- maybeRegister(userConfig.awsAccessKeyId, "password");
443
- maybeRegister(userConfig.awsIamSessionToken, "password");
444
- maybeRegister(userConfig.awsSecretAccessKey, "password");
445
- maybeRegister(userConfig.awsSessionToken, "password");
446
- maybeRegister(userConfig.password, "password");
447
- maybeRegister(userConfig.tlsCAFile, "url");
448
- maybeRegister(userConfig.tlsCRLFile, "url");
449
- maybeRegister(userConfig.tlsCertificateKeyFile, "url");
450
- maybeRegister(userConfig.tlsCertificateKeyFilePassword, "password");
451
- maybeRegister(userConfig.username, "user");
452
- }
453
- export function setupUserConfig({ cli, env, defaults, }) {
454
- const userConfig = {
455
- ...defaults,
456
- ...parseEnvConfig(env),
457
- ...parseCliConfig(cli),
458
- };
459
- userConfig.disabledTools = commaSeparatedToArray(userConfig.disabledTools);
460
- userConfig.loggers = commaSeparatedToArray(userConfig.loggers);
461
- userConfig.confirmationRequiredTools = commaSeparatedToArray(userConfig.confirmationRequiredTools);
462
- if (userConfig.connectionString && userConfig.connectionSpecifier) {
463
- const connectionInfo = generateConnectionInfoFromCliArgs(userConfig);
464
- userConfig.connectionString = connectionInfo.connectionString;
465
- }
466
- const transport = userConfig.transport;
467
- if (transport !== "http" && transport !== "stdio") {
468
- throw new Error(`Invalid transport: ${transport}`);
469
- }
470
- const telemetry = userConfig.telemetry;
471
- if (telemetry !== "enabled" && telemetry !== "disabled") {
472
- throw new Error(`Invalid telemetry: ${telemetry}`);
473
- }
474
- const httpPort = +userConfig.httpPort;
475
- if (httpPort < 1 || httpPort > 65535 || isNaN(httpPort)) {
476
- throw new Error(`Invalid httpPort: ${userConfig.httpPort}`);
477
- }
478
- if (userConfig.loggers.length === 0) {
479
- throw new Error("No loggers found in config");
480
- }
481
- const loggerTypes = new Set(userConfig.loggers);
482
- if (loggerTypes.size !== userConfig.loggers.length) {
483
- throw new Error("Duplicate loggers found in config");
484
- }
485
- for (const loggerType of userConfig.loggers) {
486
- if (loggerType !== "mcp" && loggerType !== "disk" && loggerType !== "stderr") {
487
- throw new Error(`Invalid logger: ${loggerType}`);
488
- }
489
- }
490
- registerKnownSecretsInRootKeychain(userConfig);
491
- return userConfig;
492
- }
493
- export function setupDriverConfig({ config, defaults, }) {
494
- const { driverOptions } = generateConnectionInfoFromCliArgs(config);
495
- return {
496
- ...defaults,
497
- ...driverOptions,
498
- };
499
- }
500
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"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"}