@himanshusinghs/mongodb-mcp-server 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +609 -0
  3. package/dist/cjs/common/atlas/accessListUtils.d.ts +15 -0
  4. package/dist/cjs/common/atlas/accessListUtils.d.ts.map +1 -0
  5. package/dist/cjs/common/atlas/accessListUtils.js +53 -0
  6. package/dist/cjs/common/atlas/accessListUtils.js.map +1 -0
  7. package/dist/cjs/common/atlas/apiClient.d.ts +235 -0
  8. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -0
  9. package/dist/cjs/common/atlas/apiClient.js +439 -0
  10. package/dist/cjs/common/atlas/apiClient.js.map +1 -0
  11. package/dist/cjs/common/atlas/apiClientError.d.ts +11 -0
  12. package/dist/cjs/common/atlas/apiClientError.d.ts.map +1 -0
  13. package/dist/cjs/common/atlas/apiClientError.js +54 -0
  14. package/dist/cjs/common/atlas/apiClientError.js.map +1 -0
  15. package/dist/cjs/common/atlas/cluster.d.ts +14 -0
  16. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -0
  17. package/dist/cjs/common/atlas/cluster.js +75 -0
  18. package/dist/cjs/common/atlas/cluster.js.map +1 -0
  19. package/dist/cjs/common/atlas/roles.d.ts +8 -0
  20. package/dist/cjs/common/atlas/roles.d.ts.map +1 -0
  21. package/dist/cjs/common/atlas/roles.js +28 -0
  22. package/dist/cjs/common/atlas/roles.js.map +1 -0
  23. package/dist/cjs/common/config.d.ts +40 -0
  24. package/dist/cjs/common/config.d.ts.map +1 -0
  25. package/dist/cjs/common/config.js +300 -0
  26. package/dist/cjs/common/config.js.map +1 -0
  27. package/dist/cjs/common/connectionManager.d.ts +100 -0
  28. package/dist/cjs/common/connectionManager.d.ts.map +1 -0
  29. package/dist/cjs/common/connectionManager.js +243 -0
  30. package/dist/cjs/common/connectionManager.js.map +1 -0
  31. package/dist/cjs/common/errors.d.ts +10 -0
  32. package/dist/cjs/common/errors.d.ts.map +1 -0
  33. package/dist/cjs/common/errors.js +17 -0
  34. package/dist/cjs/common/errors.js.map +1 -0
  35. package/dist/cjs/common/exportsManager.d.ts +86 -0
  36. package/dist/cjs/common/exportsManager.d.ts.map +1 -0
  37. package/dist/cjs/common/exportsManager.js +288 -0
  38. package/dist/cjs/common/exportsManager.js.map +1 -0
  39. package/dist/cjs/common/logger.d.ts +118 -0
  40. package/dist/cjs/common/logger.d.ts.map +1 -0
  41. package/dist/cjs/common/logger.js +267 -0
  42. package/dist/cjs/common/logger.js.map +1 -0
  43. package/dist/cjs/common/managedTimeout.d.ts +6 -0
  44. package/dist/cjs/common/managedTimeout.d.ts.map +1 -0
  45. package/dist/cjs/common/managedTimeout.js +23 -0
  46. package/dist/cjs/common/managedTimeout.js.map +1 -0
  47. package/dist/cjs/common/packageInfo.d.ts +5 -0
  48. package/dist/cjs/common/packageInfo.d.ts.map +1 -0
  49. package/dist/cjs/common/packageInfo.js +9 -0
  50. package/dist/cjs/common/packageInfo.js.map +1 -0
  51. package/dist/cjs/common/session.d.ts +42 -0
  52. package/dist/cjs/common/session.d.ts.map +1 -0
  53. package/dist/cjs/common/session.js +106 -0
  54. package/dist/cjs/common/session.js.map +1 -0
  55. package/dist/cjs/common/sessionStore.d.ts +16 -0
  56. package/dist/cjs/common/sessionStore.d.ts.map +1 -0
  57. package/dist/cjs/common/sessionStore.js +99 -0
  58. package/dist/cjs/common/sessionStore.js.map +1 -0
  59. package/dist/cjs/helpers/connectionOptions.d.ts +25 -0
  60. package/dist/cjs/helpers/connectionOptions.d.ts.map +1 -0
  61. package/dist/cjs/helpers/connectionOptions.js +46 -0
  62. package/dist/cjs/helpers/connectionOptions.js.map +1 -0
  63. package/dist/cjs/helpers/container.d.ts +2 -0
  64. package/dist/cjs/helpers/container.d.ts.map +1 -0
  65. package/dist/cjs/helpers/container.js +34 -0
  66. package/dist/cjs/helpers/container.js.map +1 -0
  67. package/dist/cjs/helpers/deviceId.d.ts +24 -0
  68. package/dist/cjs/helpers/deviceId.d.ts.map +1 -0
  69. package/dist/cjs/helpers/deviceId.js +106 -0
  70. package/dist/cjs/helpers/deviceId.js.map +1 -0
  71. package/dist/cjs/helpers/generatePassword.d.ts +2 -0
  72. package/dist/cjs/helpers/generatePassword.d.ts.map +1 -0
  73. package/dist/cjs/helpers/generatePassword.js +12 -0
  74. package/dist/cjs/helpers/generatePassword.js.map +1 -0
  75. package/dist/cjs/helpers/indexCheck.d.ts +17 -0
  76. package/dist/cjs/helpers/indexCheck.d.ts.map +1 -0
  77. package/dist/cjs/helpers/indexCheck.js +68 -0
  78. package/dist/cjs/helpers/indexCheck.js.map +1 -0
  79. package/dist/cjs/index.d.ts +3 -0
  80. package/dist/cjs/index.d.ts.map +1 -0
  81. package/dist/cjs/index.js +131 -0
  82. package/dist/cjs/index.js.map +1 -0
  83. package/dist/cjs/lib.d.ts +9 -0
  84. package/dist/cjs/lib.d.ts.map +1 -0
  85. package/dist/cjs/lib.js +20 -0
  86. package/dist/cjs/lib.js.map +1 -0
  87. package/dist/cjs/package.json +1 -0
  88. package/dist/cjs/resources/common/config.d.ts +10 -0
  89. package/dist/cjs/resources/common/config.d.ts.map +1 -0
  90. package/dist/cjs/resources/common/config.js +46 -0
  91. package/dist/cjs/resources/common/config.js.map +1 -0
  92. package/dist/cjs/resources/common/debug.d.ts +17 -0
  93. package/dist/cjs/resources/common/debug.d.ts.map +1 -0
  94. package/dist/cjs/resources/common/debug.js +67 -0
  95. package/dist/cjs/resources/common/debug.js.map +1 -0
  96. package/dist/cjs/resources/common/exportedData.d.ts +15 -0
  97. package/dist/cjs/resources/common/exportedData.d.ts.map +1 -0
  98. package/dist/cjs/resources/common/exportedData.js +103 -0
  99. package/dist/cjs/resources/common/exportedData.js.map +1 -0
  100. package/dist/cjs/resources/resource.d.ts +44 -0
  101. package/dist/cjs/resources/resource.d.ts.map +1 -0
  102. package/dist/cjs/resources/resource.js +56 -0
  103. package/dist/cjs/resources/resource.js.map +1 -0
  104. package/dist/cjs/resources/resources.d.ts +5 -0
  105. package/dist/cjs/resources/resources.d.ts.map +1 -0
  106. package/dist/cjs/resources/resources.js +8 -0
  107. package/dist/cjs/resources/resources.js.map +1 -0
  108. package/dist/cjs/server.d.ts +40 -0
  109. package/dist/cjs/server.d.ts.map +1 -0
  110. package/dist/cjs/server.js +195 -0
  111. package/dist/cjs/server.js.map +1 -0
  112. package/dist/cjs/telemetry/constants.d.ts +6 -0
  113. package/dist/cjs/telemetry/constants.d.ts.map +1 -0
  114. package/dist/cjs/telemetry/constants.js +16 -0
  115. package/dist/cjs/telemetry/constants.js.map +1 -0
  116. package/dist/cjs/telemetry/eventCache.d.ts +34 -0
  117. package/dist/cjs/telemetry/eventCache.d.ts.map +1 -0
  118. package/dist/cjs/telemetry/eventCache.js +57 -0
  119. package/dist/cjs/telemetry/eventCache.js.map +1 -0
  120. package/dist/cjs/telemetry/telemetry.d.ts +50 -0
  121. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -0
  122. package/dist/cjs/telemetry/telemetry.js +145 -0
  123. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  124. package/dist/cjs/telemetry/types.d.ts +70 -0
  125. package/dist/cjs/telemetry/types.d.ts.map +1 -0
  126. package/dist/cjs/telemetry/types.js +3 -0
  127. package/dist/cjs/telemetry/types.js.map +1 -0
  128. package/dist/cjs/tools/atlas/atlasTool.d.ts +18 -0
  129. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -0
  130. package/dist/cjs/tools/atlas/atlasTool.js +92 -0
  131. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -0
  132. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +18 -0
  133. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  134. package/dist/cjs/tools/atlas/connect/connectCluster.js +215 -0
  135. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -0
  136. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +18 -0
  137. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -0
  138. package/dist/cjs/tools/atlas/create/createAccessList.js +66 -0
  139. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -0
  140. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +30 -0
  141. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -0
  142. package/dist/cjs/tools/atlas/create/createDBUser.js +80 -0
  143. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -0
  144. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +16 -0
  145. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  146. package/dist/cjs/tools/atlas/create/createFreeCluster.js +59 -0
  147. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -0
  148. package/dist/cjs/tools/atlas/create/createProject.d.ts +15 -0
  149. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -0
  150. package/dist/cjs/tools/atlas/create/createProject.js +60 -0
  151. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -0
  152. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +14 -0
  153. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  154. package/dist/cjs/tools/atlas/read/inspectAccessList.js +43 -0
  155. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -0
  156. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +16 -0
  157. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  158. package/dist/cjs/tools/atlas/read/inspectCluster.js +32 -0
  159. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -0
  160. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +14 -0
  161. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -0
  162. package/dist/cjs/tools/atlas/read/listAlerts.js +46 -0
  163. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -0
  164. package/dist/cjs/tools/atlas/read/listClusters.d.ts +16 -0
  165. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -0
  166. package/dist/cjs/tools/atlas/read/listClusters.js +96 -0
  167. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -0
  168. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +14 -0
  169. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  170. package/dist/cjs/tools/atlas/read/listDBUsers.js +58 -0
  171. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -0
  172. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +11 -0
  173. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -0
  174. package/dist/cjs/tools/atlas/read/listOrgs.js +36 -0
  175. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -0
  176. package/dist/cjs/tools/atlas/read/listProjects.d.ts +15 -0
  177. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -0
  178. package/dist/cjs/tools/atlas/read/listProjects.js +59 -0
  179. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -0
  180. package/dist/cjs/tools/atlas/tools.d.ts +14 -0
  181. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -0
  182. package/dist/cjs/tools/atlas/tools.js +30 -0
  183. package/dist/cjs/tools/atlas/tools.js.map +1 -0
  184. package/dist/cjs/tools/mongodb/connect/connect.d.ts +26 -0
  185. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -0
  186. package/dist/cjs/tools/mongodb/connect/connect.js +86 -0
  187. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -0
  188. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +14 -0
  189. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -0
  190. package/dist/cjs/tools/mongodb/create/createCollection.js +27 -0
  191. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -0
  192. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +18 -0
  193. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -0
  194. package/dist/cjs/tools/mongodb/create/createIndex.js +37 -0
  195. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -0
  196. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +16 -0
  197. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -0
  198. package/dist/cjs/tools/mongodb/create/insertMany.js +37 -0
  199. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -0
  200. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +16 -0
  201. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  202. package/dist/cjs/tools/mongodb/delete/deleteMany.js +53 -0
  203. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -0
  204. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +14 -0
  205. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  206. package/dist/cjs/tools/mongodb/delete/dropCollection.js +29 -0
  207. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -0
  208. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  209. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  210. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +29 -0
  211. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -0
  212. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  213. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  214. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +36 -0
  215. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  216. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  217. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  218. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +61 -0
  219. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  220. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +13 -0
  221. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  222. package/dist/cjs/tools/mongodb/metadata/dbStats.js +29 -0
  223. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -0
  224. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +89 -0
  225. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -0
  226. package/dist/cjs/tools/mongodb/metadata/explain.js +80 -0
  227. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -0
  228. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +13 -0
  229. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  230. package/dist/cjs/tools/mongodb/metadata/listCollections.js +35 -0
  231. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -0
  232. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  233. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  234. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +25 -0
  235. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -0
  236. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +15 -0
  237. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -0
  238. package/dist/cjs/tools/mongodb/metadata/logs.js +49 -0
  239. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -0
  240. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +20 -0
  241. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -0
  242. package/dist/cjs/tools/mongodb/mongodbTool.js +130 -0
  243. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -0
  244. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +19 -0
  245. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -0
  246. package/dist/cjs/tools/mongodb/read/aggregate.js +40 -0
  247. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -0
  248. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  249. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  250. package/dist/cjs/tools/mongodb/read/collectionIndexes.js +40 -0
  251. package/dist/cjs/tools/mongodb/read/collectionIndexes.js.map +1 -0
  252. package/dist/cjs/tools/mongodb/read/count.d.ts +19 -0
  253. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -0
  254. package/dist/cjs/tools/mongodb/read/count.js +51 -0
  255. package/dist/cjs/tools/mongodb/read/count.js.map +1 -0
  256. package/dist/cjs/tools/mongodb/read/export.d.ts +72 -0
  257. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -0
  258. package/dist/cjs/tools/mongodb/read/export.js +119 -0
  259. package/dist/cjs/tools/mongodb/read/export.js.map +1 -0
  260. package/dist/cjs/tools/mongodb/read/find.d.ts +26 -0
  261. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -0
  262. package/dist/cjs/tools/mongodb/read/find.js +53 -0
  263. package/dist/cjs/tools/mongodb/read/find.js.map +1 -0
  264. package/dist/cjs/tools/mongodb/tools.d.ts +23 -0
  265. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -0
  266. package/dist/cjs/tools/mongodb/tools.js +48 -0
  267. package/dist/cjs/tools/mongodb/tools.js.map +1 -0
  268. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +18 -0
  269. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  270. package/dist/cjs/tools/mongodb/update/renameCollection.js +59 -0
  271. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -0
  272. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +18 -0
  273. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -0
  274. package/dist/cjs/tools/mongodb/update/updateMany.js +78 -0
  275. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -0
  276. package/dist/cjs/tools/tool.d.ts +49 -0
  277. package/dist/cjs/tools/tool.d.ts.map +1 -0
  278. package/dist/cjs/tools/tool.js +201 -0
  279. package/dist/cjs/tools/tool.js.map +1 -0
  280. package/dist/cjs/transports/base.d.ts +17 -0
  281. package/dist/cjs/transports/base.d.ts.map +1 -0
  282. package/dist/cjs/transports/base.js +74 -0
  283. package/dist/cjs/transports/base.js.map +1 -0
  284. package/dist/cjs/transports/stdio.d.ts +20 -0
  285. package/dist/cjs/transports/stdio.d.ts.map +1 -0
  286. package/dist/cjs/transports/stdio.js +70 -0
  287. package/dist/cjs/transports/stdio.js.map +1 -0
  288. package/dist/cjs/transports/streamableHttp.d.ts +14 -0
  289. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -0
  290. package/dist/cjs/transports/streamableHttp.js +221 -0
  291. package/dist/cjs/transports/streamableHttp.js.map +1 -0
  292. package/dist/esm/common/atlas/accessListUtils.d.ts +15 -0
  293. package/dist/esm/common/atlas/accessListUtils.d.ts.map +1 -0
  294. package/dist/esm/common/atlas/accessListUtils.js +48 -0
  295. package/dist/esm/common/atlas/accessListUtils.js.map +1 -0
  296. package/dist/esm/common/atlas/apiClient.d.ts +235 -0
  297. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -0
  298. package/dist/esm/common/atlas/apiClient.js +399 -0
  299. package/dist/esm/common/atlas/apiClient.js.map +1 -0
  300. package/dist/esm/common/atlas/apiClientError.d.ts +11 -0
  301. package/dist/esm/common/atlas/apiClientError.d.ts.map +1 -0
  302. package/dist/esm/common/atlas/apiClientError.js +50 -0
  303. package/dist/esm/common/atlas/apiClientError.js.map +1 -0
  304. package/dist/esm/common/atlas/cluster.d.ts +14 -0
  305. package/dist/esm/common/atlas/cluster.d.ts.map +1 -0
  306. package/dist/esm/common/atlas/cluster.js +70 -0
  307. package/dist/esm/common/atlas/cluster.js.map +1 -0
  308. package/dist/esm/common/atlas/roles.d.ts +8 -0
  309. package/dist/esm/common/atlas/roles.d.ts.map +1 -0
  310. package/dist/esm/common/atlas/roles.js +25 -0
  311. package/dist/esm/common/atlas/roles.js.map +1 -0
  312. package/dist/esm/common/config.d.ts +40 -0
  313. package/dist/esm/common/config.d.ts.map +1 -0
  314. package/dist/esm/common/config.js +291 -0
  315. package/dist/esm/common/config.js.map +1 -0
  316. package/dist/esm/common/connectionManager.d.ts +100 -0
  317. package/dist/esm/common/connectionManager.d.ts.map +1 -0
  318. package/dist/esm/common/connectionManager.js +234 -0
  319. package/dist/esm/common/connectionManager.js.map +1 -0
  320. package/dist/esm/common/errors.d.ts +10 -0
  321. package/dist/esm/common/errors.d.ts.map +1 -0
  322. package/dist/esm/common/errors.js +13 -0
  323. package/dist/esm/common/errors.js.map +1 -0
  324. package/dist/esm/common/exportsManager.d.ts +86 -0
  325. package/dist/esm/common/exportsManager.d.ts.map +1 -0
  326. package/dist/esm/common/exportsManager.js +278 -0
  327. package/dist/esm/common/exportsManager.js.map +1 -0
  328. package/dist/esm/common/logger.d.ts +118 -0
  329. package/dist/esm/common/logger.d.ts.map +1 -0
  330. package/dist/esm/common/logger.js +255 -0
  331. package/dist/esm/common/logger.js.map +1 -0
  332. package/dist/esm/common/managedTimeout.d.ts +6 -0
  333. package/dist/esm/common/managedTimeout.d.ts.map +1 -0
  334. package/dist/esm/common/managedTimeout.js +20 -0
  335. package/dist/esm/common/managedTimeout.js.map +1 -0
  336. package/dist/esm/common/packageInfo.d.ts +5 -0
  337. package/dist/esm/common/packageInfo.d.ts.map +1 -0
  338. package/dist/esm/common/packageInfo.js +6 -0
  339. package/dist/esm/common/packageInfo.js.map +1 -0
  340. package/dist/esm/common/session.d.ts +42 -0
  341. package/dist/esm/common/session.d.ts.map +1 -0
  342. package/dist/esm/common/session.js +99 -0
  343. package/dist/esm/common/session.js.map +1 -0
  344. package/dist/esm/common/sessionStore.d.ts +16 -0
  345. package/dist/esm/common/sessionStore.d.ts.map +1 -0
  346. package/dist/esm/common/sessionStore.js +95 -0
  347. package/dist/esm/common/sessionStore.js.map +1 -0
  348. package/dist/esm/helpers/connectionOptions.d.ts +25 -0
  349. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -0
  350. package/dist/esm/helpers/connectionOptions.js +39 -0
  351. package/dist/esm/helpers/connectionOptions.js.map +1 -0
  352. package/dist/esm/helpers/container.d.ts +2 -0
  353. package/dist/esm/helpers/container.d.ts.map +1 -0
  354. package/dist/esm/helpers/container.js +28 -0
  355. package/dist/esm/helpers/container.js.map +1 -0
  356. package/dist/esm/helpers/deviceId.d.ts +24 -0
  357. package/dist/esm/helpers/deviceId.d.ts.map +1 -0
  358. package/dist/esm/helpers/deviceId.js +69 -0
  359. package/dist/esm/helpers/deviceId.js.map +1 -0
  360. package/dist/esm/helpers/generatePassword.d.ts +2 -0
  361. package/dist/esm/helpers/generatePassword.d.ts.map +1 -0
  362. package/dist/esm/helpers/generatePassword.js +9 -0
  363. package/dist/esm/helpers/generatePassword.js.map +1 -0
  364. package/dist/esm/helpers/indexCheck.d.ts +17 -0
  365. package/dist/esm/helpers/indexCheck.d.ts.map +1 -0
  366. package/dist/esm/helpers/indexCheck.js +63 -0
  367. package/dist/esm/helpers/indexCheck.js.map +1 -0
  368. package/dist/esm/index.d.ts +3 -0
  369. package/dist/esm/index.d.ts.map +1 -0
  370. package/dist/esm/index.js +126 -0
  371. package/dist/esm/index.js.map +1 -0
  372. package/dist/esm/lib.d.ts +9 -0
  373. package/dist/esm/lib.d.ts.map +1 -0
  374. package/dist/esm/lib.js +9 -0
  375. package/dist/esm/lib.js.map +1 -0
  376. package/dist/esm/package.json +1 -0
  377. package/dist/esm/resources/common/config.d.ts +10 -0
  378. package/dist/esm/resources/common/config.d.ts.map +1 -0
  379. package/dist/esm/resources/common/config.js +42 -0
  380. package/dist/esm/resources/common/config.js.map +1 -0
  381. package/dist/esm/resources/common/debug.d.ts +17 -0
  382. package/dist/esm/resources/common/debug.d.ts.map +1 -0
  383. package/dist/esm/resources/common/debug.js +63 -0
  384. package/dist/esm/resources/common/debug.js.map +1 -0
  385. package/dist/esm/resources/common/exportedData.d.ts +15 -0
  386. package/dist/esm/resources/common/exportedData.d.ts.map +1 -0
  387. package/dist/esm/resources/common/exportedData.js +99 -0
  388. package/dist/esm/resources/common/exportedData.js.map +1 -0
  389. package/dist/esm/resources/resource.d.ts +44 -0
  390. package/dist/esm/resources/resource.d.ts.map +1 -0
  391. package/dist/esm/resources/resource.js +52 -0
  392. package/dist/esm/resources/resource.js.map +1 -0
  393. package/dist/esm/resources/resources.d.ts +5 -0
  394. package/dist/esm/resources/resources.d.ts.map +1 -0
  395. package/dist/esm/resources/resources.js +5 -0
  396. package/dist/esm/resources/resources.js.map +1 -0
  397. package/dist/esm/server.d.ts +40 -0
  398. package/dist/esm/server.d.ts.map +1 -0
  399. package/dist/esm/server.js +188 -0
  400. package/dist/esm/server.js.map +1 -0
  401. package/dist/esm/telemetry/constants.d.ts +6 -0
  402. package/dist/esm/telemetry/constants.d.ts.map +1 -0
  403. package/dist/esm/telemetry/constants.js +13 -0
  404. package/dist/esm/telemetry/constants.js.map +1 -0
  405. package/dist/esm/telemetry/eventCache.d.ts +34 -0
  406. package/dist/esm/telemetry/eventCache.d.ts.map +1 -0
  407. package/dist/esm/telemetry/eventCache.js +53 -0
  408. package/dist/esm/telemetry/eventCache.js.map +1 -0
  409. package/dist/esm/telemetry/telemetry.d.ts +50 -0
  410. package/dist/esm/telemetry/telemetry.d.ts.map +1 -0
  411. package/dist/esm/telemetry/telemetry.js +141 -0
  412. package/dist/esm/telemetry/telemetry.js.map +1 -0
  413. package/dist/esm/telemetry/types.d.ts +70 -0
  414. package/dist/esm/telemetry/types.d.ts.map +1 -0
  415. package/dist/esm/telemetry/types.js +2 -0
  416. package/dist/esm/telemetry/types.js.map +1 -0
  417. package/dist/esm/tools/atlas/atlasTool.d.ts +18 -0
  418. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -0
  419. package/dist/esm/tools/atlas/atlasTool.js +88 -0
  420. package/dist/esm/tools/atlas/atlasTool.js.map +1 -0
  421. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +18 -0
  422. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  423. package/dist/esm/tools/atlas/connect/connectCluster.js +211 -0
  424. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -0
  425. package/dist/esm/tools/atlas/create/createAccessList.d.ts +18 -0
  426. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -0
  427. package/dist/esm/tools/atlas/create/createAccessList.js +62 -0
  428. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -0
  429. package/dist/esm/tools/atlas/create/createDBUser.d.ts +30 -0
  430. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -0
  431. package/dist/esm/tools/atlas/create/createDBUser.js +76 -0
  432. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -0
  433. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +16 -0
  434. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  435. package/dist/esm/tools/atlas/create/createFreeCluster.js +55 -0
  436. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -0
  437. package/dist/esm/tools/atlas/create/createProject.d.ts +15 -0
  438. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -0
  439. package/dist/esm/tools/atlas/create/createProject.js +56 -0
  440. package/dist/esm/tools/atlas/create/createProject.js.map +1 -0
  441. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +14 -0
  442. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  443. package/dist/esm/tools/atlas/read/inspectAccessList.js +39 -0
  444. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -0
  445. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +16 -0
  446. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  447. package/dist/esm/tools/atlas/read/inspectCluster.js +28 -0
  448. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -0
  449. package/dist/esm/tools/atlas/read/listAlerts.d.ts +14 -0
  450. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -0
  451. package/dist/esm/tools/atlas/read/listAlerts.js +42 -0
  452. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -0
  453. package/dist/esm/tools/atlas/read/listClusters.d.ts +16 -0
  454. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -0
  455. package/dist/esm/tools/atlas/read/listClusters.js +92 -0
  456. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -0
  457. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +14 -0
  458. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  459. package/dist/esm/tools/atlas/read/listDBUsers.js +54 -0
  460. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -0
  461. package/dist/esm/tools/atlas/read/listOrgs.d.ts +11 -0
  462. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -0
  463. package/dist/esm/tools/atlas/read/listOrgs.js +32 -0
  464. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -0
  465. package/dist/esm/tools/atlas/read/listProjects.d.ts +15 -0
  466. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -0
  467. package/dist/esm/tools/atlas/read/listProjects.js +55 -0
  468. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -0
  469. package/dist/esm/tools/atlas/tools.d.ts +14 -0
  470. package/dist/esm/tools/atlas/tools.d.ts.map +1 -0
  471. package/dist/esm/tools/atlas/tools.js +27 -0
  472. package/dist/esm/tools/atlas/tools.js.map +1 -0
  473. package/dist/esm/tools/mongodb/connect/connect.d.ts +26 -0
  474. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -0
  475. package/dist/esm/tools/mongodb/connect/connect.js +79 -0
  476. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -0
  477. package/dist/esm/tools/mongodb/create/createCollection.d.ts +14 -0
  478. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -0
  479. package/dist/esm/tools/mongodb/create/createCollection.js +23 -0
  480. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -0
  481. package/dist/esm/tools/mongodb/create/createIndex.d.ts +18 -0
  482. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -0
  483. package/dist/esm/tools/mongodb/create/createIndex.js +33 -0
  484. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -0
  485. package/dist/esm/tools/mongodb/create/insertMany.d.ts +16 -0
  486. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -0
  487. package/dist/esm/tools/mongodb/create/insertMany.js +33 -0
  488. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -0
  489. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +16 -0
  490. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  491. package/dist/esm/tools/mongodb/delete/deleteMany.js +49 -0
  492. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -0
  493. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +14 -0
  494. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  495. package/dist/esm/tools/mongodb/delete/dropCollection.js +25 -0
  496. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -0
  497. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  498. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  499. package/dist/esm/tools/mongodb/delete/dropDatabase.js +25 -0
  500. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -0
  501. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  502. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  503. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +32 -0
  504. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  505. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  506. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  507. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +57 -0
  508. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  509. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -0
  510. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  511. package/dist/esm/tools/mongodb/metadata/dbStats.js +25 -0
  512. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -0
  513. package/dist/esm/tools/mongodb/metadata/explain.d.ts +89 -0
  514. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -0
  515. package/dist/esm/tools/mongodb/metadata/explain.js +76 -0
  516. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -0
  517. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +13 -0
  518. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  519. package/dist/esm/tools/mongodb/metadata/listCollections.js +31 -0
  520. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -0
  521. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  522. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  523. package/dist/esm/tools/mongodb/metadata/listDatabases.js +21 -0
  524. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -0
  525. package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -0
  526. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -0
  527. package/dist/esm/tools/mongodb/metadata/logs.js +45 -0
  528. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -0
  529. package/dist/esm/tools/mongodb/mongodbTool.d.ts +20 -0
  530. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -0
  531. package/dist/esm/tools/mongodb/mongodbTool.js +126 -0
  532. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -0
  533. package/dist/esm/tools/mongodb/read/aggregate.d.ts +19 -0
  534. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -0
  535. package/dist/esm/tools/mongodb/read/aggregate.js +36 -0
  536. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -0
  537. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  538. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  539. package/dist/esm/tools/mongodb/read/collectionIndexes.js +36 -0
  540. package/dist/esm/tools/mongodb/read/collectionIndexes.js.map +1 -0
  541. package/dist/esm/tools/mongodb/read/count.d.ts +19 -0
  542. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -0
  543. package/dist/esm/tools/mongodb/read/count.js +47 -0
  544. package/dist/esm/tools/mongodb/read/count.js.map +1 -0
  545. package/dist/esm/tools/mongodb/read/export.d.ts +72 -0
  546. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -0
  547. package/dist/esm/tools/mongodb/read/export.js +112 -0
  548. package/dist/esm/tools/mongodb/read/export.js.map +1 -0
  549. package/dist/esm/tools/mongodb/read/find.d.ts +26 -0
  550. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -0
  551. package/dist/esm/tools/mongodb/read/find.js +49 -0
  552. package/dist/esm/tools/mongodb/read/find.js.map +1 -0
  553. package/dist/esm/tools/mongodb/tools.d.ts +23 -0
  554. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -0
  555. package/dist/esm/tools/mongodb/tools.js +45 -0
  556. package/dist/esm/tools/mongodb/tools.js.map +1 -0
  557. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -0
  558. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  559. package/dist/esm/tools/mongodb/update/renameCollection.js +55 -0
  560. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -0
  561. package/dist/esm/tools/mongodb/update/updateMany.d.ts +18 -0
  562. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -0
  563. package/dist/esm/tools/mongodb/update/updateMany.js +74 -0
  564. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -0
  565. package/dist/esm/tools/tool.d.ts +49 -0
  566. package/dist/esm/tools/tool.d.ts.map +1 -0
  567. package/dist/esm/tools/tool.js +196 -0
  568. package/dist/esm/tools/tool.js.map +1 -0
  569. package/dist/esm/transports/base.d.ts +17 -0
  570. package/dist/esm/transports/base.d.ts.map +1 -0
  571. package/dist/esm/transports/base.js +70 -0
  572. package/dist/esm/transports/base.js.map +1 -0
  573. package/dist/esm/transports/stdio.d.ts +20 -0
  574. package/dist/esm/transports/stdio.d.ts.map +1 -0
  575. package/dist/esm/transports/stdio.js +64 -0
  576. package/dist/esm/transports/stdio.js.map +1 -0
  577. package/dist/esm/transports/streamableHttp.d.ts +14 -0
  578. package/dist/esm/transports/streamableHttp.d.ts.map +1 -0
  579. package/dist/esm/transports/streamableHttp.js +214 -0
  580. package/dist/esm/transports/streamableHttp.js.map +1 -0
  581. package/dist/index.js +1 -0
  582. package/package.json +126 -0
package/README.md ADDED
@@ -0,0 +1,609 @@
1
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?logo=data:image/svg%2bxml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNDggNDgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPjxwYXRoIGQ9Ik00NC45OTkgMTAuODd2MjYuMjFjMCAxLjAzLS41OSAxLjk3LTEuNTEgMi40Mi0yLjY4IDEuMjktOCAzLjg1LTguMzUgNC4wMS0uMTMuMDctLjM4LjItLjY3LjMxLjM1LS42LjUzLTEuMy41My0yLjAyVjYuMmMwLS43NS0uMi0xLjQ1LS41Ni0yLjA2LjA5LjA0LjE3LjA4LjI0LjExLjIuMSA1Ljk4IDIuODYgOC44IDQuMkM0NC40MDkgOC45IDQ0Ljk5OSA5Ljg0IDQ0Ljk5OSAxMC44N3pNNy40OTkgMjYuMDNjMS42IDEuNDYgMy40MyAzLjEzIDUuMzQgNC44NmwtNC42IDMuNWMtLjc3LjU3LTEuNzguNS0yLjU2LS4wNS0uNS0uMzYtMS44OS0xLjY1LTEuODktMS42NS0xLjAxLS44MS0xLjA2LTIuMzItLjExLTMuMTlDMy42NzkgMjkuNSA1LjE3OSAyOC4xMyA3LjQ5OSAyNi4wM3pNMzEuOTk5IDYuMnYxMC4xMWwtNy42MyA1LjgtNi44NS01LjIxYzQuOTgtNC41MyAxMC4wMS05LjExIDEyLjY1LTExLjUyQzMwLjg2OSA0Ljc0IDMxLjk5OSA1LjI1IDMxLjk5OSA2LjJ6TTMyIDQxLjc5OFYzMS42OUw4LjI0IDEzLjYxYy0uNzctLjU3LTEuNzgtLjUtMi41Ni4wNS0uNS4zNi0xLjg5IDEuNjUtMS44OSAxLjY1LTEuMDEuODEtMS4wNiAyLjMyLS4xMSAzLjE5IDAgMCAyMC4xNDUgMTguMzM4IDI2LjQ4NSAyNC4xMTZDMzAuODcxIDQzLjI2IDMyIDQyLjc1MyAzMiA0MS43OTh6Ii8+PC9zdmc+)](https://insiders.vscode.dev/redirect/mcp/install?name=mongodb&inputs=%5B%7B%22id%22%3A%22connection_string%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22MongoDB%20connection%20string%22%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22mongodb-mcp-server%22%2C%22--readOnly%22%5D%2C%22env%22%3A%7B%22MDB_MCP_CONNECTION_STRING%22%3A%22%24%7Binput%3Aconnection_string%7D%22%7D%7D)
2
+ [![Install in Cursor](https://img.shields.io/badge/Cursor-Install_Server-1e1e1e?logo=data:image/svg%2bxml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgc3R5bGU9ImZsZXg6bm9uZTtsaW5lLWhlaWdodDoxIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxZW0iCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPHRpdGxlPkN1cnNvcjwvdGl0bGU+CiAgICA8cGF0aCBkPSJNMTEuOTI1IDI0bDEwLjQyNS02LTEwLjQyNS02TDEuNSAxOGwxMC40MjUgNnoiCiAgICAgICAgZmlsbD0idXJsKCNsb2JlLWljb25zLWN1cnNvcnVuZGVmaW5lZC1maWxsLTApIj48L3BhdGg+CiAgICA8cGF0aCBkPSJNMjIuMzUgMThWNkwxMS45MjUgMHYxMmwxMC40MjUgNnoiIGZpbGw9InVybCgjbG9iZS1pY29ucy1jdXJzb3J1bmRlZmluZWQtZmlsbC0xKSI+PC9wYXRoPgogICAgPHBhdGggZD0iTTExLjkyNSAwTDEuNSA2djEybDEwLjQyNS02VjB6IiBmaWxsPSJ1cmwoI2xvYmUtaWNvbnMtY3Vyc29ydW5kZWZpbmVkLWZpbGwtMikiPjwvcGF0aD4KICAgIDxwYXRoIGQ9Ik0yMi4zNSA2TDExLjkyNSAyNFYxMkwyMi4zNSA2eiIgZmlsbD0iIzU1NSI+PC9wYXRoPgogICAgPHBhdGggZD0iTTIyLjM1IDZsLTEwLjQyNSA2TDEuNSA2aDIwLjg1eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0ibG9iZS1pY29ucy1jdXJzb3J1bmRlZmluZWQtZmlsbC0wIgogICAgICAgICAgICB4MT0iMTEuOTI1IiB4Mj0iMTEuOTI1IiB5MT0iMTIiIHkyPSIyNCI+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iLjE2IiBzdG9wLWNvbG9yPSIjZmZmIiBzdG9wLW9wYWNpdHk9Ii4zOSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9Ii42NTgiIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0eT0iLjgiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImxvYmUtaWNvbnMtY3Vyc29ydW5kZWZpbmVkLWZpbGwtMSIKICAgICAgICAgICAgeDE9IjIyLjM1IiB4Mj0iMTEuOTI1IiB5MT0iNi4wMzciIHkyPSIxMi4xNSI+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iLjE4MiIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIuMzEiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIuNzE1IiBzdG9wLWNvbG9yPSIjZmZmIiBzdG9wLW9wYWNpdHk9IjAiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImxvYmUtaWNvbnMtY3Vyc29ydW5kZWZpbmVkLWZpbGwtMiIKICAgICAgICAgICAgeDE9IjExLjkyNSIgeDI9IjEuNSIgeTE9IjAiIHkyPSIxOCI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0eT0iLjYiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIuNjY3IiBzdG9wLWNvbG9yPSIjZmZmIiBzdG9wLW9wYWNpdHk9Ii4yMiI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+Cjwvc3ZnPgo=)](https://cursor.com/install-mcp?name=MongoDB&config=eyJjb21tYW5kIjoibnB4IC15IG1vbmdvZGItbWNwLXNlcnZlciAtLXJlYWRPbmx5In0%3D)
3
+ [![View on Smithery](https://smithery.ai/badge/@mongodb-js/mongodb-mcp-server)](https://smithery.ai/server/@mongodb-js/mongodb-mcp-server)
4
+
5
+ # MongoDB MCP Server
6
+
7
+ A Model Context Protocol server for interacting with MongoDB Databases and MongoDB Atlas.
8
+
9
+ ## 📚 Table of Contents
10
+
11
+ - [🚀 Getting Started](#getting-started)
12
+ - [Prerequisites](#prerequisites)
13
+ - [Setup](#setup)
14
+ - [Quick Start](#quick-start)
15
+ - [🛠️ Supported Tools](#supported-tools)
16
+ - [MongoDB Atlas Tools](#mongodb-atlas-tools)
17
+ - [MongoDB Database Tools](#mongodb-database-tools)
18
+ - [📄 Supported Resources](#supported-resources)
19
+ - [⚙️ Configuration](#configuration)
20
+ - [Configuration Options](#configuration-options)
21
+ - [Atlas API Access](#atlas-api-access)
22
+ - [Configuration Methods](#configuration-methods)
23
+ - [Environment Variables](#environment-variables)
24
+ - [Command-Line Arguments](#command-line-arguments)
25
+ - [MCP Client Configuration](#mcp-configuration-file-examples)
26
+ - [Proxy Support](#proxy-support)
27
+ - [🤝 Contributing](#contributing)
28
+
29
+ <a name="getting-started"></a>
30
+
31
+ ## Prerequisites
32
+
33
+ - Node.js
34
+ - At least 20.19.0
35
+ - When using v22 then at least v22.12.0
36
+ - Otherwise any version 23+
37
+
38
+ ```shell
39
+ node -v
40
+ ```
41
+
42
+ - A MongoDB connection string or Atlas API credentials, **_the Server will not start unless configured_**.
43
+ - **_Service Accounts Atlas API credentials_** are required to use the Atlas tools. You can create a service account in MongoDB Atlas and use its credentials for authentication. See [Atlas API Access](#atlas-api-access) for more details.
44
+ - If you have a MongoDB connection string, you can use it directly to connect to your MongoDB instance.
45
+
46
+ ## Setup
47
+
48
+ ### Quick Start
49
+
50
+ **Note:** When using Atlas API credentials, be sure to assign only the minimum required permissions to your service account. See [Atlas API Permissions](#atlas-api-permissions) for details.
51
+
52
+ Most MCP clients require a configuration file to be created or modified to add the MCP server.
53
+
54
+ Note: The configuration file syntax can be different across clients. Please refer to the following links for the latest expected syntax:
55
+
56
+ - **Windsurf**: https://docs.windsurf.com/windsurf/mcp
57
+ - **VSCode**: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
58
+ - **Claude Desktop**: https://modelcontextprotocol.io/quickstart/user
59
+ - **Cursor**: https://docs.cursor.com/context/model-context-protocol
60
+
61
+ > **Default Safety Notice:** All examples below include `--readOnly` by default to ensure safe, read-only access to your data. Remove `--readOnly` if you need to enable write operations.
62
+
63
+ #### Option 1: Connection String args
64
+
65
+ You can pass your connection string via args, make sure to use a valid username and password.
66
+
67
+ ```json
68
+ {
69
+ "mcpServers": {
70
+ "MongoDB": {
71
+ "command": "npx",
72
+ "args": [
73
+ "-y",
74
+ "mongodb-mcp-server",
75
+ "--connectionString",
76
+ "mongodb://localhost:27017/myDatabase",
77
+ "--readOnly"
78
+ ]
79
+ }
80
+ }
81
+ }
82
+ ```
83
+
84
+ NOTE: The connection string can be configured to connect to any MongoDB cluster, whether it's a local instance or an Atlas cluster.
85
+
86
+ #### Option 2: Atlas API credentials args
87
+
88
+ Use your Atlas API Service Accounts credentials. Must follow all the steps in [Atlas API Access](#atlas-api-access) section.
89
+
90
+ ```json
91
+ {
92
+ "mcpServers": {
93
+ "MongoDB": {
94
+ "command": "npx",
95
+ "args": [
96
+ "-y",
97
+ "mongodb-mcp-server",
98
+ "--apiClientId",
99
+ "your-atlas-service-accounts-client-id",
100
+ "--apiClientSecret",
101
+ "your-atlas-service-accounts-client-secret",
102
+ "--readOnly"
103
+ ]
104
+ }
105
+ }
106
+ }
107
+ ```
108
+
109
+ #### Option 3: Standalone Service using command arguments
110
+
111
+ Start Server using npx command:
112
+
113
+ ```shell
114
+ npx -y mongodb-mcp-server@latest --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret" --readOnly
115
+ ```
116
+
117
+ - For a complete list of arguments see [Configuration Options](#configuration-options)
118
+ - To configure your Atlas Service Accounts credentials please refer to [Atlas API Access](#atlas-api-access)
119
+
120
+ #### Option 4: Standalone Service using environment variables
121
+
122
+ ```shell
123
+ npx -y mongodb-mcp-server@latest --readOnly
124
+ ```
125
+
126
+ You can use environment variables in the config file or set them and run the server via npx.
127
+
128
+ - Connection String via environment variables in the MCP file [example](#connection-string-with-environment-variables)
129
+ - Atlas API credentials via environment variables in the MCP file [example](#atlas-api-credentials-with-environment-variables)
130
+
131
+ #### Option 5: Using Docker
132
+
133
+ You can run the MongoDB MCP Server in a Docker container, which provides isolation and doesn't require a local Node.js installation.
134
+
135
+ #### Run with Environment Variables
136
+
137
+ You may provide either a MongoDB connection string OR Atlas API credentials:
138
+
139
+ ##### Option A: No configuration
140
+
141
+ ```shell
142
+ docker run --rm -i \
143
+ mongodb/mongodb-mcp-server:latest
144
+ ```
145
+
146
+ ##### Option B: With MongoDB connection string
147
+
148
+ ```shell
149
+ docker run --rm -i \
150
+ -e MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" \
151
+ -e MDB_MCP_READ_ONLY="true" \
152
+ mongodb/mongodb-mcp-server:latest
153
+ ```
154
+
155
+ ##### Option C: With Atlas API credentials
156
+
157
+ ```shell
158
+ docker run --rm -i \
159
+ -e MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id" \
160
+ -e MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret" \
161
+ -e MDB_MCP_READ_ONLY="true" \
162
+ mongodb/mongodb-mcp-server:latest
163
+ ```
164
+
165
+ ##### Docker in MCP Configuration File
166
+
167
+ Without options:
168
+
169
+ ```json
170
+ {
171
+ "mcpServers": {
172
+ "MongoDB": {
173
+ "command": "docker",
174
+ "args": [
175
+ "run",
176
+ "--rm",
177
+ "-e",
178
+ "MDB_MCP_READ_ONLY=true",
179
+ "-i",
180
+ "mongodb/mongodb-mcp-server:latest"
181
+ ]
182
+ }
183
+ }
184
+ }
185
+ ```
186
+
187
+ With connection string:
188
+
189
+ ```json
190
+ {
191
+ "mcpServers": {
192
+ "MongoDB": {
193
+ "command": "docker",
194
+ "args": [
195
+ "run",
196
+ "--rm",
197
+ "-i",
198
+ "-e",
199
+ "MDB_MCP_CONNECTION_STRING=mongodb+srv://username:password@cluster.mongodb.net/myDatabase",
200
+ "-e",
201
+ "MDB_MCP_READ_ONLY=true",
202
+ "mongodb/mongodb-mcp-server:latest"
203
+ ]
204
+ }
205
+ }
206
+ }
207
+ ```
208
+
209
+ With Atlas API credentials:
210
+
211
+ ```json
212
+ {
213
+ "mcpServers": {
214
+ "MongoDB": {
215
+ "command": "docker",
216
+ "args": [
217
+ "run",
218
+ "--rm",
219
+ "-i",
220
+ "-e",
221
+ "MDB_MCP_READ_ONLY=true",
222
+ "-e",
223
+ "MDB_MCP_API_CLIENT_ID=your-atlas-service-accounts-client-id",
224
+ "-e",
225
+ "MDB_MCP_API_CLIENT_SECRET=your-atlas-service-accounts-client-secret",
226
+ "mongodb/mongodb-mcp-server:latest"
227
+ ]
228
+ }
229
+ }
230
+ }
231
+ ```
232
+
233
+ #### Option 6: Running as an HTTP Server
234
+
235
+ > **⚠️ Security Notice:** This server now supports Streamable HTTP transport for remote connections. **HTTP transport is NOT recommended for production use without implementing proper authentication and security measures.**
236
+
237
+ **Suggested Security Measures Examples:**
238
+
239
+ - Implement authentication (e.g., API gateway, reverse proxy)
240
+ - Use HTTPS/TLS encryption
241
+ - Deploy behind a firewall or in private networks
242
+ - Implement rate limiting
243
+ - Never expose directly to the internet
244
+
245
+ For more details, see [MCP Security Best Practices](https://modelcontextprotocol.io/docs/concepts/transports#security-considerations).
246
+
247
+ You can run the MongoDB MCP Server as an HTTP server instead of the default stdio transport. This is useful if you want to interact with the server over HTTP, for example from a web client or to expose the server on a specific port.
248
+
249
+ To start the server with HTTP transport, use the `--transport http` option:
250
+
251
+ ```shell
252
+ npx -y mongodb-mcp-server@latest --transport http
253
+ ```
254
+
255
+ By default, the server will listen on `http://127.0.0.1:3000`. You can customize the host and port using the `--httpHost` and `--httpPort` options:
256
+
257
+ ```shell
258
+ npx -y mongodb-mcp-server@latest --transport http --httpHost=0.0.0.0 --httpPort=8080
259
+ ```
260
+
261
+ - `--httpHost` (default: 127.0.0.1): The host to bind the HTTP server.
262
+ - `--httpPort` (default: 3000): The port number for the HTTP server.
263
+
264
+ > **Note:** The default transport is `stdio`, which is suitable for integration with most MCP clients. Use `http` transport if you need to interact with the server over HTTP.
265
+
266
+ ## 🛠️ Supported Tools
267
+
268
+ ### Tool List
269
+
270
+ #### MongoDB Atlas Tools
271
+
272
+ - `atlas-list-orgs` - Lists MongoDB Atlas organizations
273
+ - `atlas-list-projects` - Lists MongoDB Atlas projects
274
+ - `atlas-create-project` - Creates a new MongoDB Atlas project
275
+ - `atlas-list-clusters` - Lists MongoDB Atlas clusters
276
+ - `atlas-inspect-cluster` - Inspect a specific MongoDB Atlas cluster
277
+ - `atlas-create-free-cluster` - Create a free MongoDB Atlas cluster
278
+ - `atlas-connect-cluster` - Connects to MongoDB Atlas cluster
279
+ - `atlas-inspect-access-list` - Inspect IP/CIDR ranges with access to MongoDB Atlas clusters
280
+ - `atlas-create-access-list` - Configure IP/CIDR access list for MongoDB Atlas clusters
281
+ - `atlas-list-db-users` - List MongoDB Atlas database users
282
+ - `atlas-create-db-user` - Creates a MongoDB Atlas database user
283
+ - `atlas-list-alerts` - List MongoDB Atlas Alerts for a Project
284
+
285
+ NOTE: atlas tools are only available when you set credentials on [configuration](#configuration) section.
286
+
287
+ #### MongoDB Database Tools
288
+
289
+ - `connect` - Connect to a MongoDB instance
290
+ - `find` - Run a find query against a MongoDB collection
291
+ - `aggregate` - Run an aggregation against a MongoDB collection
292
+ - `count` - Get the number of documents in a MongoDB collection
293
+ - `insert-one` - Insert a single document into a MongoDB collection
294
+ - `insert-many` - Insert multiple documents into a MongoDB collection
295
+ - `create-index` - Create an index for a MongoDB collection
296
+ - `update-one` - Update a single document in a MongoDB collection
297
+ - `update-many` - Update multiple documents in a MongoDB collection
298
+ - `rename-collection` - Rename a MongoDB collection
299
+ - `delete-one` - Delete a single document from a MongoDB collection
300
+ - `delete-many` - Delete multiple documents from a MongoDB collection
301
+ - `drop-collection` - Remove a collection from a MongoDB database
302
+ - `drop-database` - Remove a MongoDB database
303
+ - `list-databases` - List all databases for a MongoDB connection
304
+ - `list-collections` - List all collections for a given database
305
+ - `collection-indexes` - Describe the indexes for a collection
306
+ - `collection-schema` - Describe the schema for a collection
307
+ - `collection-storage-size` - Get the size of a collection in MB
308
+ - `db-stats` - Return statistics about a MongoDB database
309
+ - `export` - Export query or aggregation results to EJSON format. Creates a uniquely named export accessible via the `exported-data` resource.
310
+
311
+ ## 📄 Supported Resources
312
+
313
+ - `config` - Server configuration, supplied by the user either as environment variables or as startup arguments with sensitive parameters redacted. The resource can be accessed under URI `config://config`.
314
+ - `debug` - Debugging information for MongoDB connectivity issues. Tracks the last connectivity attempt and error information. The resource can be accessed under URI `debug://mongodb`.
315
+ - `exported-data` - A resource template to access the data exported using the export tool. The template can be accessed under URI `exported-data://{exportName}` where `exportName` is the unique name for an export generated by the export tool.
316
+
317
+ ## Configuration
318
+
319
+ The MongoDB MCP Server can be configured using multiple methods, with the following precedence (highest to lowest):
320
+
321
+ 1. Command-line arguments
322
+ 2. Environment variables
323
+
324
+ ### Configuration Options
325
+
326
+ | CLI Option | Environment Variable | Default | Description |
327
+ | ------------------------- | ------------------------------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
328
+ | `apiClientId` | `MDB_MCP_API_CLIENT_ID` | <not set> | Atlas API client ID for authentication. Required for running Atlas tools. |
329
+ | `apiClientSecret` | `MDB_MCP_API_CLIENT_SECRET` | <not set> | Atlas API client secret for authentication. Required for running Atlas tools. |
330
+ | `connectionString` | `MDB_MCP_CONNECTION_STRING` | <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. |
331
+ | `loggers` | `MDB_MCP_LOGGERS` | disk,mcp | Comma separated values, possible values are `mcp`, `disk` and `stderr`. See [Logger Options](#logger-options) for details. |
332
+ | `logPath` | `MDB_MCP_LOG_PATH` | see note\* | Folder to store logs. |
333
+ | `disabledTools` | `MDB_MCP_DISABLED_TOOLS` | <not set> | An array of tool names, operation types, and/or categories of tools that will be disabled. |
334
+ | `readOnly` | `MDB_MCP_READ_ONLY` | false | When set to true, only allows read, connect, and metadata operation types, disabling create/update/delete operations. |
335
+ | `indexCheck` | `MDB_MCP_INDEX_CHECK` | false | When set to true, enforces that query operations must use an index, rejecting queries that perform a collection scan. |
336
+ | `telemetry` | `MDB_MCP_TELEMETRY` | enabled | When set to disabled, disables telemetry collection. |
337
+ | `transport` | `MDB_MCP_TRANSPORT` | stdio | Either 'stdio' or 'http'. |
338
+ | `httpPort` | `MDB_MCP_HTTP_PORT` | 3000 | Port number. |
339
+ | `httpHost` | `MDB_MCP_HTTP_HOST` | 127.0.0.1 | Host to bind the http server. |
340
+ | `idleTimeoutMs` | `MDB_MCP_IDLE_TIMEOUT_MS` | 600000 | Idle timeout for a client to disconnect (only applies to http transport). |
341
+ | `notificationTimeoutMs` | `MDB_MCP_NOTIFICATION_TIMEOUT_MS` | 540000 | Notification timeout for a client to be aware of diconnect (only applies to http transport). |
342
+ | `exportsPath` | `MDB_MCP_EXPORTS_PATH` | see note\* | Folder to store exported data files. |
343
+ | `exportTimeoutMs` | `MDB_MCP_EXPORT_TIMEOUT_MS` | 300000 | Time in milliseconds after which an export is considered expired and eligible for cleanup. |
344
+ | `exportCleanupIntervalMs` | `MDB_MCP_EXPORT_CLEANUP_INTERVAL_MS` | 120000 | Time in milliseconds between export cleanup cycles that remove expired export files. |
345
+
346
+ #### Logger Options
347
+
348
+ The `loggers` configuration option controls where logs are sent. You can specify one or more logger types as a comma-separated list. The available options are:
349
+
350
+ - `mcp`: Sends logs to the MCP client (if supported by the client/transport).
351
+ - `disk`: Writes logs to disk files. Log files are stored in the log path (see `logPath` above).
352
+ - `stderr`: Outputs logs to standard error (stderr), useful for debugging or when running in containers.
353
+
354
+ **Default:** `disk,mcp` (logs are written to disk and sent to the MCP client).
355
+
356
+ You can combine multiple loggers, e.g. `--loggers disk stderr` or `export MDB_MCP_LOGGERS="mcp,stderr"`.
357
+
358
+ ##### Example: Set logger via environment variable
359
+
360
+ ```shell
361
+ export MDB_MCP_LOGGERS="disk,stderr"
362
+ ```
363
+
364
+ ##### Example: Set logger via command-line argument
365
+
366
+ ```shell
367
+ npx -y mongodb-mcp-server@latest --loggers mcp stderr
368
+ ```
369
+
370
+ ##### Log File Location
371
+
372
+ When using the `disk` logger, log files are stored in:
373
+
374
+ - **Windows:** `%LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs`
375
+ - **macOS/Linux:** `~/.mongodb/mongodb-mcp/.app-logs`
376
+
377
+ You can override the log directory with the `logPath` option.
378
+
379
+ #### Disabled Tools
380
+
381
+ You can disable specific tools or categories of tools by using the `disabledTools` option. This option accepts an array of strings,
382
+ where each string can be a tool name, operation type, or category.
383
+
384
+ The way the array is constructed depends on the type of configuration method you use:
385
+
386
+ - For **environment variable** configuration, use a comma-separated string: `export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas,collectionSchema"`.
387
+ - For **command-line argument** configuration, use a space-separated string: `--disabledTools create update delete atlas collectionSchema`.
388
+
389
+ Categories of tools:
390
+
391
+ - `atlas` - MongoDB Atlas tools, such as list clusters, create cluster, etc.
392
+ - `mongodb` - MongoDB database tools, such as find, aggregate, etc.
393
+
394
+ Operation types:
395
+
396
+ - `create` - Tools that create resources, such as create cluster, insert document, etc.
397
+ - `update` - Tools that update resources, such as update document, rename collection, etc.
398
+ - `delete` - Tools that delete resources, such as delete document, drop collection, etc.
399
+ - `read` - Tools that read resources, such as find, aggregate, list clusters, etc.
400
+ - `metadata` - Tools that read metadata, such as list databases, list collections, collection schema, etc.
401
+ - `connect` - Tools that allow you to connect or switch the connection to a MongoDB instance. If this is disabled, you will need to provide a connection string through the config when starting the server.
402
+
403
+ #### Read-Only Mode
404
+
405
+ The `readOnly` configuration option allows you to restrict the MCP server to only use tools with "read", "connect", and "metadata" operation types. When enabled, all tools that have "create", "update" or "delete" operation types will not be registered with the server.
406
+
407
+ This is useful for scenarios where you want to provide access to MongoDB data for analysis without allowing any modifications to the data or infrastructure.
408
+
409
+ You can enable read-only mode using:
410
+
411
+ - **Environment variable**: `export MDB_MCP_READ_ONLY=true`
412
+ - **Command-line argument**: `--readOnly`
413
+
414
+ When read-only mode is active, you'll see a message in the server logs indicating which tools were prevented from registering due to this restriction.
415
+
416
+ #### Index Check Mode
417
+
418
+ The `indexCheck` configuration option allows you to enforce that query operations must use an index. When enabled, queries that perform a collection scan will be rejected to ensure better performance.
419
+
420
+ This is useful for scenarios where you want to ensure that database queries are optimized.
421
+
422
+ You can enable index check mode using:
423
+
424
+ - **Environment variable**: `export MDB_MCP_INDEX_CHECK=true`
425
+ - **Command-line argument**: `--indexCheck`
426
+
427
+ When index check mode is active, you'll see an error message if a query is rejected due to not using an index.
428
+
429
+ #### Exports
430
+
431
+ The data exported by the `export` tool is temporarily stored in the configured `exportsPath` on the machine running the MCP server until cleaned up by the export cleanup process. If the `exportsPath` configuration is not provided, the following defaults are used:
432
+
433
+ - **Windows:** `%LOCALAPPDATA%\mongodb\mongodb-mcp\exports`
434
+ - **macOS/Linux:** `~/.mongodb/mongodb-mcp/exports`
435
+
436
+ The `exportTimeoutMs` configuration controls the time after which the exported data is considered expired and eligible for cleanup. By default, exports expire after 5 minutes (300000ms).
437
+
438
+ The `exportCleanupIntervalMs` configuration controls how frequently the cleanup process runs to remove expired export files. By default, cleanup runs every 2 minutes (120000ms).
439
+
440
+ #### Telemetry
441
+
442
+ The `telemetry` configuration option allows you to disable telemetry collection. When enabled, the MCP server will collect usage data and send it to MongoDB.
443
+
444
+ You can disable telemetry using:
445
+
446
+ - **Environment variable**: `export MDB_MCP_TELEMETRY=disabled`
447
+ - **Command-line argument**: `--telemetry disabled`
448
+ - **DO_NOT_TRACK environment variable**: `export DO_NOT_TRACK=1`
449
+
450
+ ### Atlas API Access
451
+
452
+ To use the Atlas API tools, you'll need to create a service account in MongoDB Atlas:
453
+
454
+ > **ℹ️ Note:** For a detailed breakdown of the minimum required permissions for each Atlas operation, see the [Atlas API Permissions](#atlas-api-permissions) section below.
455
+
456
+ 1. **Create a Service Account:**
457
+ - Log in to MongoDB Atlas at [cloud.mongodb.com](https://cloud.mongodb.com)
458
+ - Navigate to Access Manager > Organization Access
459
+ - Click Add New > Applications > Service Accounts
460
+ - Enter name, description and expiration for your service account (e.g., "MCP, MCP Server Access, 7 days")
461
+ - **Assign only the minimum permissions needed for your use case.**
462
+ - See [Atlas API Permissions](#atlas-api-permissions) for details.
463
+ - Click "Create"
464
+
465
+ To learn more about Service Accounts, check the [MongoDB Atlas documentation](https://www.mongodb.com/docs/atlas/api/service-accounts-overview/).
466
+
467
+ 2. **Save Client Credentials:**
468
+ - After creation, you'll be shown the Client ID and Client Secret
469
+ - **Important:** Copy and save the Client Secret immediately as it won't be displayed again
470
+
471
+ 3. **Add Access List Entry:**
472
+ - Add your IP address to the API access list
473
+
474
+ 4. **Configure the MCP Server:**
475
+ - Use one of the configuration methods below to set your `apiClientId` and `apiClientSecret`
476
+
477
+ ### Atlas API Permissions
478
+
479
+ > **Security Warning:** Granting the Organization Owner role is rarely necessary and can be a security risk. Assign only the minimum permissions needed for your use case.
480
+
481
+ #### Quick Reference: Required roles per operation
482
+
483
+ | What you want to do | Safest Role to Assign (where) |
484
+ | ------------------------------------ | --------------------------------------- |
485
+ | List orgs/projects | Org Member or Org Read Only (Org) |
486
+ | Create new projects | Org Project Creator (Org) |
487
+ | View clusters/databases in a project | Project Read Only (Project) |
488
+ | Create/manage clusters in a project | Project Cluster Manager (Project) |
489
+ | Manage project access lists | Project IP Access List Admin (Project) |
490
+ | Manage database users | Project Database Access Admin (Project) |
491
+
492
+ - **Prefer project-level roles** for most operations. Assign only to the specific projects you need to manage or view.
493
+ - **Avoid Organization Owner** unless you require full administrative control over all projects and settings in the organization.
494
+
495
+ For a full list of roles and their privileges, see the [Atlas User Roles documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#service-user-roles).
496
+
497
+ ### Configuration Methods
498
+
499
+ #### Environment Variables
500
+
501
+ Set environment variables with the prefix `MDB_MCP_` followed by the option name in uppercase with underscores:
502
+
503
+ ```shell
504
+ # Set Atlas API credentials (via Service Accounts)
505
+ export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
506
+ export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
507
+
508
+ # Set a custom MongoDB connection string
509
+ export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
510
+
511
+ export MDB_MCP_LOG_PATH="/path/to/logs"
512
+
513
+ ```
514
+
515
+ #### MCP configuration file examples
516
+
517
+ ##### Connection String with environment variables
518
+
519
+ ```json
520
+ {
521
+ "mcpServers": {
522
+ "MongoDB": {
523
+ "command": "npx",
524
+ "args": ["-y", "mongodb-mcp-server"],
525
+ "env": {
526
+ "MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
527
+ }
528
+ }
529
+ }
530
+ }
531
+ ```
532
+
533
+ ##### Atlas API credentials with environment variables
534
+
535
+ ```json
536
+ {
537
+ "mcpServers": {
538
+ "MongoDB": {
539
+ "command": "npx",
540
+ "args": ["-y", "mongodb-mcp-server"],
541
+ "env": {
542
+ "MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
543
+ "MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
544
+ }
545
+ }
546
+ }
547
+ }
548
+ ```
549
+
550
+ #### Command-Line Arguments
551
+
552
+ Pass configuration options as command-line arguments when starting the server:
553
+
554
+ ```shell
555
+ npx -y mongodb-mcp-server@latest --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret" --connectionString="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" --logPath=/path/to/logs --readOnly --indexCheck
556
+ ```
557
+
558
+ #### MCP configuration file examples
559
+
560
+ ##### Connection String with command-line arguments
561
+
562
+ ```json
563
+ {
564
+ "mcpServers": {
565
+ "MongoDB": {
566
+ "command": "npx",
567
+ "args": [
568
+ "-y",
569
+ "mongodb-mcp-server",
570
+ "--connectionString",
571
+ "mongodb+srv://username:password@cluster.mongodb.net/myDatabase",
572
+ "--readOnly"
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ ```
578
+
579
+ ##### Atlas API credentials with command-line arguments
580
+
581
+ ```json
582
+ {
583
+ "mcpServers": {
584
+ "MongoDB": {
585
+ "command": "npx",
586
+ "args": [
587
+ "-y",
588
+ "mongodb-mcp-server",
589
+ "--apiClientId",
590
+ "your-atlas-service-accounts-client-id",
591
+ "--apiClientSecret",
592
+ "your-atlas-service-accounts-client-secret",
593
+ "--readOnly"
594
+ ]
595
+ }
596
+ }
597
+ }
598
+ ```
599
+
600
+ ### Proxy Support
601
+
602
+ The MCP Server will detect typical PROXY environment variables and use them for
603
+ connecting to the Atlas API, your MongoDB Cluster, or any other external calls
604
+ to third-party services like OID Providers. The behaviour is the same as what
605
+ `mongosh` does, so the same settings will work in the MCP Server.
606
+
607
+ ## 🤝Contributing
608
+
609
+ Interested in contributing? Great! Please check our [Contributing Guide](CONTRIBUTING.md) for guidelines on code contributions, standards, adding new tools, and troubleshooting information.
@@ -0,0 +1,15 @@
1
+ import type { ApiClient } from "./apiClient.js";
2
+ export declare const DEFAULT_ACCESS_LIST_COMMENT = "Added by MongoDB MCP Server to enable tool access";
3
+ export declare function makeCurrentIpAccessListEntry(apiClient: ApiClient, projectId: string, comment?: string): Promise<{
4
+ groupId: string;
5
+ ipAddress: string;
6
+ comment: string;
7
+ }>;
8
+ /**
9
+ * Ensures the current public IP is in the access list for the given Atlas project.
10
+ * If the IP is already present, this is a no-op.
11
+ * @param apiClient The Atlas API client instance
12
+ * @param projectId The Atlas project ID
13
+ */
14
+ export declare function ensureCurrentIpInAccessList(apiClient: ApiClient, projectId: string): Promise<void>;
15
+ //# sourceMappingURL=accessListUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessListUtils.d.ts","sourceRoot":"","sources":["../../../../src/common/atlas/accessListUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,eAAO,MAAM,2BAA2B,sDAAsD,CAAC;AAE/F,wBAAsB,4BAA4B,CAC9C,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAoC,GAC9C,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAOlE;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BxG"}