mongodb-mcp-server 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/.github/pull_request_template.md +5 -0
  2. package/.github/workflows/accuracy-tests.yml +55 -0
  3. package/.github/workflows/check.yml +1 -1
  4. package/.github/workflows/code_health.yaml +4 -4
  5. package/.github/workflows/code_health_fork.yaml +0 -14
  6. package/.github/workflows/dependabot_pr.yaml +26 -0
  7. package/.github/workflows/docker.yaml +1 -1
  8. package/.github/workflows/jira-issue.yml +72 -0
  9. package/.smithery/smithery.yaml +10 -0
  10. package/.vscode/extensions.json +1 -1
  11. package/.vscode/launch.json +11 -1
  12. package/.vscode/settings.json +1 -11
  13. package/Dockerfile +1 -0
  14. package/README.md +132 -31
  15. package/dist/common/atlas/accessListUtils.js +36 -0
  16. package/dist/common/atlas/accessListUtils.js.map +1 -0
  17. package/dist/common/atlas/apiClient.js +25 -6
  18. package/dist/common/atlas/apiClient.js.map +1 -1
  19. package/dist/common/atlas/cluster.js +1 -1
  20. package/dist/common/atlas/cluster.js.map +1 -1
  21. package/dist/{config.js → common/config.js} +8 -1
  22. package/dist/common/config.js.map +1 -0
  23. package/dist/{errors.js → common/errors.js} +1 -0
  24. package/dist/common/errors.js.map +1 -0
  25. package/dist/{logger.js → common/logger.js} +20 -19
  26. package/dist/common/logger.js.map +1 -0
  27. package/dist/common/managedTimeout.js +20 -0
  28. package/dist/common/managedTimeout.js.map +1 -0
  29. package/dist/common/packageInfo.js.map +1 -0
  30. package/dist/{session.js → common/session.js} +20 -21
  31. package/dist/common/session.js.map +1 -0
  32. package/dist/common/sessionStore.js +73 -0
  33. package/dist/common/sessionStore.js.map +1 -0
  34. package/dist/helpers/container.js +28 -0
  35. package/dist/helpers/container.js.map +1 -0
  36. package/dist/helpers/generatePassword.js.map +1 -0
  37. package/dist/helpers/indexCheck.js +63 -0
  38. package/dist/helpers/indexCheck.js.map +1 -0
  39. package/dist/index.js +30 -37
  40. package/dist/index.js.map +1 -1
  41. package/dist/server.js +44 -7
  42. package/dist/server.js.map +1 -1
  43. package/dist/telemetry/constants.js +1 -1
  44. package/dist/telemetry/constants.js.map +1 -1
  45. package/dist/telemetry/telemetry.js +86 -116
  46. package/dist/telemetry/telemetry.js.map +1 -1
  47. package/dist/tools/atlas/atlasTool.js +3 -3
  48. package/dist/tools/atlas/atlasTool.js.map +1 -1
  49. package/dist/tools/atlas/connect/connectCluster.js +198 -0
  50. package/dist/tools/atlas/connect/connectCluster.js.map +1 -0
  51. package/dist/tools/atlas/create/createAccessList.js +9 -10
  52. package/dist/tools/atlas/create/createAccessList.js.map +1 -1
  53. package/dist/tools/atlas/create/createDBUser.js +3 -1
  54. package/dist/tools/atlas/create/createDBUser.js.map +1 -1
  55. package/dist/tools/atlas/create/createFreeCluster.js +2 -0
  56. package/dist/tools/atlas/create/createFreeCluster.js.map +1 -1
  57. package/dist/tools/atlas/create/createProject.js.map +1 -1
  58. package/dist/tools/atlas/read/inspectAccessList.js.map +1 -1
  59. package/dist/tools/atlas/read/inspectCluster.js.map +1 -1
  60. package/dist/tools/atlas/read/listAlerts.js.map +1 -1
  61. package/dist/tools/atlas/read/listClusters.js.map +1 -1
  62. package/dist/tools/atlas/read/listDBUsers.js.map +1 -1
  63. package/dist/tools/atlas/read/listOrgs.js.map +1 -1
  64. package/dist/tools/atlas/read/listProjects.js.map +1 -1
  65. package/dist/tools/atlas/tools.js +1 -1
  66. package/dist/tools/atlas/tools.js.map +1 -1
  67. package/dist/tools/mongodb/{metadata → connect}/connect.js +7 -4
  68. package/dist/tools/mongodb/connect/connect.js.map +1 -0
  69. package/dist/tools/mongodb/create/createCollection.js.map +1 -1
  70. package/dist/tools/mongodb/create/createIndex.js +1 -1
  71. package/dist/tools/mongodb/create/createIndex.js.map +1 -1
  72. package/dist/tools/mongodb/create/insertMany.js +1 -1
  73. package/dist/tools/mongodb/create/insertMany.js.map +1 -1
  74. package/dist/tools/mongodb/delete/deleteMany.js +20 -1
  75. package/dist/tools/mongodb/delete/deleteMany.js.map +1 -1
  76. package/dist/tools/mongodb/delete/dropCollection.js.map +1 -1
  77. package/dist/tools/mongodb/delete/dropDatabase.js.map +1 -1
  78. package/dist/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  79. package/dist/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  80. package/dist/tools/mongodb/metadata/dbStats.js.map +1 -1
  81. package/dist/tools/mongodb/metadata/explain.js +2 -2
  82. package/dist/tools/mongodb/metadata/explain.js.map +1 -1
  83. package/dist/tools/mongodb/metadata/listCollections.js.map +1 -1
  84. package/dist/tools/mongodb/metadata/listDatabases.js.map +1 -1
  85. package/dist/tools/mongodb/metadata/logs.js.map +1 -1
  86. package/dist/tools/mongodb/mongodbTool.js +47 -10
  87. package/dist/tools/mongodb/mongodbTool.js.map +1 -1
  88. package/dist/tools/mongodb/read/aggregate.js +10 -1
  89. package/dist/tools/mongodb/read/aggregate.js.map +1 -1
  90. package/dist/tools/mongodb/read/collectionIndexes.js.map +1 -1
  91. package/dist/tools/mongodb/read/count.js +15 -1
  92. package/dist/tools/mongodb/read/count.js.map +1 -1
  93. package/dist/tools/mongodb/read/find.js +14 -4
  94. package/dist/tools/mongodb/read/find.js.map +1 -1
  95. package/dist/tools/mongodb/tools.js +1 -1
  96. package/dist/tools/mongodb/tools.js.map +1 -1
  97. package/dist/tools/mongodb/update/renameCollection.js.map +1 -1
  98. package/dist/tools/mongodb/update/updateMany.js +24 -2
  99. package/dist/tools/mongodb/update/updateMany.js.map +1 -1
  100. package/dist/tools/tool.js +12 -9
  101. package/dist/tools/tool.js.map +1 -1
  102. package/dist/transports/base.js +26 -0
  103. package/dist/transports/base.js.map +1 -0
  104. package/dist/{helpers/EJsonTransport.js → transports/stdio.js} +24 -2
  105. package/dist/transports/stdio.js.map +1 -0
  106. package/dist/transports/streamableHttp.js +140 -0
  107. package/dist/transports/streamableHttp.js.map +1 -0
  108. package/eslint.config.js +13 -4
  109. package/package.json +43 -33
  110. package/resources/test-summary-template.html +415 -0
  111. package/scripts/accuracy/generateTestSummary.ts +335 -0
  112. package/scripts/accuracy/runAccuracyTests.sh +45 -0
  113. package/scripts/accuracy/updateAccuracyRunStatus.ts +21 -0
  114. package/src/common/atlas/accessListUtils.ts +54 -0
  115. package/src/common/atlas/apiClient.ts +25 -6
  116. package/src/common/atlas/cluster.ts +1 -1
  117. package/src/{config.ts → common/config.ts} +16 -2
  118. package/src/{errors.ts → common/errors.ts} +1 -0
  119. package/src/{logger.ts → common/logger.ts} +21 -24
  120. package/src/common/managedTimeout.ts +27 -0
  121. package/src/{session.ts → common/session.ts} +24 -26
  122. package/src/common/sessionStore.ts +111 -0
  123. package/src/helpers/container.ts +35 -0
  124. package/src/helpers/indexCheck.ts +83 -0
  125. package/src/index.ts +30 -40
  126. package/src/server.ts +55 -11
  127. package/src/telemetry/constants.ts +1 -1
  128. package/src/telemetry/telemetry.ts +109 -153
  129. package/src/telemetry/types.ts +2 -1
  130. package/src/tools/atlas/atlasTool.ts +4 -4
  131. package/src/tools/atlas/connect/connectCluster.ts +259 -0
  132. package/src/tools/atlas/create/createAccessList.ts +15 -13
  133. package/src/tools/atlas/create/createDBUser.ts +5 -3
  134. package/src/tools/atlas/create/createFreeCluster.ts +4 -2
  135. package/src/tools/atlas/create/createProject.ts +2 -2
  136. package/src/tools/atlas/read/inspectAccessList.ts +2 -2
  137. package/src/tools/atlas/read/inspectCluster.ts +2 -2
  138. package/src/tools/atlas/read/listAlerts.ts +2 -2
  139. package/src/tools/atlas/read/listClusters.ts +2 -2
  140. package/src/tools/atlas/read/listDBUsers.ts +2 -2
  141. package/src/tools/atlas/read/listOrgs.ts +2 -2
  142. package/src/tools/atlas/read/listProjects.ts +2 -2
  143. package/src/tools/atlas/tools.ts +1 -1
  144. package/src/tools/mongodb/{metadata → connect}/connect.ts +12 -9
  145. package/src/tools/mongodb/create/createCollection.ts +2 -2
  146. package/src/tools/mongodb/create/createIndex.ts +3 -3
  147. package/src/tools/mongodb/create/insertMany.ts +3 -3
  148. package/src/tools/mongodb/delete/deleteMany.ts +24 -3
  149. package/src/tools/mongodb/delete/dropCollection.ts +2 -2
  150. package/src/tools/mongodb/delete/dropDatabase.ts +2 -2
  151. package/src/tools/mongodb/metadata/collectionSchema.ts +2 -2
  152. package/src/tools/mongodb/metadata/collectionStorageSize.ts +2 -2
  153. package/src/tools/mongodb/metadata/dbStats.ts +2 -2
  154. package/src/tools/mongodb/metadata/explain.ts +4 -4
  155. package/src/tools/mongodb/metadata/listCollections.ts +2 -2
  156. package/src/tools/mongodb/metadata/listDatabases.ts +2 -2
  157. package/src/tools/mongodb/metadata/logs.ts +2 -2
  158. package/src/tools/mongodb/mongodbTool.ts +60 -14
  159. package/src/tools/mongodb/read/aggregate.ts +14 -3
  160. package/src/tools/mongodb/read/collectionIndexes.ts +2 -2
  161. package/src/tools/mongodb/read/count.ts +19 -3
  162. package/src/tools/mongodb/read/find.ts +20 -6
  163. package/src/tools/mongodb/tools.ts +1 -1
  164. package/src/tools/mongodb/update/renameCollection.ts +2 -2
  165. package/src/tools/mongodb/update/updateMany.ts +28 -4
  166. package/src/tools/tool.ts +23 -18
  167. package/src/transports/base.ts +34 -0
  168. package/src/{helpers/EJsonTransport.ts → transports/stdio.ts} +30 -1
  169. package/src/transports/streamableHttp.ts +178 -0
  170. package/tests/accuracy/aggregate.test.ts +27 -0
  171. package/tests/accuracy/collectionIndexes.test.ts +40 -0
  172. package/tests/accuracy/collectionSchema.test.ts +28 -0
  173. package/tests/accuracy/collectionStorageSize.test.ts +41 -0
  174. package/tests/accuracy/count.test.ts +44 -0
  175. package/tests/accuracy/createCollection.test.ts +46 -0
  176. package/tests/accuracy/createIndex.test.ts +37 -0
  177. package/tests/accuracy/dbStats.test.ts +15 -0
  178. package/tests/accuracy/deleteMany.test.ts +44 -0
  179. package/tests/accuracy/dropCollection.test.ts +74 -0
  180. package/tests/accuracy/dropDatabase.test.ts +41 -0
  181. package/tests/accuracy/explain.test.ts +73 -0
  182. package/tests/accuracy/find.test.ts +114 -0
  183. package/tests/accuracy/insertMany.test.ts +48 -0
  184. package/tests/accuracy/listCollections.test.ts +60 -0
  185. package/tests/accuracy/listDatabases.test.ts +31 -0
  186. package/tests/accuracy/logs.test.ts +28 -0
  187. package/tests/accuracy/renameCollection.test.ts +31 -0
  188. package/tests/accuracy/sdk/accuracyResultStorage/diskStorage.ts +189 -0
  189. package/tests/accuracy/sdk/accuracyResultStorage/getAccuracyResultStorage.ts +11 -0
  190. package/tests/accuracy/sdk/accuracyResultStorage/mongodbStorage.ts +151 -0
  191. package/tests/accuracy/sdk/accuracyResultStorage/resultStorage.ts +117 -0
  192. package/tests/accuracy/sdk/accuracyScorer.ts +93 -0
  193. package/tests/accuracy/sdk/accuracyTestingClient.ts +94 -0
  194. package/tests/accuracy/sdk/agent.ts +56 -0
  195. package/tests/accuracy/sdk/constants.ts +26 -0
  196. package/tests/accuracy/sdk/describeAccuracyTests.ts +126 -0
  197. package/tests/accuracy/sdk/gitInfo.ts +7 -0
  198. package/tests/accuracy/sdk/matcher.ts +193 -0
  199. package/tests/accuracy/sdk/models.ts +95 -0
  200. package/tests/accuracy/test-data-dumps/comics.books.json +417 -0
  201. package/tests/accuracy/test-data-dumps/comics.characters.json +402 -0
  202. package/tests/accuracy/test-data-dumps/mflix.movies.json +496 -0
  203. package/tests/accuracy/test-data-dumps/mflix.shows.json +572 -0
  204. package/tests/accuracy/updateMany.test.ts +42 -0
  205. package/tests/integration/helpers.ts +9 -9
  206. package/tests/integration/indexCheck.test.ts +464 -0
  207. package/tests/integration/server.test.ts +6 -4
  208. package/tests/integration/telemetry.test.ts +29 -0
  209. package/tests/integration/tools/atlas/accessLists.test.ts +22 -2
  210. package/tests/integration/tools/atlas/alerts.test.ts +3 -2
  211. package/tests/integration/tools/atlas/atlasHelpers.ts +3 -0
  212. package/tests/integration/tools/atlas/clusters.test.ts +68 -16
  213. package/tests/integration/tools/atlas/dbUsers.test.ts +14 -1
  214. package/tests/integration/tools/atlas/orgs.test.ts +2 -1
  215. package/tests/integration/tools/atlas/projects.test.ts +4 -3
  216. package/tests/integration/tools/mongodb/{metadata → connect}/connect.test.ts +34 -3
  217. package/tests/integration/tools/mongodb/create/createCollection.test.ts +1 -0
  218. package/tests/integration/tools/mongodb/create/createIndex.test.ts +1 -0
  219. package/tests/integration/tools/mongodb/create/insertMany.test.ts +1 -0
  220. package/tests/integration/tools/mongodb/delete/deleteMany.test.ts +1 -0
  221. package/tests/integration/tools/mongodb/delete/dropCollection.test.ts +1 -1
  222. package/tests/integration/tools/mongodb/delete/dropDatabase.test.ts +1 -0
  223. package/tests/integration/tools/mongodb/metadata/collectionSchema.test.ts +1 -0
  224. package/tests/integration/tools/mongodb/metadata/collectionStorageSize.test.ts +1 -0
  225. package/tests/integration/tools/mongodb/metadata/dbStats.test.ts +1 -0
  226. package/tests/integration/tools/mongodb/metadata/explain.test.ts +1 -0
  227. package/tests/integration/tools/mongodb/metadata/listCollections.test.ts +1 -0
  228. package/tests/integration/tools/mongodb/metadata/listDatabases.test.ts +3 -2
  229. package/tests/integration/tools/mongodb/metadata/logs.test.ts +1 -0
  230. package/tests/integration/tools/mongodb/mongodbHelpers.ts +67 -2
  231. package/tests/integration/tools/mongodb/read/aggregate.test.ts +2 -1
  232. package/tests/integration/tools/mongodb/read/collectionIndexes.test.ts +1 -0
  233. package/tests/integration/tools/mongodb/read/count.test.ts +1 -0
  234. package/tests/integration/tools/mongodb/read/find.test.ts +2 -1
  235. package/tests/integration/tools/mongodb/update/renameCollection.test.ts +1 -0
  236. package/tests/integration/tools/mongodb/update/updateMany.test.ts +1 -0
  237. package/tests/integration/transports/stdio.test.ts +40 -0
  238. package/tests/integration/transports/streamableHttp.test.ts +56 -0
  239. package/tests/matchers/toIncludeSameMembers.test.ts +59 -0
  240. package/tests/matchers/toIncludeSameMembers.ts +12 -0
  241. package/tests/setup.ts +7 -0
  242. package/tests/unit/accessListUtils.test.ts +39 -0
  243. package/tests/unit/accuracyScorer.test.ts +390 -0
  244. package/tests/unit/{apiClient.test.ts → common/apiClient.test.ts} +15 -15
  245. package/tests/unit/common/managedTimeout.test.ts +67 -0
  246. package/tests/unit/{session.test.ts → common/session.test.ts} +7 -12
  247. package/tests/unit/helpers/indexCheck.test.ts +150 -0
  248. package/tests/unit/telemetry.test.ts +99 -137
  249. package/tests/unit/{EJsonTransport.test.ts → transports/stdio.test.ts} +4 -4
  250. package/tests/vitest.d.ts +11 -0
  251. package/tsconfig.json +0 -1
  252. package/{tsconfig.jest.json → tsconfig.test.json} +1 -2
  253. package/vitest.config.ts +41 -0
  254. package/dist/common/atlas/generatePassword.js.map +0 -1
  255. package/dist/config.js.map +0 -1
  256. package/dist/errors.js.map +0 -1
  257. package/dist/helpers/EJsonTransport.js.map +0 -1
  258. package/dist/helpers/packageInfo.js.map +0 -1
  259. package/dist/logger.js.map +0 -1
  260. package/dist/session.js.map +0 -1
  261. package/dist/tools/atlas/metadata/connectCluster.js +0 -100
  262. package/dist/tools/atlas/metadata/connectCluster.js.map +0 -1
  263. package/dist/tools/mongodb/metadata/connect.js.map +0 -1
  264. package/global.d.ts +0 -1
  265. package/jest.config.cjs +0 -22
  266. package/src/tools/atlas/metadata/connectCluster.ts +0 -121
  267. /package/dist/{helpers → common}/packageInfo.js +0 -0
  268. /package/dist/{common/atlas → helpers}/generatePassword.js +0 -0
  269. /package/src/{helpers → common}/packageInfo.ts +0 -0
  270. /package/src/{common/atlas → helpers}/generatePassword.ts +0 -0
package/README.md CHANGED
@@ -1,5 +1,5 @@
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%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=eyJjb21tYW5kIjoibnB4IC15IG1vbmdvZGItbWNwLXNlcnZlciJ9)
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=)](cursor://anysphere.cursor-deeplink/mcp/install?name=MongoDB&config=eyJjb21tYW5kIjoibnB4IC15IG1vbmdvZGItbWNwLXNlcnZlciAtLXJlYWRPbmx5In0%3D)
3
3
  [![View on Smithery](https://smithery.ai/badge/@mongodb-js/mongodb-mcp-server)](https://smithery.ai/server/@mongodb-js/mongodb-mcp-server)
4
4
 
5
5
  # MongoDB MCP Server
@@ -24,9 +24,14 @@ A Model Context Protocol server for interacting with MongoDB Databases and Mongo
24
24
  - [MCP Client Configuration](#mcp-configuration-file-examples)
25
25
  - [🤝 Contributing](#contributing)
26
26
 
27
+ <a name="getting-started"></a>
28
+
27
29
  ## Prerequisites
28
30
 
29
- - Node.js (v20.10.0 or later)
31
+ - Node.js
32
+ - At least 20.19.0
33
+ - When using v22 then at least v22.12.0
34
+ - Otherwise any version 23+
30
35
 
31
36
  ```shell
32
37
  node -v
@@ -40,17 +45,19 @@ node -v
40
45
 
41
46
  ### Quick Start
42
47
 
43
- > **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.
48
+ **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.
44
49
 
45
50
  Most MCP clients require a configuration file to be created or modified to add the MCP server.
46
51
 
47
52
  Note: The configuration file syntax can be different across clients. Please refer to the following links for the latest expected syntax:
48
53
 
49
- - **Windsurf**:https://docs.windsurf.com/windsurf/mcp
54
+ - **Windsurf**: https://docs.windsurf.com/windsurf/mcp
50
55
  - **VSCode**: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
51
56
  - **Claude Desktop**: https://modelcontextprotocol.io/quickstart/user
52
57
  - **Cursor**: https://docs.cursor.com/context/model-context-protocol
53
58
 
59
+ > **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.
60
+
54
61
  #### Option 1: Connection String args
55
62
 
56
63
  You can pass your connection string via args, make sure to use a valid username and password.
@@ -64,7 +71,8 @@ You can pass your connection string via args, make sure to use a valid username
64
71
  "-y",
65
72
  "mongodb-mcp-server",
66
73
  "--connectionString",
67
- "mongodb://localhost:27017/myDatabase"
74
+ "mongodb://localhost:27017/myDatabase",
75
+ "--readOnly"
68
76
  ]
69
77
  }
70
78
  }
@@ -88,7 +96,8 @@ Use your Atlas API Service Accounts credentials. Must follow all the steps in [A
88
96
  "--apiClientId",
89
97
  "your-atlas-service-accounts-client-id",
90
98
  "--apiClientSecret",
91
- "your-atlas-service-accounts-client-secret"
99
+ "your-atlas-service-accounts-client-secret",
100
+ "--readOnly"
92
101
  ]
93
102
  }
94
103
  }
@@ -100,7 +109,7 @@ Use your Atlas API Service Accounts credentials. Must follow all the steps in [A
100
109
  Start Server using npx command:
101
110
 
102
111
  ```shell
103
- npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret"
112
+ npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret" --readOnly
104
113
  ```
105
114
 
106
115
  - For a complete list of arguments see [Configuration Options](#configuration-options)
@@ -109,7 +118,7 @@ Start Server using npx command:
109
118
  #### Option 4: Standalone Service using environment variables
110
119
 
111
120
  ```shell
112
- npx -y mongodb-mcp-server
121
+ npx -y mongodb-mcp-server --readOnly
113
122
  ```
114
123
 
115
124
  You can use environment variables in the config file or set them and run the server via npx.
@@ -137,6 +146,7 @@ docker run --rm -i \
137
146
  ```shell
138
147
  docker run --rm -i \
139
148
  -e MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" \
149
+ -e MDB_MCP_READ_ONLY="true" \
140
150
  mongodb/mongodb-mcp-server:latest
141
151
  ```
142
152
 
@@ -146,6 +156,7 @@ docker run --rm -i \
146
156
  docker run --rm -i \
147
157
  -e MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id" \
148
158
  -e MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret" \
159
+ -e MDB_MCP_READ_ONLY="true" \
149
160
  mongodb/mongodb-mcp-server:latest
150
161
  ```
151
162
 
@@ -158,7 +169,14 @@ Without options:
158
169
  "mcpServers": {
159
170
  "MongoDB": {
160
171
  "command": "docker",
161
- "args": ["run", "--rm", "-i", "mongodb/mongodb-mcp-server:latest"]
172
+ "args": [
173
+ "run",
174
+ "--rm",
175
+ "-e",
176
+ "MDB_MCP_READ_ONLY=true",
177
+ "-i",
178
+ "mongodb/mongodb-mcp-server:latest"
179
+ ]
162
180
  }
163
181
  }
164
182
  }
@@ -177,6 +195,8 @@ With connection string:
177
195
  "-i",
178
196
  "-e",
179
197
  "MDB_MCP_CONNECTION_STRING=mongodb+srv://username:password@cluster.mongodb.net/myDatabase",
198
+ "-e",
199
+ "MDB_MCP_READ_ONLY=true",
180
200
  "mongodb/mongodb-mcp-server:latest"
181
201
  ]
182
202
  }
@@ -196,6 +216,8 @@ With Atlas API credentials:
196
216
  "--rm",
197
217
  "-i",
198
218
  "-e",
219
+ "MDB_MCP_READ_ONLY=true",
220
+ "-e",
199
221
  "MDB_MCP_API_CLIENT_ID=your-atlas-service-accounts-client-id",
200
222
  "-e",
201
223
  "MDB_MCP_API_CLIENT_SECRET=your-atlas-service-accounts-client-secret",
@@ -206,6 +228,39 @@ With Atlas API credentials:
206
228
  }
207
229
  ```
208
230
 
231
+ #### Option 6: Running as an HTTP Server
232
+
233
+ > **⚠️ 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.**
234
+
235
+ **Suggested Security Measures Examples:**
236
+
237
+ - Implement authentication (e.g., API gateway, reverse proxy)
238
+ - Use HTTPS/TLS encryption
239
+ - Deploy behind a firewall or in private networks
240
+ - Implement rate limiting
241
+ - Never expose directly to the internet
242
+
243
+ For more details, see [MCP Security Best Practices](https://modelcontextprotocol.io/docs/concepts/transports#security-considerations).
244
+
245
+ 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.
246
+
247
+ To start the server with HTTP transport, use the `--transport http` option:
248
+
249
+ ```shell
250
+ npx -y mongodb-mcp-server --transport http
251
+ ```
252
+
253
+ 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:
254
+
255
+ ```shell
256
+ npx -y mongodb-mcp-server --transport http --httpHost=0.0.0.0 --httpPort=8080
257
+ ```
258
+
259
+ - `--httpHost` (default: 127.0.0.1): The host to bind the HTTP server.
260
+ - `--httpPort` (default: 3000): The port number for the HTTP server.
261
+
262
+ > **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.
263
+
209
264
  ## 🛠️ Supported Tools
210
265
 
211
266
  ### Tool List
@@ -259,22 +314,55 @@ The MongoDB MCP Server can be configured using multiple methods, with the follow
259
314
 
260
315
  ### Configuration Options
261
316
 
262
- | Option | Description |
263
- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
264
- | `apiClientId` | Atlas API client ID for authentication. Required for running Atlas tools. |
265
- | `apiClientSecret` | Atlas API client secret for authentication. Required for running Atlas tools. |
266
- | `connectionString` | MongoDB connection string for direct database connections. Optional, if not set, you'll need to call the `connect` tool before interacting with MongoDB data. |
267
- | `logPath` | Folder to store logs. |
268
- | `disabledTools` | An array of tool names, operation types, and/or categories of tools that will be disabled. |
269
- | `readOnly` | When set to true, only allows read and metadata operation types, disabling create/update/delete operations. |
270
- | `telemetry` | When set to disabled, disables telemetry collection. |
317
+ | CLI Option | Environment Variable | Default | Description |
318
+ | ----------------------- | --------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
319
+ | `apiClientId` | `MDB_MCP_API_CLIENT_ID` | <not set> | Atlas API client ID for authentication. Required for running Atlas tools. |
320
+ | `apiClientSecret` | `MDB_MCP_API_CLIENT_SECRET` | <not set> | Atlas API client secret for authentication. Required for running Atlas tools. |
321
+ | `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. |
322
+ | `loggers` | `MDB_MCP_LOGGERS` | disk,mcp | Comma separated values, possible values are `mcp`, `disk` and `stderr`. See [Logger Options](#logger-options) for details. |
323
+ | `logPath` | `MDB_MCP_LOG_PATH` | see note\* | Folder to store logs. |
324
+ | `disabledTools` | `MDB_MCP_DISABLED_TOOLS` | <not set> | An array of tool names, operation types, and/or categories of tools that will be disabled. |
325
+ | `readOnly` | `MDB_MCP_READ_ONLY` | false | When set to true, only allows read, connect, and metadata operation types, disabling create/update/delete operations. |
326
+ | `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. |
327
+ | `telemetry` | `MDB_MCP_TELEMETRY` | enabled | When set to disabled, disables telemetry collection. |
328
+ | `transport` | `MDB_MCP_TRANSPORT` | stdio | Either 'stdio' or 'http'. |
329
+ | `httpPort` | `MDB_MCP_HTTP_PORT` | 3000 | Port number. |
330
+ | `httpHost` | `MDB_MCP_HTTP_HOST` | 127.0.0.1 | Host to bind the http server. |
331
+ | `idleTimeoutMs` | `MDB_MCP_IDLE_TIMEOUT_MS` | 600000 | Idle timeout for a client to disconnect (only applies to http transport). |
332
+ | `notificationTimeoutMs` | `MDB_MCP_NOTIFICATION_TIMEOUT_MS` | 540000 | Notification timeout for a client to be aware of diconnect (only applies to http transport). |
333
+
334
+ #### Logger Options
335
+
336
+ 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:
337
+
338
+ - `mcp`: Sends logs to the MCP client (if supported by the client/transport).
339
+ - `disk`: Writes logs to disk files. Log files are stored in the log path (see `logPath` above).
340
+ - `stderr`: Outputs logs to standard error (stderr), useful for debugging or when running in containers.
341
+
342
+ **Default:** `disk,mcp` (logs are written to disk and sent to the MCP client).
343
+
344
+ You can combine multiple loggers, e.g. `--loggers disk stderr` or `export MDB_MCP_LOGGERS="mcp,stderr"`.
271
345
 
272
- #### Log Path
346
+ ##### Example: Set logger via environment variable
273
347
 
274
- Default log location is as follows:
348
+ ```shell
349
+ export MDB_MCP_LOGGERS="disk,stderr"
350
+ ```
351
+
352
+ ##### Example: Set logger via command-line argument
353
+
354
+ ```shell
355
+ npx -y mongodb-mcp-server --loggers mcp stderr
356
+ ```
275
357
 
276
- - Windows: `%LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs`
277
- - macOS/Linux: `~/.mongodb/mongodb-mcp/.app-logs`
358
+ ##### Log File Location
359
+
360
+ When using the `disk` logger, log files are stored in:
361
+
362
+ - **Windows:** `%LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs`
363
+ - **macOS/Linux:** `~/.mongodb/mongodb-mcp/.app-logs`
364
+
365
+ You can override the log directory with the `logPath` option.
278
366
 
279
367
  #### Disabled Tools
280
368
 
@@ -298,10 +386,11 @@ Operation types:
298
386
  - `delete` - Tools that delete resources, such as delete document, drop collection, etc.
299
387
  - `read` - Tools that read resources, such as find, aggregate, list clusters, etc.
300
388
  - `metadata` - Tools that read metadata, such as list databases, list collections, collection schema, etc.
389
+ - `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.
301
390
 
302
391
  #### Read-Only Mode
303
392
 
304
- The `readOnly` configuration option allows you to restrict the MCP server to only use tools with "read" and "metadata" operation types. When enabled, all tools that have "create", "update" or "delete" operation types will not be registered with the server.
393
+ 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.
305
394
 
306
395
  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.
307
396
 
@@ -312,6 +401,19 @@ You can enable read-only mode using:
312
401
 
313
402
  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.
314
403
 
404
+ #### Index Check Mode
405
+
406
+ 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.
407
+
408
+ This is useful for scenarios where you want to ensure that database queries are optimized.
409
+
410
+ You can enable index check mode using:
411
+
412
+ - **Environment variable**: `export MDB_MCP_INDEX_CHECK=true`
413
+ - **Command-line argument**: `--indexCheck`
414
+
415
+ When index check mode is active, you'll see an error message if a query is rejected due to not using an index.
416
+
315
417
  #### Telemetry
316
418
 
317
419
  The `telemetry` configuration option allows you to disable telemetry collection. When enabled, the MCP server will collect usage data and send it to MongoDB.
@@ -329,7 +431,6 @@ To use the Atlas API tools, you'll need to create a service account in MongoDB A
329
431
  > **ℹ️ Note:** For a detailed breakdown of the minimum required permissions for each Atlas operation, see the [Atlas API Permissions](#atlas-api-permissions) section below.
330
432
 
331
433
  1. **Create a Service Account:**
332
-
333
434
  - Log in to MongoDB Atlas at [cloud.mongodb.com](https://cloud.mongodb.com)
334
435
  - Navigate to Access Manager > Organization Access
335
436
  - Click Add New > Applications > Service Accounts
@@ -341,12 +442,10 @@ To use the Atlas API tools, you'll need to create a service account in MongoDB A
341
442
  To learn more about Service Accounts, check the [MongoDB Atlas documentation](https://www.mongodb.com/docs/atlas/api/service-accounts-overview/).
342
443
 
343
444
  2. **Save Client Credentials:**
344
-
345
445
  - After creation, you'll be shown the Client ID and Client Secret
346
446
  - **Important:** Copy and save the Client Secret immediately as it won't be displayed again
347
447
 
348
448
  3. **Add Access List Entry:**
349
-
350
449
  - Add your IP address to the API access list
351
450
 
352
451
  4. **Configure the MCP Server:**
@@ -430,7 +529,7 @@ export MDB_MCP_LOG_PATH="/path/to/logs"
430
529
  Pass configuration options as command-line arguments when starting the server:
431
530
 
432
531
  ```shell
433
- npx -y mongodb-mcp-server --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
532
+ npx -y mongodb-mcp-server --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
434
533
  ```
435
534
 
436
535
  #### MCP configuration file examples
@@ -446,7 +545,8 @@ npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id"
446
545
  "-y",
447
546
  "mongodb-mcp-server",
448
547
  "--connectionString",
449
- "mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
548
+ "mongodb+srv://username:password@cluster.mongodb.net/myDatabase",
549
+ "--readOnly"
450
550
  ]
451
551
  }
452
552
  }
@@ -466,13 +566,14 @@ npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id"
466
566
  "--apiClientId",
467
567
  "your-atlas-service-accounts-client-id",
468
568
  "--apiClientSecret",
469
- "your-atlas-service-accounts-client-secret"
569
+ "your-atlas-service-accounts-client-secret",
570
+ "--readOnly"
470
571
  ]
471
572
  }
472
573
  }
473
574
  }
474
575
  ```
475
576
 
476
- ## 🤝 Contributing
577
+ ## 🤝Contributing
477
578
 
478
579
  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,36 @@
1
+ import logger, { LogId } from "../logger.js";
2
+ import { ApiClientError } from "./apiClientError.js";
3
+ export const DEFAULT_ACCESS_LIST_COMMENT = "Added by MongoDB MCP Server to enable tool access";
4
+ export async function makeCurrentIpAccessListEntry(apiClient, projectId, comment = DEFAULT_ACCESS_LIST_COMMENT) {
5
+ const { currentIpv4Address } = await apiClient.getIpInfo();
6
+ return {
7
+ groupId: projectId,
8
+ ipAddress: currentIpv4Address,
9
+ comment,
10
+ };
11
+ }
12
+ /**
13
+ * Ensures the current public IP is in the access list for the given Atlas project.
14
+ * If the IP is already present, this is a no-op.
15
+ * @param apiClient The Atlas API client instance
16
+ * @param projectId The Atlas project ID
17
+ */
18
+ export async function ensureCurrentIpInAccessList(apiClient, projectId) {
19
+ const entry = await makeCurrentIpAccessListEntry(apiClient, projectId, DEFAULT_ACCESS_LIST_COMMENT);
20
+ try {
21
+ await apiClient.createProjectIpAccessList({
22
+ params: { path: { groupId: projectId } },
23
+ body: [entry],
24
+ });
25
+ logger.debug(LogId.atlasIpAccessListAdded, "accessListUtils", `IP access list created: ${JSON.stringify(entry)}`);
26
+ }
27
+ catch (err) {
28
+ if (err instanceof ApiClientError && err.response?.status === 409) {
29
+ // 409 Conflict: entry already exists, log info
30
+ logger.debug(LogId.atlasIpAccessListAdded, "accessListUtils", `IP address ${entry.ipAddress} is already present in the access list for project ${projectId}.`);
31
+ return;
32
+ }
33
+ logger.warning(LogId.atlasIpAccessListAddFailure, "accessListUtils", `Error adding IP access list: ${err instanceof Error ? err.message : String(err)}`);
34
+ }
35
+ }
36
+ //# sourceMappingURL=accessListUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessListUtils.js","sourceRoot":"","sources":["../../../src/common/atlas/accessListUtils.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,2BAA2B,GAAG,mDAAmD,CAAC;AAE/F,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,SAAoB,EACpB,SAAiB,EACjB,UAAkB,2BAA2B;IAE7C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;IAC3D,OAAO;QACH,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,kBAAkB;QAC7B,OAAO;KACV,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,SAAoB,EAAE,SAAiB;IACrF,MAAM,KAAK,GAAG,MAAM,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;IACpG,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,yBAAyB,CAAC;YACtC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;YACxC,IAAI,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CACR,KAAK,CAAC,sBAAsB,EAC5B,iBAAiB,EACjB,2BAA2B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACrD,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,YAAY,cAAc,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAChE,+CAA+C;YAC/C,MAAM,CAAC,KAAK,CACR,KAAK,CAAC,sBAAsB,EAC5B,iBAAiB,EACjB,cAAc,KAAK,CAAC,SAAS,sDAAsD,SAAS,GAAG,CAClG,CAAC;YACF,OAAO;QACX,CAAC;QACD,MAAM,CAAC,OAAO,CACV,KAAK,CAAC,2BAA2B,EACjC,iBAAiB,EACjB,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrF,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -1,15 +1,14 @@
1
1
  import createClient from "openapi-fetch";
2
2
  import { ClientCredentials } from "simple-oauth2";
3
3
  import { ApiClientError } from "./apiClientError.js";
4
- import { packageInfo } from "../../helpers/packageInfo.js";
4
+ import { packageInfo } from "../packageInfo.js";
5
+ import logger, { LogId } from "../logger.js";
5
6
  const ATLAS_API_VERSION = "2025-03-12";
6
7
  export class ApiClient {
7
8
  constructor(options) {
8
9
  this.getAccessToken = async () => {
9
10
  if (this.oauth2Client && (!this.accessToken || this.accessToken.expired())) {
10
- this.accessToken = await this.oauth2Client.getToken({
11
- agent: this.options.userAgent,
12
- });
11
+ this.accessToken = await this.oauth2Client.getToken({});
13
12
  }
14
13
  return this.accessToken?.token.access_token;
15
14
  };
@@ -20,7 +19,9 @@ export class ApiClient {
20
19
  }
21
20
  try {
22
21
  const accessToken = await this.getAccessToken();
23
- request.headers.set("Authorization", `Bearer ${accessToken}`);
22
+ if (accessToken) {
23
+ request.headers.set("Authorization", `Bearer ${accessToken}`);
24
+ }
24
25
  return request;
25
26
  }
26
27
  catch {
@@ -49,17 +50,35 @@ export class ApiClient {
49
50
  auth: {
50
51
  tokenHost: this.options.baseUrl,
51
52
  tokenPath: "/api/oauth/token",
53
+ revokePath: "/api/oauth/revoke",
54
+ },
55
+ http: {
56
+ headers: {
57
+ "User-Agent": this.options.userAgent,
58
+ },
52
59
  },
53
60
  });
54
61
  this.client.use(this.authMiddleware);
55
62
  }
56
63
  }
57
64
  hasCredentials() {
58
- return !!(this.oauth2Client && this.accessToken);
65
+ return !!this.oauth2Client;
59
66
  }
60
67
  async validateAccessToken() {
61
68
  await this.getAccessToken();
62
69
  }
70
+ async close() {
71
+ if (this.accessToken) {
72
+ try {
73
+ await this.accessToken.revoke("access_token");
74
+ }
75
+ catch (error) {
76
+ const err = error instanceof Error ? error : new Error(String(error));
77
+ logger.error(LogId.atlasApiRevokeFailure, "apiClient", `Failed to revoke access token: ${err.message}`);
78
+ }
79
+ this.accessToken = undefined;
80
+ }
81
+ }
63
82
  async getIpInfo() {
64
83
  const accessToken = await this.getAccessToken();
65
84
  const endpoint = "api/private/ipinfo";
@@ -1 +1 @@
1
- {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import logger, { LogId } from "../../logger.js";
1
+ import logger, { LogId } from "../logger.js";
2
2
  export function formatFlexCluster(cluster) {
3
3
  return {
4
4
  name: cluster.name,
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../src/common/atlas/cluster.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAWhD,MAAM,UAAU,iBAAiB,CAAC,OAAuC;IACrE,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,SAAS;QACvB,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,QAAQ;KAClG,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmC;IAC7D,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACjD,GAAG,CACA,CAAC,eAAe,EAAE,EAAE,CAChB,CAAC,eAAe,CAAC,aAAa,IAAI,EAAE,CAWjC,CACV;SACA,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAClB,OAAO;YACH,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,YAAY,EACR,YAAY,CAAC,cAAc,EAAE,YAAY;gBACzC,YAAY,CAAC,aAAa,EAAE,YAAY;gBACxC,YAAY,CAAC,cAAc,EAAE,YAAY;SAChD,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,SAAS,CAAC;IACjE,MAAM,mBAAmB,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAExE,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,mBAAmB;QACjC,YAAY,EAAE,mBAAmB,IAAI,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC3E,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,QAAQ;KAClG,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,SAAiB,EAAE,WAAmB;IAC7F,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC;YACvC,MAAM,EAAE;gBACJ,IAAI,EAAE;oBACF,OAAO,EAAE,SAAS;oBAClB,WAAW;iBACd;aACJ;SACJ,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;gBAC3C,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,OAAO,EAAE,SAAS;wBAClB,IAAI,EAAE,WAAW;qBACpB;iBACJ;aACJ,CAAC,CAAC;YACH,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvG,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../src/common/atlas/cluster.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAW7C,MAAM,UAAU,iBAAiB,CAAC,OAAuC;IACrE,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,SAAS;QACvB,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,QAAQ;KAClG,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmC;IAC7D,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACjD,GAAG,CACA,CAAC,eAAe,EAAE,EAAE,CAChB,CAAC,eAAe,CAAC,aAAa,IAAI,EAAE,CAWjC,CACV;SACA,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAClB,OAAO;YACH,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,YAAY,EACR,YAAY,CAAC,cAAc,EAAE,YAAY;gBACzC,YAAY,CAAC,aAAa,EAAE,YAAY;gBACxC,YAAY,CAAC,cAAc,EAAE,YAAY;SAChD,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,SAAS,CAAC;IACjE,MAAM,mBAAmB,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAExE,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,mBAAmB;QACjC,YAAY,EAAE,mBAAmB,IAAI,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC3E,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,QAAQ;KAClG,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,SAAiB,EAAE,WAAmB;IAC7F,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC;YACvC,MAAM,EAAE;gBACJ,IAAI,EAAE;oBACF,OAAO,EAAE,SAAS;oBAClB,WAAW;iBACd;aACJ;SACJ,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;gBAC3C,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,OAAO,EAAE,SAAS;wBAClB,IAAI,EAAE,WAAW;qBACpB;iBACJ;aACJ,CAAC,CAAC;YACH,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvG,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -13,6 +13,13 @@ const defaults = {
13
13
  disabledTools: [],
14
14
  telemetry: "enabled",
15
15
  readOnly: false,
16
+ indexCheck: false,
17
+ transport: "stdio",
18
+ httpPort: 3000,
19
+ httpHost: "127.0.0.1",
20
+ loggers: ["disk", "mcp"],
21
+ idleTimeoutMs: 600000, // 10 minutes
22
+ notificationTimeoutMs: 540000, // 9 minutes
16
23
  };
17
24
  export const config = {
18
25
  ...defaults,
@@ -76,7 +83,7 @@ function SNAKE_CASE_toCamelCase(str) {
76
83
  // Reads the cli args and parses them into a UserConfig object.
77
84
  function getCliConfig() {
78
85
  return argv(process.argv.slice(2), {
79
- array: ["disabledTools"],
86
+ array: ["disabledTools", "loggers"],
80
87
  });
81
88
  }
82
89
  //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/common/config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export var ErrorCodes;
2
2
  (function (ErrorCodes) {
3
3
  ErrorCodes[ErrorCodes["NotConnectedToMongoDB"] = 1000000] = "NotConnectedToMongoDB";
4
4
  ErrorCodes[ErrorCodes["MisconfiguredConnectionString"] = 1000001] = "MisconfiguredConnectionString";
5
+ ErrorCodes[ErrorCodes["ForbiddenCollscan"] = 1000002] = "ForbiddenCollscan";
5
6
  })(ErrorCodes || (ErrorCodes = {}));
6
7
  export class MongoDBError extends Error {
7
8
  constructor(code, message) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mGAAyC,CAAA;IACzC,2EAA6B,CAAA;AACjC,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACnC,YACW,IAAgB,EACvB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAY;IAI3B,CAAC;CACJ"}