mongodb-mcp-server 1.14.0 → 1.15.0-alpha.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 (430) hide show
  1. package/README.md +46 -43
  2. package/dist/cjs/common/config/userConfig.d.ts +5 -0
  3. package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
  4. package/dist/cjs/common/config/userConfig.js +12 -0
  5. package/dist/cjs/common/config/userConfig.js.map +1 -1
  6. package/dist/cjs/common/connectionErrorHandler.d.ts +9 -2
  7. package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
  8. package/dist/cjs/common/connectionErrorHandler.js +34 -4
  9. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  10. package/dist/cjs/common/connectionRegistry.d.ts +153 -0
  11. package/dist/cjs/common/connectionRegistry.d.ts.map +1 -0
  12. package/dist/cjs/common/connectionRegistry.js +123 -0
  13. package/dist/cjs/common/connectionRegistry.js.map +1 -0
  14. package/dist/cjs/common/connectionStore.d.ts +59 -0
  15. package/dist/cjs/common/connectionStore.d.ts.map +1 -0
  16. package/dist/cjs/common/connectionStore.js +220 -0
  17. package/dist/cjs/common/connectionStore.js.map +1 -0
  18. package/dist/cjs/common/connectionSummary.d.ts +22 -0
  19. package/dist/cjs/common/connectionSummary.d.ts.map +1 -0
  20. package/dist/cjs/common/connectionSummary.js +41 -0
  21. package/dist/cjs/common/connectionSummary.js.map +1 -0
  22. package/dist/cjs/common/errors.d.ts +2 -1
  23. package/dist/cjs/common/errors.d.ts.map +1 -1
  24. package/dist/cjs/common/errors.js +1 -0
  25. package/dist/cjs/common/errors.js.map +1 -1
  26. package/dist/cjs/common/logging/loggingDefinitions.d.ts +3 -0
  27. package/dist/cjs/common/logging/loggingDefinitions.d.ts.map +1 -1
  28. package/dist/cjs/common/logging/loggingDefinitions.js +3 -0
  29. package/dist/cjs/common/logging/loggingDefinitions.js.map +1 -1
  30. package/dist/cjs/common/packageInfo.js +1 -1
  31. package/dist/cjs/common/packageInfo.js.map +1 -1
  32. package/dist/cjs/common/session.d.ts +13 -22
  33. package/dist/cjs/common/session.d.ts.map +1 -1
  34. package/dist/cjs/common/session.js +13 -76
  35. package/dist/cjs/common/session.js.map +1 -1
  36. package/dist/cjs/lib.d.ts +2 -0
  37. package/dist/cjs/lib.d.ts.map +1 -1
  38. package/dist/cjs/lib.js +8 -2
  39. package/dist/cjs/lib.js.map +1 -1
  40. package/dist/cjs/resources/common/config.d.ts +1 -0
  41. package/dist/cjs/resources/common/config.d.ts.map +1 -1
  42. package/dist/cjs/resources/common/config.js +11 -2
  43. package/dist/cjs/resources/common/config.js.map +1 -1
  44. package/dist/cjs/resources/common/debug.d.ts +2 -11
  45. package/dist/cjs/resources/common/debug.d.ts.map +1 -1
  46. package/dist/cjs/resources/common/debug.js +32 -43
  47. package/dist/cjs/resources/common/debug.js.map +1 -1
  48. package/dist/cjs/server.d.ts +0 -1
  49. package/dist/cjs/server.d.ts.map +1 -1
  50. package/dist/cjs/server.js +0 -22
  51. package/dist/cjs/server.js.map +1 -1
  52. package/dist/cjs/telemetry/types.d.ts +1 -0
  53. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  54. package/dist/cjs/tools/atlas/atlasTool.d.ts +1 -1
  55. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  56. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +4 -2
  57. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  58. package/dist/cjs/tools/atlas/connect/connectCluster.js +109 -125
  59. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  60. package/dist/cjs/tools/atlas/create/createCluster.d.ts +1 -1
  61. package/dist/cjs/tools/atlas/create/createCluster.d.ts.map +1 -1
  62. package/dist/cjs/tools/atlas/create/createCluster.js +2 -2
  63. package/dist/cjs/tools/atlas/create/createCluster.js.map +1 -1
  64. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +1 -1
  65. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  66. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +2 -2
  67. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  68. package/dist/cjs/tools/atlas/streams/build.d.ts +2 -2
  69. package/dist/cjs/tools/atlas/streams/discover.d.ts +1 -1
  70. package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts +1 -1
  71. package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts.map +1 -1
  72. package/dist/cjs/tools/atlas/streams/streamsToolBase.js +2 -2
  73. package/dist/cjs/tools/atlas/streams/streamsToolBase.js.map +1 -1
  74. package/dist/cjs/tools/atlas/streams/teardown.d.ts +3 -3
  75. package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts +3 -3
  76. package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -1
  77. package/dist/cjs/tools/atlas/update/pauseResumeCluster.js +18 -11
  78. package/dist/cjs/tools/atlas/update/pauseResumeCluster.js.map +1 -1
  79. package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts +3 -3
  80. package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts.map +1 -1
  81. package/dist/cjs/tools/atlas/update/upgradeCluster.js +7 -25
  82. package/dist/cjs/tools/atlas/update/upgradeCluster.js.map +1 -1
  83. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +1 -1
  84. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -1
  85. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +3 -1
  86. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  87. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +16 -5
  88. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  89. package/dist/cjs/tools/mongodb/connect/connect.d.ts +9 -6
  90. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  91. package/dist/cjs/tools/mongodb/connect/connect.js +33 -26
  92. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  93. package/dist/cjs/tools/mongodb/connect/disconnect.d.ts +19 -0
  94. package/dist/cjs/tools/mongodb/connect/disconnect.d.ts.map +1 -0
  95. package/dist/cjs/tools/mongodb/connect/disconnect.js +48 -0
  96. package/dist/cjs/tools/mongodb/connect/disconnect.js.map +1 -0
  97. package/dist/cjs/tools/mongodb/connect/listConnections.d.ts +32 -0
  98. package/dist/cjs/tools/mongodb/connect/listConnections.d.ts.map +1 -0
  99. package/dist/cjs/tools/mongodb/connect/listConnections.js +44 -0
  100. package/dist/cjs/tools/mongodb/connect/listConnections.js.map +1 -0
  101. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +2 -1
  102. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  103. package/dist/cjs/tools/mongodb/create/createCollection.js +3 -3
  104. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  105. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +3 -2
  106. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  107. package/dist/cjs/tools/mongodb/create/createIndex.js +7 -6
  108. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  109. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +2 -1
  110. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  111. package/dist/cjs/tools/mongodb/create/insertMany.js +3 -2
  112. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  113. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +2 -1
  114. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  115. package/dist/cjs/tools/mongodb/delete/deleteMany.js +3 -2
  116. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  117. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +2 -1
  118. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  119. package/dist/cjs/tools/mongodb/delete/dropCollection.js +3 -2
  120. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  121. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +2 -1
  122. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  123. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +3 -3
  124. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  125. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +1 -0
  126. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  127. package/dist/cjs/tools/mongodb/delete/dropIndex.js +4 -3
  128. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  129. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +3 -2
  130. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  131. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +4 -4
  132. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  133. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +2 -1
  134. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  135. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +3 -2
  136. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  137. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -2
  138. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  139. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +3 -3
  140. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  141. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +2 -1
  142. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  143. package/dist/cjs/tools/mongodb/metadata/dbStats.js +3 -3
  144. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  145. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +2 -1
  146. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  147. package/dist/cjs/tools/mongodb/metadata/explain.js +3 -2
  148. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  149. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +2 -1
  150. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  151. package/dist/cjs/tools/mongodb/metadata/listCollections.js +3 -3
  152. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  153. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +5 -3
  154. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  155. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +3 -3
  156. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  157. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +2 -1
  158. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  159. package/dist/cjs/tools/mongodb/metadata/logs.js +3 -2
  160. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  161. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +16 -3
  162. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  163. package/dist/cjs/tools/mongodb/mongodbTool.js +46 -30
  164. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  165. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +2 -1
  166. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  167. package/dist/cjs/tools/mongodb/read/aggregate.js +9 -10
  168. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  169. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +2 -1
  170. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  171. package/dist/cjs/tools/mongodb/read/aggregateDB.js +3 -2
  172. package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -1
  173. package/dist/cjs/tools/mongodb/read/count.d.ts +2 -1
  174. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  175. package/dist/cjs/tools/mongodb/read/count.js +3 -2
  176. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  177. package/dist/cjs/tools/mongodb/read/export.d.ts +2 -1
  178. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  179. package/dist/cjs/tools/mongodb/read/export.js +3 -2
  180. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  181. package/dist/cjs/tools/mongodb/read/find.d.ts +2 -1
  182. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  183. package/dist/cjs/tools/mongodb/read/find.js +3 -2
  184. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  185. package/dist/cjs/tools/mongodb/tools.d.ts +2 -1
  186. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  187. package/dist/cjs/tools/mongodb/tools.js +5 -3
  188. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  189. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +2 -1
  190. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  191. package/dist/cjs/tools/mongodb/update/renameCollection.js +3 -2
  192. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  193. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +2 -1
  194. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  195. package/dist/cjs/tools/mongodb/update/updateMany.js +3 -2
  196. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  197. package/dist/cjs/tools/tool.d.ts +9 -3
  198. package/dist/cjs/tools/tool.d.ts.map +1 -1
  199. package/dist/cjs/tools/tool.js +33 -24
  200. package/dist/cjs/tools/tool.js.map +1 -1
  201. package/dist/cjs/transports/base.d.ts +13 -16
  202. package/dist/cjs/transports/base.d.ts.map +1 -1
  203. package/dist/cjs/transports/base.js +37 -13
  204. package/dist/cjs/transports/base.js.map +1 -1
  205. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  206. package/dist/cjs/transports/streamableHttp.js +0 -6
  207. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  208. package/dist/cjs/web.d.ts +2 -0
  209. package/dist/cjs/web.d.ts.map +1 -1
  210. package/dist/cjs/web.js +7 -1
  211. package/dist/cjs/web.js.map +1 -1
  212. package/dist/esm/common/config/userConfig.d.ts +5 -0
  213. package/dist/esm/common/config/userConfig.d.ts.map +1 -1
  214. package/dist/esm/common/config/userConfig.js +12 -0
  215. package/dist/esm/common/config/userConfig.js.map +1 -1
  216. package/dist/esm/common/connectionErrorHandler.d.ts +9 -2
  217. package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
  218. package/dist/esm/common/connectionErrorHandler.js +33 -4
  219. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  220. package/dist/esm/common/connectionRegistry.d.ts +153 -0
  221. package/dist/esm/common/connectionRegistry.d.ts.map +1 -0
  222. package/dist/esm/common/connectionRegistry.js +117 -0
  223. package/dist/esm/common/connectionRegistry.js.map +1 -0
  224. package/dist/esm/common/connectionStore.d.ts +59 -0
  225. package/dist/esm/common/connectionStore.d.ts.map +1 -0
  226. package/dist/esm/common/connectionStore.js +216 -0
  227. package/dist/esm/common/connectionStore.js.map +1 -0
  228. package/dist/esm/common/connectionSummary.d.ts +22 -0
  229. package/dist/esm/common/connectionSummary.d.ts.map +1 -0
  230. package/dist/esm/common/connectionSummary.js +37 -0
  231. package/dist/esm/common/connectionSummary.js.map +1 -0
  232. package/dist/esm/common/errors.d.ts +2 -1
  233. package/dist/esm/common/errors.d.ts.map +1 -1
  234. package/dist/esm/common/errors.js +1 -0
  235. package/dist/esm/common/errors.js.map +1 -1
  236. package/dist/esm/common/logging/loggingDefinitions.d.ts +3 -0
  237. package/dist/esm/common/logging/loggingDefinitions.d.ts.map +1 -1
  238. package/dist/esm/common/logging/loggingDefinitions.js +3 -0
  239. package/dist/esm/common/logging/loggingDefinitions.js.map +1 -1
  240. package/dist/esm/common/packageInfo.js +1 -1
  241. package/dist/esm/common/packageInfo.js.map +1 -1
  242. package/dist/esm/common/session.d.ts +13 -22
  243. package/dist/esm/common/session.d.ts.map +1 -1
  244. package/dist/esm/common/session.js +13 -76
  245. package/dist/esm/common/session.js.map +1 -1
  246. package/dist/esm/lib.d.ts +2 -0
  247. package/dist/esm/lib.d.ts.map +1 -1
  248. package/dist/esm/lib.js +2 -0
  249. package/dist/esm/lib.js.map +1 -1
  250. package/dist/esm/resources/common/config.d.ts +1 -0
  251. package/dist/esm/resources/common/config.d.ts.map +1 -1
  252. package/dist/esm/resources/common/config.js +11 -2
  253. package/dist/esm/resources/common/config.js.map +1 -1
  254. package/dist/esm/resources/common/debug.d.ts +2 -11
  255. package/dist/esm/resources/common/debug.d.ts.map +1 -1
  256. package/dist/esm/resources/common/debug.js +32 -43
  257. package/dist/esm/resources/common/debug.js.map +1 -1
  258. package/dist/esm/server.d.ts +0 -1
  259. package/dist/esm/server.d.ts.map +1 -1
  260. package/dist/esm/server.js +0 -22
  261. package/dist/esm/server.js.map +1 -1
  262. package/dist/esm/telemetry/types.d.ts +1 -0
  263. package/dist/esm/telemetry/types.d.ts.map +1 -1
  264. package/dist/esm/tools/atlas/atlasTool.d.ts +1 -1
  265. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  266. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +4 -2
  267. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  268. package/dist/esm/tools/atlas/connect/connectCluster.js +109 -125
  269. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  270. package/dist/esm/tools/atlas/create/createCluster.d.ts +1 -1
  271. package/dist/esm/tools/atlas/create/createCluster.d.ts.map +1 -1
  272. package/dist/esm/tools/atlas/create/createCluster.js +2 -2
  273. package/dist/esm/tools/atlas/create/createCluster.js.map +1 -1
  274. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +1 -1
  275. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  276. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +2 -2
  277. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  278. package/dist/esm/tools/atlas/streams/build.d.ts +2 -2
  279. package/dist/esm/tools/atlas/streams/discover.d.ts +1 -1
  280. package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts +1 -1
  281. package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts.map +1 -1
  282. package/dist/esm/tools/atlas/streams/streamsToolBase.js +2 -2
  283. package/dist/esm/tools/atlas/streams/streamsToolBase.js.map +1 -1
  284. package/dist/esm/tools/atlas/streams/teardown.d.ts +3 -3
  285. package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts +3 -3
  286. package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -1
  287. package/dist/esm/tools/atlas/update/pauseResumeCluster.js +18 -11
  288. package/dist/esm/tools/atlas/update/pauseResumeCluster.js.map +1 -1
  289. package/dist/esm/tools/atlas/update/upgradeCluster.d.ts +3 -3
  290. package/dist/esm/tools/atlas/update/upgradeCluster.d.ts.map +1 -1
  291. package/dist/esm/tools/atlas/update/upgradeCluster.js +7 -25
  292. package/dist/esm/tools/atlas/update/upgradeCluster.js.map +1 -1
  293. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +1 -1
  294. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -1
  295. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +3 -1
  296. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  297. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +16 -5
  298. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  299. package/dist/esm/tools/mongodb/connect/connect.d.ts +9 -6
  300. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  301. package/dist/esm/tools/mongodb/connect/connect.js +33 -26
  302. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  303. package/dist/esm/tools/mongodb/connect/disconnect.d.ts +19 -0
  304. package/dist/esm/tools/mongodb/connect/disconnect.d.ts.map +1 -0
  305. package/dist/esm/tools/mongodb/connect/disconnect.js +44 -0
  306. package/dist/esm/tools/mongodb/connect/disconnect.js.map +1 -0
  307. package/dist/esm/tools/mongodb/connect/listConnections.d.ts +32 -0
  308. package/dist/esm/tools/mongodb/connect/listConnections.d.ts.map +1 -0
  309. package/dist/esm/tools/mongodb/connect/listConnections.js +40 -0
  310. package/dist/esm/tools/mongodb/connect/listConnections.js.map +1 -0
  311. package/dist/esm/tools/mongodb/create/createCollection.d.ts +2 -1
  312. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  313. package/dist/esm/tools/mongodb/create/createCollection.js +4 -4
  314. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  315. package/dist/esm/tools/mongodb/create/createIndex.d.ts +3 -2
  316. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  317. package/dist/esm/tools/mongodb/create/createIndex.js +8 -7
  318. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  319. package/dist/esm/tools/mongodb/create/insertMany.d.ts +2 -1
  320. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  321. package/dist/esm/tools/mongodb/create/insertMany.js +4 -3
  322. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  323. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +2 -1
  324. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  325. package/dist/esm/tools/mongodb/delete/deleteMany.js +4 -3
  326. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  327. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +2 -1
  328. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  329. package/dist/esm/tools/mongodb/delete/dropCollection.js +4 -3
  330. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  331. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +2 -1
  332. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  333. package/dist/esm/tools/mongodb/delete/dropDatabase.js +4 -4
  334. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  335. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +1 -0
  336. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  337. package/dist/esm/tools/mongodb/delete/dropIndex.js +5 -4
  338. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  339. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +3 -2
  340. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  341. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +5 -5
  342. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  343. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +2 -1
  344. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  345. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +4 -3
  346. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  347. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -2
  348. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  349. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +4 -4
  350. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  351. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +2 -1
  352. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  353. package/dist/esm/tools/mongodb/metadata/dbStats.js +4 -4
  354. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  355. package/dist/esm/tools/mongodb/metadata/explain.d.ts +2 -1
  356. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  357. package/dist/esm/tools/mongodb/metadata/explain.js +4 -3
  358. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  359. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +2 -1
  360. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  361. package/dist/esm/tools/mongodb/metadata/listCollections.js +4 -4
  362. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  363. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +5 -3
  364. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  365. package/dist/esm/tools/mongodb/metadata/listDatabases.js +4 -4
  366. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  367. package/dist/esm/tools/mongodb/metadata/logs.d.ts +2 -1
  368. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  369. package/dist/esm/tools/mongodb/metadata/logs.js +4 -3
  370. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  371. package/dist/esm/tools/mongodb/mongodbTool.d.ts +16 -3
  372. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  373. package/dist/esm/tools/mongodb/mongodbTool.js +45 -29
  374. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  375. package/dist/esm/tools/mongodb/read/aggregate.d.ts +2 -1
  376. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  377. package/dist/esm/tools/mongodb/read/aggregate.js +10 -11
  378. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  379. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +2 -1
  380. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  381. package/dist/esm/tools/mongodb/read/aggregateDB.js +4 -3
  382. package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -1
  383. package/dist/esm/tools/mongodb/read/count.d.ts +2 -1
  384. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  385. package/dist/esm/tools/mongodb/read/count.js +4 -3
  386. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  387. package/dist/esm/tools/mongodb/read/export.d.ts +2 -1
  388. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  389. package/dist/esm/tools/mongodb/read/export.js +4 -3
  390. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  391. package/dist/esm/tools/mongodb/read/find.d.ts +2 -1
  392. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  393. package/dist/esm/tools/mongodb/read/find.js +4 -3
  394. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  395. package/dist/esm/tools/mongodb/tools.d.ts +2 -1
  396. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  397. package/dist/esm/tools/mongodb/tools.js +2 -1
  398. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  399. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +2 -1
  400. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  401. package/dist/esm/tools/mongodb/update/renameCollection.js +4 -3
  402. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  403. package/dist/esm/tools/mongodb/update/updateMany.d.ts +2 -1
  404. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  405. package/dist/esm/tools/mongodb/update/updateMany.js +4 -3
  406. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  407. package/dist/esm/tools/tool.d.ts +9 -3
  408. package/dist/esm/tools/tool.d.ts.map +1 -1
  409. package/dist/esm/tools/tool.js +33 -24
  410. package/dist/esm/tools/tool.js.map +1 -1
  411. package/dist/esm/transports/base.d.ts +13 -16
  412. package/dist/esm/transports/base.d.ts.map +1 -1
  413. package/dist/esm/transports/base.js +37 -13
  414. package/dist/esm/transports/base.js.map +1 -1
  415. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  416. package/dist/esm/transports/streamableHttp.js +0 -6
  417. package/dist/esm/transports/streamableHttp.js.map +1 -1
  418. package/dist/esm/web.d.ts +2 -0
  419. package/dist/esm/web.d.ts.map +1 -1
  420. package/dist/esm/web.js +2 -0
  421. package/dist/esm/web.js.map +1 -1
  422. package/package.json +3 -3
  423. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +0 -21
  424. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +0 -1
  425. package/dist/cjs/tools/mongodb/connect/switchConnection.js +0 -64
  426. package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +0 -1
  427. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +0 -21
  428. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +0 -1
  429. package/dist/esm/tools/mongodb/connect/switchConnection.js +0 -57
  430. package/dist/esm/tools/mongodb/connect/switchConnection.js.map +0 -1
package/README.md CHANGED
@@ -336,7 +336,7 @@ For more information about configuring OpenCode as an MCP client, including the
336
336
  - `collection-indexes` - Describe the indexes for a collection
337
337
  - `collection-schema` - Describe the schema for a collection
338
338
  - `collection-storage-size` - Gets the size of the collection
339
- - `connect` - Connect to a MongoDB instance
339
+ - `connect` - Connect to a MongoDB instance and get back a `connectionId` to pass to the other MongoDB tools. When the server is started with a configured connection string, a connection with the id `preconfigured` is available without calling this tool.
340
340
  - `count` - Gets the number of documents in a MongoDB collection using db.collection.count() and query as an optional filter parameter
341
341
  - `create-collection` - Creates a new collection in a database. If the database doesn't exist, it will be created automatically.
342
342
  - `create-index` - Create an index for a collection
@@ -351,9 +351,10 @@ For more information about configuring OpenCode as an MCP client, including the
351
351
  - `insert-many` - Insert an array of documents into a MongoDB collection. If the list of documents is above com.mongodb/maxRequestPayloadBytes, consider inserting them in batches.
352
352
  - `list-collections` - List all collections for a given database
353
353
  - `list-databases` - List all databases for a MongoDB connection
354
+ - `disconnect` - Close a MongoDB connection and revoke its `connectionId`
355
+ - `list-connections` - List the active MongoDB connections and their `connectionId`s
354
356
  - `mongodb-logs` - Returns the most recent logged mongod events
355
357
  - `rename-collection` - Renames a collection in a MongoDB database
356
- - `switch-connection` - Switch to a different MongoDB connection
357
358
  - `update-many` - Updates all documents that match the specified filter for a collection. If the list of documents is above com.mongodb/maxRequestPayloadBytes, consider updating them in batches.
358
359
 
359
360
  #### MongoDB Atlas Tools
@@ -415,47 +416,49 @@ The MongoDB MCP Server can be configured using multiple methods, with the follow
415
416
 
416
417
  ### Configuration Options
417
418
 
418
- | Environment Variable / CLI Option | Default | Description |
419
- | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
420
- | `MDB_MCP_ALLOW_REQUEST_OVERRIDES` / `--allowRequestOverrides` | `false` | When set to true, allows configuration values to be overridden via request headers and query parameters. |
421
- | `MDB_MCP_API_CLIENT_ID` / `--apiClientId` | `<not set>` | Atlas API client ID for authentication. Required for running Atlas tools. |
422
- | `MDB_MCP_API_CLIENT_SECRET` / `--apiClientSecret` | `<not set>` | Atlas API client secret for authentication. Required for running Atlas tools. |
423
- | `MDB_MCP_ASSISTANT_BASE_URL` / `--assistantBaseUrl` | `"https://knowledge.mongodb.com/api/v1/"` | Base URL for the MongoDB Assistant API. |
424
- | `MDB_MCP_ATLAS_TEMPORARY_DATABASE_USER_LIFETIME_MS` / `--atlasTemporaryDatabaseUserLifetimeMs` | `14400000` | Time in milliseconds that temporary database users created when connecting to MongoDB Atlas clusters will remain active before being automatically deleted. |
425
- | `MDB_MCP_CONFIRMATION_REQUIRED_TOOLS` / `--confirmationRequiredTools` | `"atlas-create-access-list,atlas-create-db-user,drop-database,drop-collection,delete-many,drop-index,atlas-streams-manage,atlas-streams-teardown"` | Comma separated values of tool names that require user confirmation before execution. Requires the client to support elicitation. |
426
- | `MDB_MCP_CONNECTION_STRING` / `--connectionString` | `<not set>` | MongoDB connection string for direct database connections. Optional, if not set, you'll need to call the connect tool before interacting with MongoDB data. |
427
- | `MDB_MCP_DISABLE_SERVER_SIDE_JS` / `--disableServerSideJs` | `true` | When set to true, disallows the use of server-side JavaScript operators (such as $where, $function, and $accumulator) in query filters and aggregation pipelines. |
428
- | `MDB_MCP_DISABLED_TOOLS` / `--disabledTools` | `""` | Comma separated values of tool names, operation types, and/or categories of tools that will be disabled. |
429
- | `MDB_MCP_DRY_RUN` / `--dryRun` | `false` | When true, runs the server in dry mode: dumps configuration and enabled tools, then exits without starting the server. |
430
- | `MDB_MCP_EXPORT_CLEANUP_INTERVAL_MS` / `--exportCleanupIntervalMs` | `120000` | Time in milliseconds between export cleanup cycles that remove expired export files. |
431
- | `MDB_MCP_EXPORT_TIMEOUT_MS` / `--exportTimeoutMs` | `300000` | Time in milliseconds after which an export is considered expired and eligible for cleanup. |
432
- | `MDB_MCP_EXPORTS_PATH` / `--exportsPath` | see below\* | Folder to store exported data files. |
433
- | `MDB_MCP_EXTERNALLY_MANAGED_SESSIONS` / `--externallyManagedSessions` | `false` | When true, the HTTP transport allows requests with a session ID supplied externally through the 'mcp-session-id' header. When an external ID is supplied, the initialization request is optional. |
434
- | `MDB_MCP_HEALTH_CHECK_HOST` / `--healthCheckHost` | `<not set>` | Deprecated. Use `monitoringServerHost` instead. Host address to bind the healthCheck HTTP server to (only used when transport is 'http'). If provided, `healthCheckPort` must also be set. |
435
- | `MDB_MCP_HEALTH_CHECK_PORT` / `--healthCheckPort` | `<not set>` | Deprecated. Use `monitoringServerPort` instead. Port number for the healthCheck HTTP server (only used when transport is 'http'). If provided, `healthCheckHost` must also be set. |
436
- | `MDB_MCP_HTTP_BODY_LIMIT` / `--httpBodyLimit` | `102400` | Maximum size of the HTTP request body in bytes (only used when transport is 'http'). This value is passed as the optional limit parameter to the Express.js json() middleware. |
437
- | `MDB_MCP_HTTP_HEADERS` / `--httpHeaders` | `"{}"` | Header that the HTTP server will validate when making requests (only used when transport is 'http'). |
438
- | `MDB_MCP_HTTP_HOST` / `--httpHost` | `"127.0.0.1"` | Host address to bind the HTTP server to (only used when transport is 'http'). |
439
- | `MDB_MCP_HTTP_PORT` / `--httpPort` | `3000` | Port number for the HTTP server (only used when transport is 'http'). Use 0 for a random port. |
440
- | `MDB_MCP_HTTP_RESPONSE_TYPE` / `--httpResponseType` | `"sse"` | The HTTP response type for tool responses: 'sse' for Server-Sent Events, 'json' for standard JSON responses. |
441
- | `MDB_MCP_IDLE_TIMEOUT_MS` / `--idleTimeoutMs` | `600000` | Idle timeout for a client to disconnect (only applies to http transport). |
442
- | `MDB_MCP_INDEX_CHECK` / `--indexCheck` | `false` | When set to true, enforces that query operations must use an index, rejecting queries that perform a collection scan. |
443
- | `MDB_MCP_LOG_PATH` / `--logPath` | see below\* | Folder to store logs. |
444
- | `MDB_MCP_LOGGERS` / `--loggers` | `"disk,mcp"` see below\* | Comma separated values of logger types. |
445
- | `MDB_MCP_MAX_BYTES_PER_QUERY` / `--maxBytesPerQuery` | `16777216` | 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. |
446
- | `MDB_MCP_MAX_DOCUMENTS_PER_QUERY` / `--maxDocumentsPerQuery` | `100` | 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. |
447
- | `MDB_MCP_MAX_SESSIONS` / `--maxSessions` | `1000` | Maximum number of concurrent sessions the HTTP transport will hold in memory (only used when transport is 'http'). Each session holds a full server instance, transport, and timers, so choose a value based on your deployment's available memory; the default is a conservative safety net rather than a recommended production value. |
448
- | `MDB_MCP_MAX_TIME_M_S` / `--maxTimeMS` | `<not set>` | The maximum time in milliseconds that operations are allowed to run on the MongoDB server. When set, this value is passed as the maxTimeMS option to read operations such as find, aggregate, and count. |
449
- | `MDB_MCP_MCP_CLIENT_LOG_LEVEL` / `--mcpClientLogLevel` | `"debug"` | Minimum severity level for log messages forwarded to the MCP client. |
450
- | `MDB_MCP_MONITORING_SERVER_FEATURES` / `--monitoringServerFeatures` | `"health-check"` | Features to expose on the monitoring server (only used when transport is 'http' and monitoringServerHost/monitoringServerPort are set). |
451
- | `MDB_MCP_MONITORING_SERVER_HOST` / `--monitoringServerHost` | `<not set>` | Host address to bind the monitoring HTTP server to (only used when transport is 'http'). If provided, `monitoringServerPort` must also be set. |
452
- | `MDB_MCP_MONITORING_SERVER_PORT` / `--monitoringServerPort` | `<not set>` | Port number for the monitoring HTTP server (only used when transport is 'http'). If provided, `monitoringServerHost` must also be set. |
453
- | `MDB_MCP_NOTIFICATION_TIMEOUT_MS` / `--notificationTimeoutMs` | `540000` | Notification timeout for a client to be aware of disconnect (only applies to http transport). |
454
- | `MDB_MCP_PREVIEW_FEATURES` / `--previewFeatures` | `""` | Comma separated values of preview features that are enabled. |
455
- | `MDB_MCP_READ_ONLY` / `--readOnly` | `false` | When set to true, only allows read, connect, and metadata operation types, disabling create/update/delete operations. |
456
- | `MDB_MCP_TELEMETRY` / `--telemetry` | `"enabled"` | When set to disabled, disables telemetry collection. |
457
- | `MDB_MCP_TRANSPORT` / `--transport` | `"stdio"` | Either 'stdio' or 'http'. |
458
- | `MDB_MCP_VOYAGE_API_KEY` / `--voyageApiKey` | `""` | API key for Voyage AI embeddings service (required for creating Atlas Local deployments with auto-embed vector search capabilities). |
419
+ | Environment Variable / CLI Option | Default | Description |
420
+ | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
421
+ | `MDB_MCP_ALLOW_REQUEST_OVERRIDES` / `--allowRequestOverrides` | `false` | When set to true, allows configuration values to be overridden via request headers and query parameters. |
422
+ | `MDB_MCP_API_CLIENT_ID` / `--apiClientId` | `<not set>` | Atlas API client ID for authentication. Required for running Atlas tools. |
423
+ | `MDB_MCP_API_CLIENT_SECRET` / `--apiClientSecret` | `<not set>` | Atlas API client secret for authentication. Required for running Atlas tools. |
424
+ | `MDB_MCP_ASSISTANT_BASE_URL` / `--assistantBaseUrl` | `"https://knowledge.mongodb.com/api/v1/"` | Base URL for the MongoDB Assistant API. |
425
+ | `MDB_MCP_ATLAS_TEMPORARY_DATABASE_USER_LIFETIME_MS` / `--atlasTemporaryDatabaseUserLifetimeMs` | `14400000` | Time in milliseconds that temporary database users created when connecting to MongoDB Atlas clusters will remain active before being automatically deleted. |
426
+ | `MDB_MCP_CONFIRMATION_REQUIRED_TOOLS` / `--confirmationRequiredTools` | `"atlas-create-access-list,atlas-create-db-user,drop-database,drop-collection,delete-many,drop-index,atlas-streams-manage,atlas-streams-teardown"` | Comma separated values of tool names that require user confirmation before execution. Requires the client to support elicitation. |
427
+ | `MDB_MCP_CONNECTION_SCOPE` / `--connectionScope` | `"session"` | Visibility scope for MongoDB connections created at runtime. With 'session' (the default), each MCP session only sees the connections it created (plus the shared 'preconfigured' one) and they are closed when the session ends recommended when the HTTP transport is exposed to multiple clients without authentication. With 'global', connections are shared across all sessions and survive session rotation. |
428
+ | `MDB_MCP_CONNECTION_STRING` / `--connectionString` | `<not set>` | MongoDB connection string for direct database connections. Optional, if not set, you'll need to call the connect tool before interacting with MongoDB data. |
429
+ | `MDB_MCP_DISABLE_SERVER_SIDE_JS` / `--disableServerSideJs` | `true` | When set to true, disallows the use of server-side JavaScript operators (such as $where, $function, and $accumulator) in query filters and aggregation pipelines. |
430
+ | `MDB_MCP_DISABLED_TOOLS` / `--disabledTools` | `""` | Comma separated values of tool names, operation types, and/or categories of tools that will be disabled. |
431
+ | `MDB_MCP_DRY_RUN` / `--dryRun` | `false` | When true, runs the server in dry mode: dumps configuration and enabled tools, then exits without starting the server. |
432
+ | `MDB_MCP_EXPORT_CLEANUP_INTERVAL_MS` / `--exportCleanupIntervalMs` | `120000` | Time in milliseconds between export cleanup cycles that remove expired export files. |
433
+ | `MDB_MCP_EXPORT_TIMEOUT_MS` / `--exportTimeoutMs` | `300000` | Time in milliseconds after which an export is considered expired and eligible for cleanup. |
434
+ | `MDB_MCP_EXPORTS_PATH` / `--exportsPath` | see below\* | Folder to store exported data files. |
435
+ | `MDB_MCP_EXTERNALLY_MANAGED_SESSIONS` / `--externallyManagedSessions` | `false` | When true, the HTTP transport allows requests with a session ID supplied externally through the 'mcp-session-id' header. When an external ID is supplied, the initialization request is optional. |
436
+ | `MDB_MCP_HEALTH_CHECK_HOST` / `--healthCheckHost` | `<not set>` | Deprecated. Use `monitoringServerHost` instead. Host address to bind the healthCheck HTTP server to (only used when transport is 'http'). If provided, `healthCheckPort` must also be set. |
437
+ | `MDB_MCP_HEALTH_CHECK_PORT` / `--healthCheckPort` | `<not set>` | Deprecated. Use `monitoringServerPort` instead. Port number for the healthCheck HTTP server (only used when transport is 'http'). If provided, `healthCheckHost` must also be set. |
438
+ | `MDB_MCP_HTTP_BODY_LIMIT` / `--httpBodyLimit` | `102400` | Maximum size of the HTTP request body in bytes (only used when transport is 'http'). This value is passed as the optional limit parameter to the Express.js json() middleware. |
439
+ | `MDB_MCP_HTTP_HEADERS` / `--httpHeaders` | `"{}"` | Header that the HTTP server will validate when making requests (only used when transport is 'http'). |
440
+ | `MDB_MCP_HTTP_HOST` / `--httpHost` | `"127.0.0.1"` | Host address to bind the HTTP server to (only used when transport is 'http'). |
441
+ | `MDB_MCP_HTTP_PORT` / `--httpPort` | `3000` | Port number for the HTTP server (only used when transport is 'http'). Use 0 for a random port. |
442
+ | `MDB_MCP_HTTP_RESPONSE_TYPE` / `--httpResponseType` | `"sse"` | The HTTP response type for tool responses: 'sse' for Server-Sent Events, 'json' for standard JSON responses. |
443
+ | `MDB_MCP_IDLE_TIMEOUT_MS` / `--idleTimeoutMs` | `600000` | Idle timeout for a client to disconnect (only applies to http transport). |
444
+ | `MDB_MCP_INDEX_CHECK` / `--indexCheck` | `false` | When set to true, enforces that query operations must use an index, rejecting queries that perform a collection scan. |
445
+ | `MDB_MCP_LOG_PATH` / `--logPath` | see below\* | Folder to store logs. |
446
+ | `MDB_MCP_LOGGERS` / `--loggers` | `"disk,mcp"` see below\* | Comma separated values of logger types. |
447
+ | `MDB_MCP_MAX_ACTIVE_CONNECTIONS` / `--maxActiveConnections` | `10` | Maximum number of MongoDB connections a single scope (an MCP session by default, see `connectionScope`) can hold open. When the limit is exceeded, the scope's least-recently-used connection is closed and its connectionId revoked. The preconfigured connection does not count towards the limit. |
448
+ | `MDB_MCP_MAX_BYTES_PER_QUERY` / `--maxBytesPerQuery` | `16777216` | 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. |
449
+ | `MDB_MCP_MAX_DOCUMENTS_PER_QUERY` / `--maxDocumentsPerQuery` | `100` | 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. |
450
+ | `MDB_MCP_MAX_SESSIONS` / `--maxSessions` | `1000` | Maximum number of concurrent sessions the HTTP transport will hold in memory (only used when transport is 'http'). Each session holds a full server instance, transport, and timers, so choose a value based on your deployment's available memory; the default is a conservative safety net rather than a recommended production value. |
451
+ | `MDB_MCP_MAX_TIME_M_S` / `--maxTimeMS` | `<not set>` | The maximum time in milliseconds that operations are allowed to run on the MongoDB server. When set, this value is passed as the maxTimeMS option to read operations such as find, aggregate, and count. |
452
+ | `MDB_MCP_MCP_CLIENT_LOG_LEVEL` / `--mcpClientLogLevel` | `"debug"` | Minimum severity level for log messages forwarded to the MCP client. |
453
+ | `MDB_MCP_MONITORING_SERVER_FEATURES` / `--monitoringServerFeatures` | `"health-check"` | Features to expose on the monitoring server (only used when transport is 'http' and monitoringServerHost/monitoringServerPort are set). |
454
+ | `MDB_MCP_MONITORING_SERVER_HOST` / `--monitoringServerHost` | `<not set>` | Host address to bind the monitoring HTTP server to (only used when transport is 'http'). If provided, `monitoringServerPort` must also be set. |
455
+ | `MDB_MCP_MONITORING_SERVER_PORT` / `--monitoringServerPort` | `<not set>` | Port number for the monitoring HTTP server (only used when transport is 'http'). If provided, `monitoringServerHost` must also be set. |
456
+ | `MDB_MCP_NOTIFICATION_TIMEOUT_MS` / `--notificationTimeoutMs` | `540000` | Notification timeout for a client to be aware of disconnect (only applies to http transport). |
457
+ | `MDB_MCP_PREVIEW_FEATURES` / `--previewFeatures` | `""` | Comma separated values of preview features that are enabled. |
458
+ | `MDB_MCP_READ_ONLY` / `--readOnly` | `false` | When set to true, only allows read, connect, and metadata operation types, disabling create/update/delete operations. |
459
+ | `MDB_MCP_TELEMETRY` / `--telemetry` | `"enabled"` | When set to disabled, disables telemetry collection. |
460
+ | `MDB_MCP_TRANSPORT` / `--transport` | `"stdio"` | Either 'stdio' or 'http'. |
461
+ | `MDB_MCP_VOYAGE_API_KEY` / `--voyageApiKey` | `""` | API key for Voyage AI embeddings service (required for creating Atlas Local deployments with auto-embed vector search capabilities). |
459
462
 
460
463
  #### Logger Options
461
464
 
@@ -43,6 +43,11 @@ export declare const UserConfigSchema: z.ZodObject<{
43
43
  idleTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
44
44
  notificationTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
45
45
  maxSessions: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
46
+ maxActiveConnections: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
47
+ connectionScope: z.ZodDefault<z.ZodEnum<{
48
+ session: "session";
49
+ global: "global";
50
+ }>>;
46
51
  maxBytesPerQuery: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
47
52
  maxDocumentsPerQuery: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
48
53
  maxTimeMS: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"userConfig.d.ts","sourceRoot":"","sources":["../../../../src/common/config/userConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACH,KAAK,eAAe,EASvB,MAAM,kBAAkB,CAAC;AAM1B,eAAO,MAAM,cAAc,qHAAgC,CAAC;AAgT5D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,eAAe,EAA0C,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"userConfig.d.ts","sourceRoot":"","sources":["../../../../src/common/config/userConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACH,KAAK,eAAe,EASvB,MAAM,kBAAkB,CAAC;AAM1B,eAAO,MAAM,cAAc,qHAAgC,CAAC;AAgU5D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,eAAe,EAA0C,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC"}
@@ -147,6 +147,18 @@ const ServerConfigSchema = zod_1.z.object({
147
147
  .default(constants_js_1.DEFAULT_MAX_SESSIONS)
148
148
  .describe("Maximum number of concurrent sessions the HTTP transport will hold in memory (only used when transport is 'http'). Each session holds a full server instance, transport, and timers, so choose a value based on your deployment's available memory; the default is a conservative safety net rather than a recommended production value.")
149
149
  .register(exports.configRegistry, { overrideBehavior: "not-allowed" }),
150
+ maxActiveConnections: zod_1.z.coerce
151
+ .number()
152
+ .int()
153
+ .min(1, "Invalid maxActiveConnections: must be at least 1")
154
+ .default(10)
155
+ .describe("Maximum number of MongoDB connections a single scope (an MCP session by default, see connectionScope) can hold open. When exceeded, the scope's least-recently-used connection is closed and its connectionId revoked. The preconfigured connection does not count towards the limit.")
156
+ .register(exports.configRegistry, { overrideBehavior: "not-allowed" }),
157
+ connectionScope: zod_1.z
158
+ .enum(["session", "global"])
159
+ .default("session")
160
+ .describe("Visibility scope for MongoDB connections created at runtime. With 'session' (the default), each MCP session only sees the connections it created (plus the shared 'preconfigured' one) and they are closed when the session ends — recommended when the HTTP transport is exposed to multiple clients without authentication. With 'global', connections are shared across all sessions and survive session rotation.")
161
+ .register(exports.configRegistry, { overrideBehavior: "not-allowed" }),
150
162
  maxBytesPerQuery: zod_1.z.coerce
151
163
  .number()
152
164
  .default(16777216)
@@ -1 +1 @@
1
- {"version":3,"file":"userConfig.js","sourceRoot":"","sources":["../../../../src/common/config/userConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userConfig.js","sourceRoot":"","sources":["../../../../src/common/config/userConfig.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,qDAU0B;AAC1B,gEAA4D;AAC5D,8CAAoF;AACpF,+DAA0G;AAC1G,gEAA+F;AAElF,QAAA,cAAc,GAAG,OAAC,CAAC,QAAQ,EAAmB,CAAC;AAE5D,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,OAAC;SACR,MAAM,EAAE;SACR,OAAO,CAAC,4BAA4B,CAAC;SACrC,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,gBAAgB,EAAE,OAAC;SACd,MAAM,EAAE;SACR,OAAO,CAAC,uCAAuC,CAAC;SAChD,QAAQ,CAAC,yCAAyC,CAAC;SACnD,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,WAAW,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2EAA2E,CAAC;SACrF,QAAQ,CAAC,sBAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClF,eAAe,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;SACzF,QAAQ,CAAC,sBAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClF,gBAAgB,EAAE,OAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,6JAA6J,CAChK;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClF,OAAO,EAAE,OAAC;SACL,UAAU,CACP,CAAC,GAAkC,EAAE,EAAE,CAAC,IAAA,sCAAqB,EAAC,GAAG,CAAC,EAClE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAC7C;SACA,KAAK,CACF,OAAC,CAAC,SAAS,CAAC,CAAC,EAAE,0BAA0B,CAAC,EAC1C,OAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE;QAChD,OAAO,EAAE,mCAAmC;KAC/C,CAAC,CACL;SACA,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACxB,QAAQ,CAAC,2BAA2B,CAAC;SACrC,QAAQ,CAAC,sBAAc,EAAE;QACtB,uBAAuB,EAAE,yBAAyB;QAClD,gBAAgB,EAAE,aAAa;KAClC,CAAC;IACN,OAAO,EAAE,OAAC;SACL,MAAM,EAAE;SACR,OAAO,CAAC,IAAA,2BAAU,GAAE,CAAC;SACrB,QAAQ,CAAC,uBAAuB,CAAC;SACjC,QAAQ,CAAC,sBAAc,EAAE,EAAE,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IACzG,iBAAiB,EAAE,OAAC;SACf,IAAI,CAAC,gCAAc,CAAC;SACpB,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,sEAAsE,CAAC;SAChF,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,IAAA,6CAA4B,EAAC,gCAAc,CAAC,EAAE,CAAC;IACjG,aAAa,EAAE,OAAC;SACX,UAAU,CAAC,CAAC,GAAkC,EAAE,EAAE,CAAC,IAAA,sCAAqB,EAAC,GAAG,CAAC,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACnG,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,4FAA4F,CAAC;SACtG,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5D,yBAAyB,EAAE,OAAC;SACvB,UAAU,CAAC,CAAC,GAAkC,EAAE,EAAE,CAAC,IAAA,sCAAqB,EAAC,GAAG,CAAC,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACnG,OAAO,CAAC;QACL,0BAA0B;QAC1B,sBAAsB;QACtB,eAAe;QACf,iBAAiB;QACjB,aAAa;QACb,YAAY;QACZ,sBAAsB;QACtB,wBAAwB;KAC3B,CAAC;SACD,QAAQ,CACL,qHAAqH,CACxH;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5D,QAAQ,EAAE,OAAC;SACN,UAAU,CAAC,6BAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SACrC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACL,uHAAuH,CAC1H;SACA,QAAQ,CAAC,sBAAc,EAAE;QACtB,gBAAgB,EAAE,IAAA,+BAAc,EAAC,IAAI,CAAC;KACzC,CAAC;IACN,UAAU,EAAE,OAAC;SACR,UAAU,CAAC,6BAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SACrC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACL,uHAAuH,CAC1H;SACA,QAAQ,CAAC,sBAAc,EAAE;QACtB,gBAAgB,EAAE,IAAA,+BAAc,EAAC,IAAI,CAAC;KACzC,CAAC;IACN,mBAAmB,EAAE,OAAC;SACjB,UAAU,CAAC,6BAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SACrC,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACL,mKAAmK,CACtK;SACA,QAAQ,CAAC,sBAAc,EAAE;QACtB,gBAAgB,EAAE,IAAA,+BAAc,EAAC,IAAI,CAAC;KACzC,CAAC;IACN,SAAS,EAAE,OAAC;SACP,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC7B,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,sDAAsD,CAAC;SAChE,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,SAAS,EAAE,OAAC;SACP,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,2BAA2B,CAAC;SACrC,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,QAAQ,EAAE,OAAC,CAAC,MAAM;SACb,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;SAC9C,GAAG,CAAC,KAAK,EAAE,yCAAyC,CAAC;SACrD,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,gGAAgG,CAAC;SAC1G,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,QAAQ,EAAE,OAAC;SACN,MAAM,EAAE;SACR,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,+EAA+E,CAAC;SACzF,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,WAAW,EAAE,OAAC;SACT,MAAM,CAAC,EAAE,CAAC;SACV,KAAK,EAAE;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACL,sGAAsG,CACzG;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,aAAa,EAAE,OAAC,CAAC,MAAM;SAClB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CACA,uCAAwB,CAAC,IAAI,EAC7B,2CAA2C,uCAAwB,CAAC,IAAI,QAAQ,CACnF;SACA,OAAO,CAAC,uCAAwB,CAAC,IAAI,CAAC;SACtC,QAAQ,CACL,gLAAgL,CACnL;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,aAAa,EAAE,OAAC,CAAC,MAAM;SAClB,MAAM,EAAE;SACR,OAAO,CAAC,MAAO,CAAC;SAChB,QAAQ,CAAC,2EAA2E,CAAC;SACrF,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,IAAA,+CAA8B,GAAE,EAAE,CAAC;IACrF,qBAAqB,EAAE,OAAC,CAAC,MAAM;SAC1B,MAAM,EAAE;SACR,OAAO,CAAC,MAAO,CAAC;SAChB,QAAQ,CAAC,+FAA+F,CAAC;SACzG,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,IAAA,+CAA8B,GAAE,EAAE,CAAC;IACrF,WAAW,EAAE,OAAC,CAAC,MAAM;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,yCAAyC,CAAC;SACjD,OAAO,CAAC,mCAAoB,CAAC;SAC7B,QAAQ,CACL,0UAA0U,CAC7U;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,oBAAoB,EAAE,OAAC,CAAC,MAAM;SACzB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,kDAAkD,CAAC;SAC1D,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACL,uRAAuR,CAC1R;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,eAAe,EAAE,OAAC;SACb,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC3B,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACL,uZAAuZ,CAC1Z;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,gBAAgB,EAAE,OAAC,CAAC,MAAM;SACrB,MAAM,EAAE;SACR,OAAO,CAAC,QAAU,CAAC;SACnB,QAAQ,CACL,8JAA8J,CACjK;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,oBAAoB,EAAE,OAAC,CAAC,MAAM;SACzB,MAAM,EAAE;SACR,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CACL,iMAAiM,CACpM;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,SAAS,EAAE,OAAC,CAAC,MAAM;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CACL,0MAA0M,CAC7M;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,WAAW,EAAE,OAAC;SACT,MAAM,EAAE;SACR,OAAO,CAAC,IAAA,+BAAc,GAAE,CAAC;SACzB,QAAQ,CAAC,sCAAsC,CAAC;SAChD,QAAQ,CAAC,sBAAc,EAAE,EAAE,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IACzG,eAAe,EAAE,OAAC,CAAC,MAAM;SACpB,MAAM,EAAE;SACR,OAAO,CAAC,MAAO,CAAC;SAChB,QAAQ,CAAC,4FAA4F,CAAC;SACtG,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,IAAA,+CAA8B,GAAE,EAAE,CAAC;IACrF,uBAAuB,EAAE,OAAC,CAAC,MAAM;SAC5B,MAAM,EAAE;SACR,OAAO,CAAC,MAAO,CAAC;SAChB,QAAQ,CAAC,sFAAsF,CAAC;SAChG,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,oCAAoC,EAAE,OAAC,CAAC,MAAM;SACzC,MAAM,EAAE;SACR,OAAO,CAAC,QAAU,CAAC;SACnB,QAAQ,CACL,6JAA6J,CAChK;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,IAAA,+CAA8B,GAAE,EAAE,CAAC;IACrF,YAAY,EAAE,OAAC;SACV,MAAM,EAAE;SACR,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACL,sIAAsI,CACzI;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClF,eAAe,EAAE,OAAC;SACb,UAAU,CACP,CAAC,GAAkC,EAAE,EAAE,CAAC,IAAA,sCAAqB,EAAC,GAAG,CAAC,EAClE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,iCAAoB,CAAC,CAAC,CACxC;SACA,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,gDAAgD,CAAC;SAC1D,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,IAAA,8CAA6B,GAAE,EAAE,CAAC;IACpF,qBAAqB,EAAE,OAAC;SACnB,UAAU,CAAC,6BAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SACrC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACL,0GAA0G,CAC7G;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,MAAM,EAAE,OAAC;SACJ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACL,wHAAwH,CAC3H;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,yBAAyB,EAAE,OAAC;SACvB,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACL,mMAAmM,CACtM;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,gBAAgB,EAAE,OAAC;SACd,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACrB,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACL,8GAA8G,CACjH;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,sDAAsD;IACtD,eAAe,EAAE,OAAC;SACb,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,6CAA6C,CAAC;SACrD,GAAG,CAAC,KAAK,EAAE,gDAAgD,CAAC;SAC5D,QAAQ,EAAE;SACV,QAAQ,CACL,oLAAoL,CACvL;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;SAC7D,QAAQ,CAAC,wBAAW,EAAE,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC;IAC9E,sDAAsD;IACtD,eAAe,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,4LAA4L,CAC/L;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;SAC7D,QAAQ,CAAC,wBAAW,EAAE,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC;IAC9E,oBAAoB,EAAE,OAAC;SAClB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,kDAAkD,CAAC;SAC1D,GAAG,CAAC,KAAK,EAAE,qDAAqD,CAAC;SACjE,QAAQ,EAAE;SACV,QAAQ,CACL,wIAAwI,CAC3I;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,oBAAoB,EAAE,OAAC;SAClB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,gJAAgJ,CACnJ;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClE,wBAAwB,EAAE,OAAC;SACtB,UAAU,CACP,CAAC,GAAkC,EAAE,EAAE,CAAC,IAAA,sCAAqB,EAAC,GAAG,CAAC,EAClE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,0CAA6B,CAAC,CAAC,CACjD;SACA,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;SACzB,QAAQ,CACL,yIAAyI,CAC5I;SACA,QAAQ,CAAC,sBAAc,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;CACrE,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,GAAG,6BAAuB,CAAC,KAAK;IAChC,GAAG,kBAAkB,CAAC,KAAK;CAC9B,CAAC,CAAC;AAIU,QAAA,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAgB,CAAC,KAAK,CAAyB,CAAC"}
@@ -2,10 +2,10 @@ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
2
  import { ErrorCodes, type MongoDBError } from "./errors.js";
3
3
  import type { AnyConnectionState } from "./connectionManager.js";
4
4
  import type { AnyToolBase } from "../tools/tool.js";
5
- export type ConnectionErrorHandler = (error: MongoDBError<ErrorCodes.NotConnectedToMongoDB | ErrorCodes.MisconfiguredConnectionString>, additionalContext: ConnectionErrorHandlerContext) => ConnectionErrorUnhandled | ConnectionErrorHandled | Promise<ConnectionErrorUnhandled | ConnectionErrorHandled>;
5
+ export type ConnectionErrorHandler = (error: MongoDBError<ErrorCodes.NotConnectedToMongoDB | ErrorCodes.MisconfiguredConnectionString | ErrorCodes.UnknownConnectionId>, additionalContext: ConnectionErrorHandlerContext) => ConnectionErrorUnhandled | ConnectionErrorHandled | Promise<ConnectionErrorUnhandled | ConnectionErrorHandled>;
6
6
  export type ConnectionErrorHandlerContext = {
7
7
  availableTools: AnyToolBase[];
8
- connectionState: AnyConnectionState;
8
+ connectionState?: AnyConnectionState;
9
9
  };
10
10
  export type ConnectionErrorUnhandled = {
11
11
  errorHandled: false;
@@ -14,5 +14,12 @@ export type ConnectionErrorHandled = {
14
14
  errorHandled: true;
15
15
  result: CallToolResult;
16
16
  };
17
+ /**
18
+ * The enabled tools that can establish a connection, sorted with Atlas tools
19
+ * before MongoDB tools so every listing surfaces them in the same order. The
20
+ * disconnect tool shares the "connect" operation type but cannot establish a
21
+ * connection, so it is excluded.
22
+ */
23
+ export declare function connectCapableTools(tools: AnyToolBase[]): AnyToolBase[];
17
24
  export declare const connectionErrorHandler: ConnectionErrorHandler;
18
25
  //# sourceMappingURL=connectionErrorHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectionErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,qBAAqB,GAAG,UAAU,CAAC,6BAA6B,CAAC,EAChG,iBAAiB,EAAE,6BAA6B,KAC/C,wBAAwB,GAAG,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,CAAC;AAEpH,MAAM,MAAM,6BAA6B,GAAG;IAAE,cAAc,EAAE,WAAW,EAAE,CAAC;IAAC,eAAe,EAAE,kBAAkB,CAAA;CAAE,CAAC;AACnH,MAAM,MAAM,wBAAwB,GAAG;IAAE,YAAY,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,sBAAsB,GAAG;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAEpF,eAAO,MAAM,sBAAsB,EAAE,sBAoFpC,CAAC"}
1
+ {"version":3,"file":"connectionErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,YAAY,CACf,UAAU,CAAC,qBAAqB,GAAG,UAAU,CAAC,6BAA6B,GAAG,UAAU,CAAC,mBAAmB,CAC/G,EACD,iBAAiB,EAAE,6BAA6B,KAC/C,wBAAwB,GAAG,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,CAAC;AAEpH,MAAM,MAAM,6BAA6B,GAAG;IAAE,cAAc,EAAE,WAAW,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AACpH,MAAM,MAAM,wBAAwB,GAAG;IAAE,YAAY,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,sBAAsB,GAAG;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAIvE;AAED,eAAO,MAAM,sBAAsB,EAAE,sBAwGpC,CAAC"}
@@ -1,11 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.connectionErrorHandler = void 0;
4
+ exports.connectCapableTools = connectCapableTools;
4
5
  const errors_js_1 = require("./errors.js");
6
+ const disconnect_js_1 = require("../tools/mongodb/connect/disconnect.js");
7
+ const listConnections_js_1 = require("../tools/mongodb/connect/listConnections.js");
8
+ /**
9
+ * The enabled tools that can establish a connection, sorted with Atlas tools
10
+ * before MongoDB tools so every listing surfaces them in the same order. The
11
+ * disconnect tool shares the "connect" operation type but cannot establish a
12
+ * connection, so it is excluded.
13
+ */
14
+ function connectCapableTools(tools) {
15
+ return tools
16
+ .filter((t) => t.operationType === "connect" && t.name !== disconnect_js_1.DisconnectTool.toolName && t.isEnabled())
17
+ .sort((a, b) => a.category.localeCompare(b.category));
18
+ }
5
19
  const connectionErrorHandler = (error, { availableTools, connectionState }) => {
6
- const connectTools = availableTools
7
- .filter((t) => t.operationType === "connect" && t.isEnabled())
8
- .sort((a, b) => a.category.localeCompare(b.category)); // Sort Atlas tools before MongoDB tools
20
+ const connectTools = connectCapableTools(availableTools);
9
21
  // Find what Atlas connect tools are available and suggest when the LLM should to use each. If no Atlas tools are found, return a suggestion for the MongoDB connect tool.
10
22
  const atlasConnectTool = connectTools?.find((t) => t.category === "atlas");
11
23
  const atlasLocalConnectTool = connectTools?.find((t) => t.category === "atlas-local");
@@ -23,7 +35,7 @@ const connectionErrorHandler = (error, { availableTools, connectionState }) => {
23
35
  })();
24
36
  const connectToolsNames = connectTools?.map((t) => `"${t.name}"`).join(", ");
25
37
  const additionalPromptForConnectivity = [];
26
- if (connectionState.tag === "connecting" && connectionState.oidcConnectionType) {
38
+ if (connectionState?.tag === "connecting" && connectionState.oidcConnectionType) {
27
39
  additionalPromptForConnectivity.push({
28
40
  type: "text",
29
41
  text: `The user needs to finish their OIDC connection by opening '${connectionState.oidcLoginUrl}' in the browser and use the following user code: '${connectionState.oidcUserCode}'`,
@@ -38,6 +50,24 @@ const connectionErrorHandler = (error, { availableTools, connectionState }) => {
38
50
  });
39
51
  }
40
52
  switch (error.code) {
53
+ case errors_js_1.ErrorCodes.UnknownConnectionId: {
54
+ const listConnectionsAvailable = availableTools.some((t) => t.name === listConnections_js_1.ListConnectionsTool.toolName && t.isEnabled());
55
+ return {
56
+ errorHandled: true,
57
+ result: {
58
+ content: [
59
+ {
60
+ type: "text",
61
+ text: `${error.message} ${listConnectionsAvailable
62
+ ? `Call the "${listConnections_js_1.ListConnectionsTool.toolName}" tool to see the active connections, or establish a new one and retry with the connectionId it returns.`
63
+ : "Establish a new connection using one of the connect tools and retry with the connectionId it returns."}`,
64
+ },
65
+ ...additionalPromptForConnectivity,
66
+ ],
67
+ isError: true,
68
+ },
69
+ };
70
+ }
41
71
  case errors_js_1.ErrorCodes.NotConnectedToMongoDB:
42
72
  return {
43
73
  errorHandled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"connectionErrorHandler.js","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectionErrorHandler.js","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ import type { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
2
+ import type { LoggerBase } from "./logging/index.js";
3
+ import type { AnyConnectionState, ConnectionManager, ConnectionSettings } from "./connectionManager.js";
4
+ /**
5
+ * The reserved, well-known id of the connection seeded from the `connectionString`
6
+ * config option. Deliberately has no random suffix: it is meant to be citable in
7
+ * docs and tool descriptions, there is exactly one per server, and guessing it on
8
+ * a server without a configured connection string fails with an instructive error.
9
+ */
10
+ export declare const PRECONFIGURED_CONNECTION_ID = "preconfigured";
11
+ export type ConnectionSource = "explicit" | "preconfigured";
12
+ export type CreateConnectionEntryOptions = {
13
+ /**
14
+ * Label for the connection — e.g. a host or cluster name. Stored on the
15
+ * entry slugified and disambiguated with a short random suffix, and
16
+ * surfaced in connection listings. Labels are not identifiers: connections
17
+ * are only ever addressed by their opaque connectionId.
18
+ */
19
+ name: string;
20
+ /**
21
+ * Name of the MCP client the connection is established for; embedded in
22
+ * the driver `appName` so connections are attributable in server logs.
23
+ */
24
+ clientName?: string;
25
+ /**
26
+ * Cleanup invoked when the connection is revoked (explicit disconnect,
27
+ * connection-limit overflow, or store shutdown) — e.g. deleting
28
+ * credentials provisioned for the connection. Runs at most once; failures
29
+ * are logged, never thrown.
30
+ */
31
+ onRevoke?: () => Promise<void>;
32
+ };
33
+ export type CreateConnectionOptions = {
34
+ /** The connection string and driver options to dial with. */
35
+ settings: ConnectionSettings;
36
+ /**
37
+ * Optional label for the connection. Stored on the entry slugified and
38
+ * disambiguated with a short random suffix, and surfaced in connection
39
+ * listings. Generated from the Atlas cluster name or the connection
40
+ * string's host when omitted. Labels are not identifiers: connections are
41
+ * only ever addressed by their opaque connectionId.
42
+ */
43
+ name?: string;
44
+ /**
45
+ * Name of the MCP client the connection is established for; embedded in
46
+ * the driver `appName` so connections are attributable in server logs.
47
+ */
48
+ clientName?: string;
49
+ };
50
+ /**
51
+ * A named collection of MongoDB connections addressed by opaque connection
52
+ * ids ("handles"). Consumers establish connections via
53
+ * {@link ConnectionRegistry.connect} (or {@link ConnectionRegistry.createEntry}
54
+ * when they drive the dialing themselves) and refer to them everywhere else by
55
+ * the returned entry's id.
56
+ *
57
+ * A registry is always fully bound to the connections it can see: instances
58
+ * are obtained from {@link MCPConnectionStore.view} (which fixes the
59
+ * visibility scope at creation time) or supplied by an embedder. Consequently
60
+ * no method takes any notion of caller identity, scope, or context.
61
+ *
62
+ * Every method is asynchronous: implementations may hold entries in memory
63
+ * (like the default store) or back them with external storage, doing I/O on
64
+ * each lookup.
65
+ */
66
+ export interface ConnectionRegistry {
67
+ /** Creates an entry without dialing it, for callers that drive the dial themselves (e.g. retrying connect flows). */
68
+ createEntry(opts: CreateConnectionEntryOptions): Promise<ConnectionEntry>;
69
+ /** Creates an entry and dials it. A failed dial leaves no entry behind. */
70
+ connect(opts: CreateConnectionOptions): Promise<ConnectionEntry>;
71
+ /** Looks up an entry and marks it as used. */
72
+ get(connectionId: string): Promise<ConnectionEntry | undefined>;
73
+ /** Looks up an entry without affecting LRU ordering (telemetry, error handling). */
74
+ peek(connectionId: string): Promise<ConnectionEntry | undefined>;
75
+ /** Entries matching a predicate, without affecting LRU ordering. */
76
+ find(predicate?: (entry: ConnectionEntry) => boolean): Promise<ConnectionEntry[]>;
77
+ /** Resolves a handle to a live service provider; throws `UnknownConnectionId` for absent handles. */
78
+ resolve(connectionId: string): Promise<NodeDriverServiceProvider>;
79
+ /**
80
+ * Closes the identified connection. Explicit entries are revoked — the
81
+ * connectionId stops resolving; the preconfigured entry is closed but
82
+ * remains available and re-dials on next use. Throws `UnknownConnectionId`
83
+ * for absent handles, like {@link ConnectionRegistry.resolve}.
84
+ */
85
+ disconnect(connectionId: string): Promise<void>;
86
+ /**
87
+ * Releases the connections this registry object owns. Called when the
88
+ * session holding the registry closes; implementations whose connections
89
+ * outlive a session (shared or durable registries) should make this a
90
+ * no-op.
91
+ */
92
+ close(): Promise<void>;
93
+ }
94
+ type ConnectionEntryOptions = {
95
+ connectionId: string;
96
+ name: string;
97
+ source: ConnectionSource;
98
+ manager: ConnectionManager;
99
+ onRevoke?: () => Promise<void>;
100
+ };
101
+ /**
102
+ * A named connection held by a {@link ConnectionRegistry}. Each entry owns its
103
+ * own {@link ConnectionManager} (dialing, state machine, OIDC handling), so the
104
+ * registry is a collection of independent connection lifecycles keyed by handle.
105
+ */
106
+ export declare class ConnectionEntry {
107
+ /**
108
+ * The opaque handle the connection is addressed by — a UUID with no
109
+ * derivable structure. The one exception is the preconfigured entry, whose
110
+ * id is the well-known literal "preconfigured".
111
+ */
112
+ readonly connectionId: string;
113
+ /**
114
+ * Human/model-readable label: the supplied or generated name, slugified
115
+ * and suffixed for disambiguation (e.g. `my-project-cluster0-4f2a`).
116
+ */
117
+ readonly name: string;
118
+ readonly source: ConnectionSource;
119
+ readonly createdAt: Date;
120
+ lastUsedAt: Date;
121
+ lastError?: string;
122
+ /** Revocation cleanup armed at creation; see {@link CreateConnectionEntryOptions.onRevoke}. */
123
+ private onRevoke?;
124
+ private readonly manager;
125
+ constructor({ connectionId, name, source, manager, onRevoke }: ConnectionEntryOptions);
126
+ get state(): AnyConnectionState;
127
+ /**
128
+ * Invokes the revocation cleanup supplied at creation and disarms it, so
129
+ * the cleanup runs at most once even when triggered both directly and by
130
+ * a later revocation.
131
+ */
132
+ runRevokeCleanup(): Promise<void>;
133
+ connect(settings: ConnectionSettings): Promise<AnyConnectionState>;
134
+ /**
135
+ * Returns the live service provider or throws a `NotConnectedToMongoDB` error
136
+ * describing why the entry is not usable (Atlas dial still in progress, OIDC
137
+ * flow pending, or plain not connected).
138
+ */
139
+ getServiceProvider(): NodeDriverServiceProvider;
140
+ isSearchSupported(logger: LoggerBase): Promise<boolean>;
141
+ assertSearchSupported(logger: LoggerBase): Promise<void>;
142
+ close(): Promise<void>;
143
+ }
144
+ /**
145
+ * Slug source for Atlas cluster handles: `<projectName>-<clusterName>`.
146
+ * Cluster names are only unique within a project, so the project name
147
+ * disambiguates; when the combination exceeds the slug budget, the project
148
+ * half is truncated first so the cluster name always survives.
149
+ */
150
+ export declare function atlasClusterSlug(projectName: string | undefined, clusterName: string): string;
151
+ export declare function buildEntryName(rawName: string): string;
152
+ export {};
153
+ //# sourceMappingURL=connectionRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionRegistry.d.ts","sourceRoot":"","sources":["../../../src/common/connectionRegistry.ts"],"names":[],"mappings":"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"}