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,9 +1,86 @@
1
1
  import { LogId } from "../common/logger.js";
2
+ /**
3
+ * Abstract base class for implementing MCP tools in the MongoDB MCP Server.
4
+ *
5
+ * All tools (both internal and custom) must extend this class to ensure a
6
+ * consistent interface and proper integration with the server.
7
+ *
8
+ * ## Creating a Custom Tool
9
+ *
10
+ * To create a custom tool, you must:
11
+ * 1. Extend the `ToolBase` class
12
+ * 2. Define static properties: `category` and `operationType`
13
+ * 3. Implement required abstract members: `name`, `description`,
14
+ * `argsShape`, `execute()`, `resolveTelemetryMetadata()`
15
+ *
16
+ * @example Basic Custom Tool
17
+ * ```typescript
18
+ * import { StreamableHttpRunner, UserConfigSchema } from "mongodb-mcp-server"
19
+ * import { ToolBase, type ToolClass, type ToolCategory, type OperationType } from "mongodb-mcp-server/tools";
20
+ * import { z } from "zod";
21
+ *
22
+ * class MyCustomTool extends ToolBase {
23
+ * // Required static property for ToolClass conformance
24
+ * static category: ToolCategory = "mongodb";
25
+ * static operationType: OperationType = "read";
26
+ *
27
+ * // Required abstract properties
28
+ * override name = "my-custom-tool";
29
+ * protected description = "My custom tool description";
30
+ * protected argsShape = {
31
+ * query: z.string().describe("The query parameter"),
32
+ * };
33
+ *
34
+ * // Required abstract method: implement the tool's logic
35
+ * protected async execute(args) {
36
+ * // Tool implementation
37
+ * return {
38
+ * content: [{ type: "text", text: "Result" }],
39
+ * };
40
+ * }
41
+ *
42
+ * // Required abstract method: provide telemetry metadata
43
+ * protected resolveTelemetryMetadata() {
44
+ * return {}; // Return empty object if no custom telemetry needed
45
+ * }
46
+ * }
47
+ *
48
+ * const runner = new StreamableHttpRunner({
49
+ * userConfig: UserConfigSchema.parse({}),
50
+ * // This will work only if the class correctly conforms to ToolClass type, which in our case it does.
51
+ * tools: [MyCustomTool],
52
+ * });
53
+ * ```
54
+ *
55
+ * ## Protected Members Available to Subclasses
56
+ *
57
+ * - `session` - Access to MongoDB connection, logger, and other session
58
+ * resources
59
+ * - `config` - Server configuration (`UserConfig`)
60
+ * - `telemetry` - Telemetry service for tracking usage
61
+ * - `elicitation` - Service for requesting user confirmations
62
+ *
63
+ * ## Instance Properties Set by Constructor
64
+ *
65
+ * The following properties are automatically set when the tool is instantiated
66
+ * by the server (derived from the static properties):
67
+ * - `category` - The tool's category (from static `category`)
68
+ * - `operationType` - The tool's operation type (from static `operationType`)
69
+ *
70
+ * ## Optional Overrideable Methods
71
+ *
72
+ * - `getConfirmationMessage()` - Customize the confirmation prompt for tools
73
+ * requiring user approval
74
+ * - `handleError()` - Customize error handling behavior
75
+ *
76
+ * @see {@link ToolClass} for the type that tool classes must conform to
77
+ * @see {@link ToolConstructorParams} for the parameters passed to the
78
+ * constructor
79
+ */
2
80
  export class ToolBase {
3
81
  get annotations() {
4
82
  const annotations = {
5
83
  title: this.name,
6
- description: this.description,
7
84
  };
8
85
  switch (this.operationType) {
9
86
  case "read":
@@ -26,13 +103,38 @@ export class ToolBase {
26
103
  }
27
104
  return annotations;
28
105
  }
29
- /** Get the confirmation message for the tool. Can be overridden to provide a more specific message. */
106
+ /**
107
+ * Get the confirmation message shown to users when this tool requires
108
+ * explicit approval.
109
+ *
110
+ * Override this method to provide a more specific and helpful confirmation
111
+ * message based on the tool's arguments.
112
+ *
113
+ * @param args - The tool arguments
114
+ * @returns The confirmation message to display to the user
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * protected getConfirmationMessage(args: { database: string }): string {
119
+ * return `You are about to delete the database "${args.database}". This action cannot be undone. Proceed?`;
120
+ * }
121
+ * ```
122
+ */
30
123
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
124
  getConfirmationMessage(...args) {
32
125
  return `You are about to execute the \`${this.name}\` tool which requires additional confirmation. Would you like to proceed?`;
33
126
  }
34
- /** Check if the user has confirmed the tool execution, if required by the configuration.
35
- * Always returns true if confirmation is not required.
127
+ /**
128
+ * Check if the user has confirmed the tool execution (if required by
129
+ * configuration).
130
+ *
131
+ * This method automatically checks if the tool name is in the
132
+ * `confirmationRequiredTools` configuration list and requests user
133
+ * confirmation via the elicitation service if needed.
134
+ *
135
+ * @param args - The tool arguments
136
+ * @returns A promise resolving to `true` if confirmed or confirmation not
137
+ * required, `false` otherwise
36
138
  */
37
139
  async verifyConfirmed(args) {
38
140
  if (!this.config.confirmationRequiredTools.includes(this.name)) {
@@ -40,7 +142,9 @@ export class ToolBase {
40
142
  }
41
143
  return this.elicitation.requestConfirmation(this.getConfirmationMessage(...args));
42
144
  }
43
- constructor({ session, config, telemetry, elicitation }) {
145
+ constructor({ category, operationType, session, config, telemetry, elicitation }) {
146
+ this.category = category;
147
+ this.operationType = operationType;
44
148
  this.session = session;
45
149
  this.config = config;
46
150
  this.telemetry = telemetry;
@@ -96,43 +200,34 @@ export class ToolBase {
96
200
  return toolResult;
97
201
  }
98
202
  };
99
- server.mcpServer.tool(this.name, this.description, this.argsShape, this.annotations, callback);
100
- // This is very similar to RegisteredTool.update, but without the bugs around the name.
101
- // In the upstream update method, the name is captured in the closure and not updated when
102
- // the tool name changes. This means that you only get one name update before things end up
103
- // in a broken state.
104
- // See https://github.com/modelcontextprotocol/typescript-sdk/issues/414 for more details.
105
- this.update = (updates) => {
106
- const tools = server.mcpServer["_registeredTools"];
107
- const existingTool = tools[this.name];
108
- if (!existingTool) {
109
- this.session.logger.warning({
110
- id: LogId.toolUpdateFailure,
111
- context: "tool",
112
- message: `Tool ${this.name} not found in update`,
113
- noRedaction: true,
114
- });
115
- return;
116
- }
117
- existingTool.annotations = this.annotations;
118
- if (updates.name && updates.name !== this.name) {
119
- existingTool.annotations.title = updates.name;
120
- delete tools[this.name];
121
- this.name = updates.name;
122
- tools[this.name] = existingTool;
123
- }
124
- if (updates.description) {
125
- existingTool.annotations.description = updates.description;
126
- existingTool.description = updates.description;
127
- this.description = updates.description;
128
- }
129
- if (updates.inputSchema) {
130
- existingTool.inputSchema = updates.inputSchema;
131
- }
132
- server.mcpServer.sendToolListChanged();
133
- };
203
+ this.registeredTool = server.mcpServer.tool(this.name, this.description, this.argsShape, this.annotations, callback);
134
204
  return true;
135
205
  }
206
+ isEnabled() {
207
+ return this.registeredTool?.enabled ?? false;
208
+ }
209
+ disable() {
210
+ if (!this.registeredTool) {
211
+ this.session.logger.warning({
212
+ id: LogId.toolMetadataChange,
213
+ context: `tool - ${this.name}`,
214
+ message: "Requested disabling of tool but it was never registered",
215
+ });
216
+ return;
217
+ }
218
+ this.registeredTool.disable();
219
+ }
220
+ enable() {
221
+ if (!this.registeredTool) {
222
+ this.session.logger.warning({
223
+ id: LogId.toolMetadataChange,
224
+ context: `tool - ${this.name}`,
225
+ message: "Requested enabling of tool but it was never registered",
226
+ });
227
+ return;
228
+ }
229
+ this.registeredTool.enable();
230
+ }
136
231
  // Checks if a tool is allowed to run based on the config
137
232
  verifyAllowed() {
138
233
  let errorClarification;
@@ -160,6 +255,33 @@ export class ToolBase {
160
255
  }
161
256
  return true;
162
257
  }
258
+ /**
259
+ * Handle errors that occur during tool execution.
260
+ *
261
+ * Override this method to provide custom error handling logic. The default
262
+ * implementation returns a simple error message.
263
+ *
264
+ * @param error - The error that was thrown
265
+ * @param args - The arguments that were passed to the tool
266
+ * @returns A CallToolResult with error information
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * protected handleError(error: unknown, args: { query: string }): CallToolResult {
271
+ * if (error instanceof MongoError && error.code === 11000) {
272
+ * return {
273
+ * content: [{
274
+ * type: "text",
275
+ * text: `Duplicate key error for query: ${args.query}`,
276
+ * }],
277
+ * isError: true,
278
+ * };
279
+ * }
280
+ * // Fall back to default error handling
281
+ * return super.handleError(error, args);
282
+ * }
283
+ * ```
284
+ */
163
285
  // This method is intended to be overridden by subclasses to handle errors
164
286
  handleError(error,
165
287
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -195,27 +317,24 @@ export class ToolBase {
195
317
  component: "tool",
196
318
  duration_ms: duration,
197
319
  result: result.isError ? "failure" : "success",
320
+ ...metadata,
198
321
  },
199
322
  };
200
- if (metadata?.orgId) {
201
- event.properties.org_id = metadata.orgId;
202
- }
203
- if (metadata?.projectId) {
204
- event.properties.project_id = metadata.projectId;
205
- }
206
- if (metadata?.atlasLocaldeploymentId) {
207
- event.properties.atlas_local_deployment_id = metadata.atlasLocaldeploymentId;
208
- }
209
323
  this.telemetry.emitEvents([event]);
210
324
  }
211
- // TODO: Move this to a separate file
212
- isFeatureFlagEnabled(flag) {
213
- switch (flag) {
214
- case "vectorSearch" /* FeatureFlags.VectorSearch */:
215
- return this.config.voyageApiKey !== "";
216
- default:
217
- return false;
325
+ isFeatureEnabled(feature) {
326
+ return this.config.previewFeatures.includes(feature);
327
+ }
328
+ getConnectionInfoMetadata() {
329
+ const metadata = {};
330
+ if (this.session.connectedAtlasCluster?.projectId) {
331
+ metadata.project_id = this.session.connectedAtlasCluster.projectId;
332
+ }
333
+ const connectionStringAuthType = this.session.connectionStringAuthType;
334
+ if (connectionStringAuthType !== undefined) {
335
+ metadata.connection_auth_type = connectionStringAuthType;
218
336
  }
337
+ return metadata;
219
338
  }
220
339
  }
221
340
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { UserConfig } from "../common/config.js";
1
+ import type { UserConfig } from "../common/config/userConfig.js";
2
2
  import { Server } from "../server.js";
3
3
  import type { LoggerBase } from "../common/logger.js";
4
4
  import { DeviceId } from "../helpers/deviceId.js";
@@ -6,13 +6,162 @@ import { type ConnectionManagerFactoryFn } from "../common/connectionManager.js"
6
6
  import { type ConnectionErrorHandler } from "../common/connectionErrorHandler.js";
7
7
  import type { CommonProperties } from "../telemetry/types.js";
8
8
  import type { AtlasLocalClientFactoryFn } from "../common/atlasLocal.js";
9
+ import type { ToolClass } from "../tools/tool.js";
10
+ export type RequestContext = {
11
+ headers?: Record<string, string | string[] | undefined>;
12
+ query?: Record<string, string | string[] | undefined>;
13
+ };
14
+ /**
15
+ * A function to dynamically generate `UserConfig` object, potentially unique to
16
+ * each MCP client session.
17
+ *
18
+ * The function is passed a config context object containing:
19
+ * 1. `userConfig`: The base `UserConfig` object that MongoDB MCP Server was
20
+ * started with, either through parsed CLI arguments or a static
21
+ * configuration injected through `TransportRunnerConfig`
22
+ * 2. `request`: An optional, `RequestContext` object, available only when
23
+ * MongoDB MCP server is running over HTTP transport, that contains headers
24
+ * and query parameters received in MCP session initialization object.
25
+ *
26
+ * @see {@link UserConfig} to inspect the properties available on `userConfig`
27
+ * object.
28
+ * @see {@link RequestContext} to inspect the properties available on
29
+ * `requestContext` object.
30
+ */
31
+ type CreateSessionConfigFn = (context: {
32
+ userConfig: UserConfig;
33
+ request?: RequestContext;
34
+ }) => Promise<UserConfig> | UserConfig;
35
+ /**
36
+ * Configuration options for customizing how transport runners are initialized.
37
+ * This includes specifying the base user configuration, providing custom
38
+ * connection management, and other advanced options.
39
+ *
40
+ * You may want to customize this configuration if you need to:
41
+ * - Provide a custom user configuration for different environments or users.
42
+ * - Override the default connection management to MongoDB deployments.
43
+ * - Provide a specific list of tools to be registered with the MCP server.
44
+ *
45
+ * In most cases, just providing the `UserConfig` object is sufficient, but
46
+ * advanced use-cases (such as embedding the MCP server in another application
47
+ * or supporting custom authentication flows) may require customizing other
48
+ * `TransportRunnerConfig` options as well.
49
+ */
9
50
  export type TransportRunnerConfig = {
51
+ /**
52
+ * Base user configuration for the server.
53
+ *
54
+ * Can be generated by parsing CLI arguments, environment variables or
55
+ * written manually while conforming the interface requirements of
56
+ * `UserConfig`.
57
+ *
58
+ * To parse CLI arguments and environment variables in order to generate a
59
+ * `UserConfig` object, you can use `createUserConfig` function, also
60
+ * exported as `parseCliArgumentsAsUserConfig` through MCP server library
61
+ * exports.
62
+ *
63
+ * Optionally, you can also use `UserConfigSchema` (available through MCP
64
+ * server library exports) to create a default configuration -
65
+ * `UserConfigSchema.parse({})`.
66
+ */
10
67
  userConfig: UserConfig;
68
+ /**
69
+ * An optional factory function to generates an instance of
70
+ * `ConnectionManager`. When not provided, MongoDB MCP Server uses an
71
+ * internal implementation to manage connection to MongoDB deployments.
72
+ *
73
+ * Customize this only if the use-case involves handling the MongoDB
74
+ * connections differently and outside of MongoDB MCP server.
75
+ */
11
76
  createConnectionManager?: ConnectionManagerFactoryFn;
77
+ /**
78
+ * An optional function to handle connection related errors. When not
79
+ * provided, MongoDB MCP Server uses an internal implementation to handle
80
+ * the errors raised by internal implementation of `ConnectionManager`
81
+ * class.
82
+ *
83
+ * Customize this only if you need to handle the Connection errors different
84
+ * from the internal implementation or if you have provided a different
85
+ * implementation of `ConnectionManager` that might raise errors unknown to
86
+ * default internal connection error handler.
87
+ */
12
88
  connectionErrorHandler?: ConnectionErrorHandler;
89
+ /**
90
+ * An optional factory function to create a client for working with Atlas
91
+ * local deployments. When not provided, MongoDB MCP Server uses an internal
92
+ * implementation to create the local Atlas client.
93
+ */
13
94
  createAtlasLocalClient?: AtlasLocalClientFactoryFn;
95
+ /**
96
+ * An optional list of loggers to be used in addition to the default logger
97
+ * implementations. When not provided, MongoDB MCP Server will not utilize
98
+ * any loggers other than the default that it works with.
99
+ *
100
+ * Customize this only if the default enabled loggers (disk/stderr/mcp) are
101
+ * not covering your use-case.
102
+ */
14
103
  additionalLoggers?: LoggerBase[];
104
+ /**
105
+ * An optional key value pair of telemetry properties that are reported to
106
+ * the telemetry backend. Most, if not all, of the properties are captured
107
+ * automatically.
108
+ */
15
109
  telemetryProperties?: Partial<CommonProperties>;
110
+ /**
111
+ * An optional list of tools constructors to be registered to the MongoDB
112
+ * MCP Server.
113
+ *
114
+ * When not provided, MongoDB MCP Server will register all internal tools.
115
+ * When specified, **only** the tools in this list will be registered.
116
+ *
117
+ * This allows you to:
118
+ * - Register only custom tools (excluding all internal tools)
119
+ * - Register a subset of internal tools alongside custom tools
120
+ * - Register all internal tools plus custom tools
121
+ *
122
+ * To include internal tools, import them from `mongodb-mcp-server/tools`:
123
+ *
124
+ * ```typescript
125
+ * import { AllTools, AggregateTool, FindTool } from "mongodb-mcp-server/tools";
126
+ *
127
+ * // Register all internal tools plus custom tools
128
+ * tools: [...AllTools, MyCustomTool]
129
+ *
130
+ * // Register only specific MongoDB tools plus custom tools
131
+ * tools: [AggregateTool, FindTool, MyCustomTool]
132
+ *
133
+ * // Register all internal tools of mongodb category
134
+ * tools: [AllTools.filter((tool) => tool.category === "mongodb")]
135
+ * ```
136
+ *
137
+ * Note: Ensure that each tool has unique names otherwise the server will
138
+ * throw an error when initializing an MCP Client session. If you're using
139
+ * only the internal tools, then you don't have to worry about it unless,
140
+ * you've overridden the tool names.
141
+ *
142
+ * To ensure that you provide compliant tool implementations extend your
143
+ * tool implementation using `ToolBase` class and ensure that they conform
144
+ * to `ToolClass` type.
145
+ *
146
+ * @see {@link ToolClass} for the type that tool classes must conform to
147
+ * @see {@link ToolBase} for base class for all the tools
148
+ */
149
+ tools?: ToolClass[];
150
+ /**
151
+ * An optional function to hook into session configuration lifecycle and
152
+ * provide session specific configuration (`UserConfig`).
153
+ *
154
+ * The function is called before each session is created, allowing you to:
155
+ * - Fetch configuration from external sources (secrets managers, APIs)
156
+ * - Apply user-specific permissions and limits
157
+ * - Modify connection strings dynamically
158
+ * - Validate authentication credentials
159
+ *
160
+ * This function is called for each new MCP client connection. For stdio
161
+ * transport, this is called once at server startup. For HTTP transport,
162
+ * this is called for each new session.
163
+ */
164
+ createSessionConfig?: CreateSessionConfigFn;
16
165
  };
17
166
  export declare abstract class TransportRunnerBase {
18
167
  logger: LoggerBase;
@@ -22,10 +171,14 @@ export declare abstract class TransportRunnerBase {
22
171
  private readonly connectionErrorHandler;
23
172
  private readonly atlasLocalClient;
24
173
  private readonly telemetryProperties;
25
- protected constructor({ userConfig, createConnectionManager, connectionErrorHandler, createAtlasLocalClient, additionalLoggers, telemetryProperties, }: TransportRunnerConfig);
26
- protected setupServer(): Promise<Server>;
174
+ private readonly tools?;
175
+ private readonly createSessionConfig?;
176
+ protected constructor({ userConfig, createConnectionManager, connectionErrorHandler, createAtlasLocalClient, additionalLoggers, telemetryProperties, tools, createSessionConfig, }: TransportRunnerConfig);
177
+ protected setupServer(request?: RequestContext): Promise<Server>;
27
178
  abstract start(): Promise<void>;
28
179
  abstract closeTransport(): Promise<void>;
29
180
  close(): Promise<void>;
181
+ private static getInstructions;
30
182
  }
183
+ export {};
31
184
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAA8B,KAAK,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EACH,KAAK,sBAAsB,EAE9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAKzE,MAAM,MAAM,qBAAqB,GAAG;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,uBAAuB,CAAC,EAAE,0BAA0B,CAAC;IACrD,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAC;IACnD,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACnD,CAAC;AAEF,8BAAsB,mBAAmB;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA6B;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAEhE,SAAS,aAAa,EAClB,UAAU,EACV,uBAAoD,EACpD,sBAAsD,EACtD,sBAAsD,EACtD,iBAAsB,EACtB,mBAAwB,GAC3B,EAAE,qBAAqB;cA6BR,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAkD9C,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,16 @@ import { connectionErrorHandler as defaultConnectionErrorHandler, } from "../com
12
12
  import { Elicitation } from "../elicitation.js";
13
13
  import { defaultCreateAtlasLocalClient } from "../common/atlasLocal.js";
14
14
  import { VectorSearchEmbeddingsManager } from "../common/search/vectorSearchEmbeddingsManager.js";
15
+ import { applyConfigOverrides } from "../common/config/configOverrides.js";
15
16
  export class TransportRunnerBase {
16
- constructor({ userConfig, createConnectionManager = createMCPConnectionManager, connectionErrorHandler = defaultConnectionErrorHandler, createAtlasLocalClient = defaultCreateAtlasLocalClient, additionalLoggers = [], telemetryProperties = {}, }) {
17
+ constructor({ userConfig, createConnectionManager = createMCPConnectionManager, connectionErrorHandler = defaultConnectionErrorHandler, createAtlasLocalClient = defaultCreateAtlasLocalClient, additionalLoggers = [], telemetryProperties = {}, tools, createSessionConfig, }) {
17
18
  this.userConfig = userConfig;
18
19
  this.createConnectionManager = createConnectionManager;
19
20
  this.connectionErrorHandler = connectionErrorHandler;
20
21
  this.atlasLocalClient = createAtlasLocalClient();
21
22
  this.telemetryProperties = telemetryProperties;
23
+ this.tools = tools;
24
+ this.createSessionConfig = createSessionConfig;
22
25
  const loggers = [...additionalLoggers];
23
26
  if (this.userConfig.loggers.includes("stderr")) {
24
27
  loggers.push(new ConsoleLogger(Keychain.root));
@@ -33,30 +36,37 @@ export class TransportRunnerBase {
33
36
  this.logger = new CompositeLogger(...loggers);
34
37
  this.deviceId = DeviceId.create(this.logger);
35
38
  }
36
- async setupServer() {
39
+ async setupServer(request) {
40
+ let userConfig = this.userConfig;
41
+ if (this.createSessionConfig) {
42
+ userConfig = await this.createSessionConfig({ userConfig, request });
43
+ }
44
+ else {
45
+ userConfig = applyConfigOverrides({ baseConfig: this.userConfig, request });
46
+ }
37
47
  const mcpServer = new McpServer({
38
48
  name: packageInfo.mcpServerName,
39
49
  version: packageInfo.version,
50
+ }, {
51
+ instructions: TransportRunnerBase.getInstructions(userConfig),
40
52
  });
41
53
  const logger = new CompositeLogger(this.logger);
42
- const exportsManager = ExportsManager.init(this.userConfig, logger);
54
+ const exportsManager = ExportsManager.init(userConfig, logger);
43
55
  const connectionManager = await this.createConnectionManager({
44
56
  logger,
45
- userConfig: this.userConfig,
57
+ userConfig,
46
58
  deviceId: this.deviceId,
47
59
  });
48
60
  const session = new Session({
49
- apiBaseUrl: this.userConfig.apiBaseUrl,
50
- apiClientId: this.userConfig.apiClientId,
51
- apiClientSecret: this.userConfig.apiClientSecret,
61
+ userConfig,
52
62
  atlasLocalClient: await this.atlasLocalClient,
53
63
  logger,
54
64
  exportsManager,
55
65
  connectionManager,
56
66
  keychain: Keychain.root,
57
- vectorSearchEmbeddingsManager: new VectorSearchEmbeddingsManager(this.userConfig, connectionManager),
67
+ vectorSearchEmbeddingsManager: new VectorSearchEmbeddingsManager(userConfig, connectionManager),
58
68
  });
59
- const telemetry = Telemetry.create(session, this.userConfig, this.deviceId, {
69
+ const telemetry = Telemetry.create(session, userConfig, this.deviceId, {
60
70
  commonProperties: this.telemetryProperties,
61
71
  });
62
72
  const elicitation = new Elicitation({ server: mcpServer.server });
@@ -64,13 +74,14 @@ export class TransportRunnerBase {
64
74
  mcpServer,
65
75
  session,
66
76
  telemetry,
67
- userConfig: this.userConfig,
77
+ userConfig,
68
78
  connectionErrorHandler: this.connectionErrorHandler,
69
79
  elicitation,
80
+ tools: this.tools,
70
81
  });
71
82
  // We need to create the MCP logger after the server is constructed
72
83
  // because it needs the server instance
73
- if (this.userConfig.loggers.includes("mcp")) {
84
+ if (userConfig.loggers.includes("mcp")) {
74
85
  logger.addLogger(new McpLogger(result, Keychain.root));
75
86
  }
76
87
  return result;
@@ -83,5 +94,20 @@ export class TransportRunnerBase {
83
94
  this.deviceId.close();
84
95
  }
85
96
  }
97
+ static getInstructions(config) {
98
+ let instructions = `
99
+ This is the MongoDB MCP server.
100
+ `;
101
+ if (config.connectionString) {
102
+ instructions += `
103
+ This MCP server was configured with a MongoDB connection string, and you can assume that you are connected to a MongoDB cluster.
104
+ `;
105
+ }
106
+ if (config.apiClientId && config.apiClientSecret) {
107
+ instructions += `
108
+ This MCP server was configured with MongoDB Atlas API credentials.`;
109
+ }
110
+ return instructions;
111
+ }
86
112
  }
87
113
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAmC,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAEH,sBAAsB,IAAI,6BAA6B,GAC1D,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAElG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAwK3E,MAAM,OAAgB,mBAAmB;IAWrC,YAAsB,EAClB,UAAU,EACV,uBAAuB,GAAG,0BAA0B,EACpD,sBAAsB,GAAG,6BAA6B,EACtD,sBAAsB,GAAG,6BAA6B,EACtD,iBAAiB,GAAG,EAAE,EACtB,mBAAmB,GAAG,EAAE,EACxB,KAAK,EACL,mBAAmB,GACC;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,MAAM,OAAO,GAAiB,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CACR,IAAI,UAAU,CACV,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB,CAAC,GAAG,EAAE,EAAE;gBACJ,8EAA8E;gBAC9E,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,EACD,QAAQ,CAAC,IAAI,CAChB,CACJ,CAAC;QACN,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,OAAwB;QAChD,IAAI,UAAU,GAAe,IAAI,CAAC,UAAU,CAAC;QAE7C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,oBAAoB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAC3B;YACI,IAAI,EAAE,WAAW,CAAC,aAAa;YAC/B,OAAO,EAAE,WAAW,CAAC,OAAO;SAC/B,EACD;YACI,YAAY,EAAE,mBAAmB,CAAC,eAAe,CAAC,UAAU,CAAC;SAChE,CACJ,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC;YACzD,MAAM;YACN,UAAU;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YACxB,UAAU;YACV,gBAAgB,EAAE,MAAM,IAAI,CAAC,gBAAgB;YAC7C,MAAM;YACN,cAAc;YACd,iBAAiB;YACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,6BAA6B,EAAE,IAAI,6BAA6B,CAAC,UAAU,EAAE,iBAAiB,CAAC;SAClG,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE;YACnE,gBAAgB,EAAE,IAAI,CAAC,mBAAmB;SAC7C,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACtB,SAAS;YACT,OAAO;YACP,SAAS;YACT,UAAU;YACV,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,WAAW;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,mEAAmE;QACnE,uCAAuC;QACvC,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAMD,KAAK,CAAC,KAAK;QACP,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChC,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,MAAkB;QAC7C,IAAI,YAAY,GAAG;;SAElB,CAAC;QACF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,YAAY,IAAI;;aAEf,CAAC;QACN,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/C,YAAY,IAAI;+EACmD,CAAC;QACxE,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ"}
@@ -0,0 +1,19 @@
1
+ import { TransportRunnerBase, type TransportRunnerConfig } from "./base.js";
2
+ export type DryRunModeTestHelpers = {
3
+ logger: {
4
+ log(this: void, message: string): void;
5
+ error(this: void, message: string): void;
6
+ };
7
+ };
8
+ type DryRunModeRunnerConfig = TransportRunnerConfig & DryRunModeTestHelpers;
9
+ export declare class DryRunModeRunner extends TransportRunnerBase {
10
+ private server;
11
+ private consoleLogger;
12
+ constructor({ logger, ...transportRunnerConfig }: DryRunModeRunnerConfig);
13
+ start(): Promise<void>;
14
+ closeTransport(): Promise<void>;
15
+ private dumpConfig;
16
+ private dumpTools;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=dryModeRunner.d.ts.map