mongodb-mcp-server 1.0.0 → 1.0.2-prerelease.1

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 (168) hide show
  1. package/README.md +25 -23
  2. package/dist/cjs/common/config.d.ts +2 -1
  3. package/dist/cjs/common/config.d.ts.map +1 -1
  4. package/dist/cjs/common/config.js +5 -5
  5. package/dist/cjs/common/config.js.map +1 -1
  6. package/dist/cjs/common/connectionManager.d.ts +1 -10
  7. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  8. package/dist/cjs/common/connectionManager.js +17 -20
  9. package/dist/cjs/common/connectionManager.js.map +1 -1
  10. package/dist/cjs/common/logger.d.ts +2 -5
  11. package/dist/cjs/common/logger.d.ts.map +1 -1
  12. package/dist/cjs/common/logger.js +3 -10
  13. package/dist/cjs/common/logger.js.map +1 -1
  14. package/dist/cjs/common/packageInfo.js +1 -1
  15. package/dist/cjs/common/packageInfo.js.map +1 -1
  16. package/dist/cjs/helpers/collectCursorUntilMaxBytes.d.ts +24 -0
  17. package/dist/cjs/helpers/collectCursorUntilMaxBytes.d.ts.map +1 -0
  18. package/dist/cjs/helpers/collectCursorUntilMaxBytes.js +75 -0
  19. package/dist/cjs/helpers/collectCursorUntilMaxBytes.js.map +1 -0
  20. package/dist/cjs/helpers/constants.d.ts +24 -0
  21. package/dist/cjs/helpers/constants.d.ts.map +1 -0
  22. package/dist/cjs/helpers/constants.js +27 -0
  23. package/dist/cjs/helpers/constants.js.map +1 -0
  24. package/dist/cjs/helpers/isObjectEmpty.d.ts +6 -0
  25. package/dist/cjs/helpers/isObjectEmpty.d.ts.map +1 -0
  26. package/dist/cjs/helpers/isObjectEmpty.js +15 -0
  27. package/dist/cjs/helpers/isObjectEmpty.js.map +1 -0
  28. package/dist/cjs/helpers/operationWithFallback.d.ts +4 -0
  29. package/dist/cjs/helpers/operationWithFallback.d.ts.map +1 -0
  30. package/dist/cjs/helpers/operationWithFallback.js +12 -0
  31. package/dist/cjs/helpers/operationWithFallback.js.map +1 -0
  32. package/dist/cjs/server.d.ts +2 -6
  33. package/dist/cjs/server.d.ts.map +1 -1
  34. package/dist/cjs/server.js +36 -12
  35. package/dist/cjs/server.js.map +1 -1
  36. package/dist/cjs/tools/args.d.ts +1 -0
  37. package/dist/cjs/tools/args.d.ts.map +1 -1
  38. package/dist/cjs/tools/args.js +11 -0
  39. package/dist/cjs/tools/args.js.map +1 -1
  40. package/dist/cjs/tools/mongodb/connect/connect.d.ts +1 -1
  41. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  42. package/dist/cjs/tools/mongodb/connect/connect.js +21 -11
  43. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  44. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +1 -1
  45. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  46. package/dist/cjs/tools/mongodb/create/insertMany.js +2 -1
  47. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  48. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +3 -4
  49. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  50. package/dist/cjs/tools/mongodb/delete/deleteMany.js +2 -4
  51. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  52. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +8 -5
  53. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  54. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +34 -6
  55. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  56. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +51 -17
  57. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  58. package/dist/cjs/tools/mongodb/metadata/explain.js +10 -9
  59. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  60. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +9 -4
  61. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  62. package/dist/cjs/tools/mongodb/read/aggregate.js +99 -14
  63. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  64. package/dist/cjs/tools/mongodb/read/count.d.ts +4 -5
  65. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  66. package/dist/cjs/tools/mongodb/read/count.js +2 -4
  67. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  68. package/dist/cjs/tools/mongodb/read/export.d.ts +36 -10
  69. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  70. package/dist/cjs/tools/mongodb/read/find.d.ts +9 -4
  71. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  72. package/dist/cjs/tools/mongodb/read/find.js +95 -11
  73. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  74. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +2 -2
  75. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  76. package/dist/cjs/tools/mongodb/update/updateMany.js +3 -7
  77. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  78. package/dist/cjs/tools/tool.d.ts +1 -0
  79. package/dist/cjs/tools/tool.d.ts.map +1 -1
  80. package/dist/cjs/tools/tool.js.map +1 -1
  81. package/dist/cjs/transports/stdio.d.ts +0 -9
  82. package/dist/cjs/transports/stdio.d.ts.map +1 -1
  83. package/dist/cjs/transports/stdio.js +2 -40
  84. package/dist/cjs/transports/stdio.js.map +1 -1
  85. package/dist/esm/common/config.d.ts +2 -1
  86. package/dist/esm/common/config.d.ts.map +1 -1
  87. package/dist/esm/common/config.js +4 -4
  88. package/dist/esm/common/config.js.map +1 -1
  89. package/dist/esm/common/connectionManager.d.ts +1 -10
  90. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  91. package/dist/esm/common/connectionManager.js +17 -20
  92. package/dist/esm/common/connectionManager.js.map +1 -1
  93. package/dist/esm/common/logger.d.ts +2 -5
  94. package/dist/esm/common/logger.d.ts.map +1 -1
  95. package/dist/esm/common/logger.js +2 -8
  96. package/dist/esm/common/logger.js.map +1 -1
  97. package/dist/esm/common/packageInfo.js +1 -1
  98. package/dist/esm/common/packageInfo.js.map +1 -1
  99. package/dist/esm/helpers/collectCursorUntilMaxBytes.d.ts +24 -0
  100. package/dist/esm/helpers/collectCursorUntilMaxBytes.d.ts.map +1 -0
  101. package/dist/esm/helpers/collectCursorUntilMaxBytes.js +71 -0
  102. package/dist/esm/helpers/collectCursorUntilMaxBytes.js.map +1 -0
  103. package/dist/esm/helpers/constants.d.ts +24 -0
  104. package/dist/esm/helpers/constants.d.ts.map +1 -0
  105. package/dist/esm/helpers/constants.js +24 -0
  106. package/dist/esm/helpers/constants.js.map +1 -0
  107. package/dist/esm/helpers/isObjectEmpty.d.ts +6 -0
  108. package/dist/esm/helpers/isObjectEmpty.d.ts.map +1 -0
  109. package/dist/esm/helpers/isObjectEmpty.js +12 -0
  110. package/dist/esm/helpers/isObjectEmpty.js.map +1 -0
  111. package/dist/esm/helpers/operationWithFallback.d.ts +4 -0
  112. package/dist/esm/helpers/operationWithFallback.d.ts.map +1 -0
  113. package/dist/esm/helpers/operationWithFallback.js +9 -0
  114. package/dist/esm/helpers/operationWithFallback.js.map +1 -0
  115. package/dist/esm/server.d.ts +2 -6
  116. package/dist/esm/server.d.ts.map +1 -1
  117. package/dist/esm/server.js +36 -12
  118. package/dist/esm/server.js.map +1 -1
  119. package/dist/esm/tools/args.d.ts +1 -0
  120. package/dist/esm/tools/args.d.ts.map +1 -1
  121. package/dist/esm/tools/args.js +10 -0
  122. package/dist/esm/tools/args.js.map +1 -1
  123. package/dist/esm/tools/mongodb/connect/connect.d.ts +1 -1
  124. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  125. package/dist/esm/tools/mongodb/connect/connect.js +21 -11
  126. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  127. package/dist/esm/tools/mongodb/create/insertMany.d.ts +1 -1
  128. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  129. package/dist/esm/tools/mongodb/create/insertMany.js +2 -1
  130. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  131. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +3 -4
  132. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  133. package/dist/esm/tools/mongodb/delete/deleteMany.js +2 -4
  134. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  135. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +8 -5
  136. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  137. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +31 -6
  138. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  139. package/dist/esm/tools/mongodb/metadata/explain.d.ts +51 -17
  140. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  141. package/dist/esm/tools/mongodb/metadata/explain.js +10 -9
  142. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  143. package/dist/esm/tools/mongodb/read/aggregate.d.ts +9 -4
  144. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  145. package/dist/esm/tools/mongodb/read/aggregate.js +99 -14
  146. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  147. package/dist/esm/tools/mongodb/read/count.d.ts +4 -5
  148. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  149. package/dist/esm/tools/mongodb/read/count.js +2 -4
  150. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  151. package/dist/esm/tools/mongodb/read/export.d.ts +36 -10
  152. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  153. package/dist/esm/tools/mongodb/read/find.d.ts +9 -4
  154. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  155. package/dist/esm/tools/mongodb/read/find.js +95 -11
  156. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  157. package/dist/esm/tools/mongodb/update/updateMany.d.ts +2 -2
  158. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  159. package/dist/esm/tools/mongodb/update/updateMany.js +3 -7
  160. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  161. package/dist/esm/tools/tool.d.ts +1 -0
  162. package/dist/esm/tools/tool.d.ts.map +1 -1
  163. package/dist/esm/tools/tool.js.map +1 -1
  164. package/dist/esm/transports/stdio.d.ts +0 -9
  165. package/dist/esm/transports/stdio.d.ts.map +1 -1
  166. package/dist/esm/transports/stdio.js +1 -37
  167. package/dist/esm/transports/stdio.js.map +1 -1
  168. package/package.json +14 -15
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResponseBytesLimit = getResponseBytesLimit;
4
+ exports.collectCursorUntilMaxBytesLimit = collectCursorUntilMaxBytesLimit;
5
+ const bson_1 = require("bson");
6
+ function getResponseBytesLimit(toolResponseBytesLimit, configuredMaxBytesPerQuery) {
7
+ const configuredLimit = parseInt(String(configuredMaxBytesPerQuery), 10);
8
+ // Setting configured maxBytesPerQuery to negative, zero or nullish is
9
+ // equivalent to disabling the max limit applied on documents
10
+ const configuredLimitIsNotApplicable = Number.isNaN(configuredLimit) || configuredLimit <= 0;
11
+ // It's possible to have tool parameter responseBytesLimit as null or
12
+ // negative values in which case we consider that no limit is to be
13
+ // applied from tool call perspective unless we have a maxBytesPerQuery
14
+ // configured.
15
+ const toolResponseLimitIsNotApplicable = typeof toolResponseBytesLimit !== "number" || toolResponseBytesLimit <= 0;
16
+ if (configuredLimitIsNotApplicable) {
17
+ return {
18
+ cappedBy: toolResponseLimitIsNotApplicable ? undefined : "tool.responseBytesLimit",
19
+ limit: toolResponseLimitIsNotApplicable ? 0 : toolResponseBytesLimit,
20
+ };
21
+ }
22
+ if (toolResponseLimitIsNotApplicable) {
23
+ return { cappedBy: "config.maxBytesPerQuery", limit: configuredLimit };
24
+ }
25
+ return {
26
+ cappedBy: configuredLimit < toolResponseBytesLimit ? "config.maxBytesPerQuery" : "tool.responseBytesLimit",
27
+ limit: Math.min(toolResponseBytesLimit, configuredLimit),
28
+ };
29
+ }
30
+ /**
31
+ * This function attempts to put a guard rail against accidental memory overflow
32
+ * on the MCP server.
33
+ *
34
+ * The cursor is iterated until we can predict that fetching next doc won't
35
+ * exceed the derived limit on number of bytes for the tool call. The derived
36
+ * limit takes into account the limit provided from the Tool's interface and the
37
+ * configured maxBytesPerQuery for the server.
38
+ */
39
+ async function collectCursorUntilMaxBytesLimit({ cursor, toolResponseBytesLimit, configuredMaxBytesPerQuery, abortSignal, }) {
40
+ const { limit: maxBytesPerQuery, cappedBy } = getResponseBytesLimit(toolResponseBytesLimit, configuredMaxBytesPerQuery);
41
+ // It's possible to have no limit on the cursor response by setting both the
42
+ // config.maxBytesPerQuery and tool.responseBytesLimit to nullish or
43
+ // negative values.
44
+ if (maxBytesPerQuery <= 0) {
45
+ return {
46
+ cappedBy,
47
+ documents: await cursor.toArray(),
48
+ };
49
+ }
50
+ let wasCapped = false;
51
+ let totalBytes = 0;
52
+ const bufferedDocuments = [];
53
+ while (true) {
54
+ if (abortSignal?.aborted) {
55
+ break;
56
+ }
57
+ // If the cursor is empty then there is nothing for us to do anymore.
58
+ const nextDocument = await cursor.tryNext();
59
+ if (!nextDocument) {
60
+ break;
61
+ }
62
+ const nextDocumentSize = (0, bson_1.calculateObjectSize)(nextDocument);
63
+ if (totalBytes + nextDocumentSize >= maxBytesPerQuery) {
64
+ wasCapped = true;
65
+ break;
66
+ }
67
+ totalBytes += nextDocumentSize;
68
+ bufferedDocuments.push(nextDocument);
69
+ }
70
+ return {
71
+ cappedBy: wasCapped ? cappedBy : undefined,
72
+ documents: bufferedDocuments,
73
+ };
74
+ }
75
+ //# sourceMappingURL=collectCursorUntilMaxBytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectCursorUntilMaxBytes.js","sourceRoot":"","sources":["../../../src/helpers/collectCursorUntilMaxBytes.ts"],"names":[],"mappings":";;AAGA,sDAkCC;AAWD,0EAsDC;AAtGD,+BAA2C;AAG3C,SAAgB,qBAAqB,CACjC,sBAAiD,EACjD,0BAAmC;IAKnC,MAAM,eAAe,GAAW,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjF,sEAAsE;IACtE,6DAA6D;IAC7D,MAAM,8BAA8B,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;IAE7F,qEAAqE;IACrE,mEAAmE;IACnE,uEAAuE;IACvE,cAAc;IACd,MAAM,gCAAgC,GAAG,OAAO,sBAAsB,KAAK,QAAQ,IAAI,sBAAsB,IAAI,CAAC,CAAC;IAEnH,IAAI,8BAA8B,EAAE,CAAC;QACjC,OAAO;YACH,QAAQ,EAAE,gCAAgC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB;YAClF,KAAK,EAAE,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;SACvE,CAAC;IACN,CAAC;IAED,IAAI,gCAAgC,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAC3E,CAAC;IAED,OAAO;QACH,QAAQ,EAAE,eAAe,GAAG,sBAAsB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,yBAAyB;QAC1G,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC3D,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,+BAA+B,CAAc,EAC/D,MAAM,EACN,sBAAsB,EACtB,0BAA0B,EAC1B,WAAW,GAMd;IACG,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAC/D,sBAAsB,EACtB,0BAA0B,CAC7B,CAAC;IAEF,4EAA4E;IAC5E,oEAAoE;IACpE,mBAAmB;IACnB,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO;YACH,QAAQ;YACR,SAAS,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE;SACpC,CAAC;IACN,CAAC;IAED,IAAI,SAAS,GAAY,KAAK,CAAC;IAC/B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,iBAAiB,GAAQ,EAAE,CAAC;IAClC,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACvB,MAAM;QACV,CAAC;QAED,qEAAqE;QACrE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM;QACV,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,0BAAmB,EAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,UAAU,GAAG,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;YACpD,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACV,CAAC;QAED,UAAU,IAAI,gBAAgB,CAAC;QAC/B,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC1C,SAAS,EAAE,iBAAiB;KAC/B,CAAC;AACN,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * A cap for the maxTimeMS used for FindCursor.countDocuments.
3
+ *
4
+ * The number is relatively smaller because we expect the count documents query
5
+ * to be finished sooner if not by the time the batch of documents is retrieved
6
+ * so that count documents query don't hold the final response back.
7
+ */
8
+ export declare const QUERY_COUNT_MAX_TIME_MS_CAP: number;
9
+ /**
10
+ * A cap for the maxTimeMS used for counting resulting documents of an
11
+ * aggregation.
12
+ */
13
+ export declare const AGG_COUNT_MAX_TIME_MS_CAP: number;
14
+ export declare const ONE_MB: number;
15
+ /**
16
+ * A map of applied limit on cursors to a text that is supposed to be sent as
17
+ * response to LLM
18
+ */
19
+ export declare const CURSOR_LIMITS_TO_LLM_TEXT: {
20
+ readonly "config.maxDocumentsPerQuery": "server's configured - maxDocumentsPerQuery";
21
+ readonly "config.maxBytesPerQuery": "server's configured - maxBytesPerQuery";
22
+ readonly "tool.responseBytesLimit": "tool's parameter - responseBytesLimit";
23
+ };
24
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/helpers/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAe,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAe,CAAC;AAExD,eAAO,MAAM,MAAM,EAAE,MAAwB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CURSOR_LIMITS_TO_LLM_TEXT = exports.ONE_MB = exports.AGG_COUNT_MAX_TIME_MS_CAP = exports.QUERY_COUNT_MAX_TIME_MS_CAP = void 0;
4
+ /**
5
+ * A cap for the maxTimeMS used for FindCursor.countDocuments.
6
+ *
7
+ * The number is relatively smaller because we expect the count documents query
8
+ * to be finished sooner if not by the time the batch of documents is retrieved
9
+ * so that count documents query don't hold the final response back.
10
+ */
11
+ exports.QUERY_COUNT_MAX_TIME_MS_CAP = 10000;
12
+ /**
13
+ * A cap for the maxTimeMS used for counting resulting documents of an
14
+ * aggregation.
15
+ */
16
+ exports.AGG_COUNT_MAX_TIME_MS_CAP = 60000;
17
+ exports.ONE_MB = 1 * 1024 * 1024;
18
+ /**
19
+ * A map of applied limit on cursors to a text that is supposed to be sent as
20
+ * response to LLM
21
+ */
22
+ exports.CURSOR_LIMITS_TO_LLM_TEXT = {
23
+ "config.maxDocumentsPerQuery": "server's configured - maxDocumentsPerQuery",
24
+ "config.maxBytesPerQuery": "server's configured - maxBytesPerQuery",
25
+ "tool.responseBytesLimit": "tool's parameter - responseBytesLimit",
26
+ };
27
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/helpers/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,2BAA2B,GAAW,KAAM,CAAC;AAE1D;;;GAGG;AACU,QAAA,yBAAyB,GAAW,KAAM,CAAC;AAE3C,QAAA,MAAM,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C;;;GAGG;AACU,QAAA,yBAAyB,GAAG;IACrC,6BAA6B,EAAE,4CAA4C;IAC3E,yBAAyB,EAAE,wCAAwC;IACnE,yBAAyB,EAAE,uCAAuC;CAC5D,CAAC"}
@@ -0,0 +1,6 @@
1
+ type EmptyObject = {
2
+ [x: string]: never;
3
+ } | null | undefined;
4
+ export declare function isObjectEmpty(value: object | null | undefined): value is EmptyObject;
5
+ export {};
6
+ //# sourceMappingURL=isObjectEmpty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isObjectEmpty.d.ts","sourceRoot":"","sources":["../../../src/helpers/isObjectEmpty.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,WAAW,CAYpF"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isObjectEmpty = isObjectEmpty;
4
+ function isObjectEmpty(value) {
5
+ if (!value) {
6
+ return true;
7
+ }
8
+ for (const prop in value) {
9
+ if (Object.prototype.hasOwnProperty.call(value, prop)) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
15
+ //# sourceMappingURL=isObjectEmpty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isObjectEmpty.js","sourceRoot":"","sources":["../../../src/helpers/isObjectEmpty.ts"],"names":[],"mappings":";;AAEA,sCAYC;AAZD,SAAgB,aAAa,CAAC,KAAgC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ type OperationCallback<OperationResult> = () => Promise<OperationResult>;
2
+ export declare function operationWithFallback<OperationResult, FallbackValue>(performOperation: OperationCallback<OperationResult>, fallback: FallbackValue): Promise<OperationResult | FallbackValue>;
3
+ export {};
4
+ //# sourceMappingURL=operationWithFallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationWithFallback.d.ts","sourceRoot":"","sources":["../../../src/helpers/operationWithFallback.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,CAAC,eAAe,IAAI,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;AAEzE,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,aAAa,EACtE,gBAAgB,EAAE,iBAAiB,CAAC,eAAe,CAAC,EACpD,QAAQ,EAAE,aAAa,GACxB,OAAO,CAAC,eAAe,GAAG,aAAa,CAAC,CAM1C"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.operationWithFallback = operationWithFallback;
4
+ async function operationWithFallback(performOperation, fallback) {
5
+ try {
6
+ return await performOperation();
7
+ }
8
+ catch {
9
+ return fallback;
10
+ }
11
+ }
12
+ //# sourceMappingURL=operationWithFallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationWithFallback.js","sourceRoot":"","sources":["../../../src/helpers/operationWithFallback.ts"],"names":[],"mappings":";;AAEA,sDASC;AATM,KAAK,UAAU,qBAAqB,CACvC,gBAAoD,EACpD,QAAuB;IAEvB,IAAI,CAAC;QACD,OAAO,MAAM,gBAAgB,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,QAAQ,CAAC;IACpB,CAAC;AACL,CAAC"}
@@ -32,15 +32,11 @@ export declare class Server {
32
32
  close(): Promise<void>;
33
33
  sendResourceListChanged(): void;
34
34
  sendResourceUpdated(uri: string): void;
35
- /**
36
- * Emits a server event
37
- * @param command - The server command (e.g., "start", "stop", "register", "deregister")
38
- * @param additionalProperties - Additional properties specific to the event
39
- */
40
- private emitServerEvent;
35
+ private emitServerTelemetryEvent;
41
36
  private registerTools;
42
37
  private registerResources;
43
38
  private validateConfig;
39
+ private getInstructions;
44
40
  private connectToConfigConnectionString;
45
41
  }
46
42
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,sBAAsB,EAAE,sBAAsB,CAAC;CAClD;AAED,qBAAa,MAAM;IACf,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,WAAW,EAAE,WAAW,CAAC;IACzC,SAAgB,KAAK,EAAE,QAAQ,EAAE,CAAM;IACvC,SAAgB,sBAAsB,EAAE,sBAAsB,CAAC;IAE/D,OAAO,CAAC,YAAY,CAAqB;IAEzC,IAAW,WAAW,IAAI,QAAQ,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,EAAE,aAAa;IAUvG,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyF5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,uBAAuB,IAAI,IAAI;IAI/B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM7C;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,iBAAiB;YAOX,cAAc;YAiCd,+BAA+B;CAqBhD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,sBAAsB,EAAE,sBAAsB,CAAC;CAClD;AAED,qBAAa,MAAM;IACf,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,WAAW,EAAE,WAAW,CAAC;IACzC,SAAgB,KAAK,EAAE,QAAQ,EAAE,CAAM;IACvC,SAAgB,sBAAsB,EAAE,sBAAsB,CAAC;IAE/D,OAAO,CAAC,YAAY,CAAqB;IAEzC,IAAW,WAAW,IAAI,QAAQ,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,EAAE,aAAa;IAUvG,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA4F5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,uBAAuB,IAAI,IAAI;IAI/B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAY7C,OAAO,CAAC,wBAAwB;IA8BhC,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,iBAAiB;YAOX,cAAc;IAwC5B,OAAO,CAAC,eAAe;YAkBT,+BAA+B;CAqBhD"}
@@ -29,11 +29,15 @@ class Server {
29
29
  this.connectionErrorHandler = connectionErrorHandler;
30
30
  }
31
31
  async connect(transport) {
32
- // Resources are now reactive, so we register them ASAP so they can listen to events like
32
+ await this.validateConfig();
33
+ // Register resources after the server is initialized so they can listen to events like
33
34
  // connection events.
34
35
  this.registerResources();
35
- await this.validateConfig();
36
- this.mcpServer.server.registerCapabilities({ logging: {}, resources: { listChanged: true, subscribe: true } });
36
+ this.mcpServer.server.registerCapabilities({
37
+ logging: {},
38
+ resources: { listChanged: true, subscribe: true },
39
+ instructions: this.getInstructions(),
40
+ });
37
41
  // TODO: Eventually we might want to make tools reactive too instead of relying on custom logic.
38
42
  this.registerTools();
39
43
  // This is a workaround for an issue we've seen with some models, where they'll see that everything in the `arguments`
@@ -84,15 +88,15 @@ class Server {
84
88
  context: "server",
85
89
  message: `Server with version ${packageInfo_js_1.packageInfo.version} started with transport ${transport.constructor.name} and agent runner ${JSON.stringify(this.session.mcpClient)}`,
86
90
  });
87
- this.emitServerEvent("start", Date.now() - this.startTime);
91
+ this.emitServerTelemetryEvent("start", Date.now() - this.startTime);
88
92
  };
89
93
  this.mcpServer.server.onclose = () => {
90
94
  const closeTime = Date.now();
91
- this.emitServerEvent("stop", Date.now() - closeTime);
95
+ this.emitServerTelemetryEvent("stop", Date.now() - closeTime);
92
96
  };
93
97
  this.mcpServer.server.onerror = (error) => {
94
98
  const closeTime = Date.now();
95
- this.emitServerEvent("stop", Date.now() - closeTime, error);
99
+ this.emitServerTelemetryEvent("stop", Date.now() - closeTime, error);
96
100
  };
97
101
  await this.mcpServer.connect(transport);
98
102
  }
@@ -105,16 +109,16 @@ class Server {
105
109
  this.mcpServer.sendResourceListChanged();
106
110
  }
107
111
  sendResourceUpdated(uri) {
112
+ this.session.logger.info({
113
+ id: logger_js_1.LogId.resourceUpdateFailure,
114
+ context: "resources",
115
+ message: `Resource updated: ${uri}`,
116
+ });
108
117
  if (this.subscriptions.has(uri)) {
109
118
  void this.mcpServer.server.sendResourceUpdated({ uri });
110
119
  }
111
120
  }
112
- /**
113
- * Emits a server event
114
- * @param command - The server command (e.g., "start", "stop", "register", "deregister")
115
- * @param additionalProperties - Additional properties specific to the event
116
- */
117
- emitServerEvent(command, commandDuration, error) {
121
+ emitServerTelemetryEvent(command, commandDuration, error) {
118
122
  const event = {
119
123
  timestamp: new Date().toISOString(),
120
124
  source: "mdbmcp",
@@ -175,6 +179,11 @@ class Server {
175
179
  // Validate API client credentials
176
180
  if (this.userConfig.apiClientId && this.userConfig.apiClientSecret) {
177
181
  try {
182
+ if (!this.userConfig.apiBaseUrl.startsWith("https://")) {
183
+ const message = "Failed to validate MongoDB Atlas the credentials from config: apiBaseUrl must start with https://";
184
+ console.error(message);
185
+ throw new Error(message);
186
+ }
178
187
  await this.session.apiClient.validateAccessToken();
179
188
  }
180
189
  catch (error) {
@@ -186,6 +195,21 @@ class Server {
186
195
  }
187
196
  }
188
197
  }
198
+ getInstructions() {
199
+ let instructions = `
200
+ This is the MongoDB MCP server.
201
+ `;
202
+ if (this.userConfig.connectionString) {
203
+ instructions += `
204
+ This MCP server was configured with a MongoDB connection string, and you can assume that you are connected to a MongoDB cluster.
205
+ `;
206
+ }
207
+ if (this.userConfig.apiClientId && this.userConfig.apiClientSecret) {
208
+ instructions += `
209
+ This MCP server was configured with MongoDB Atlas API credentials.`;
210
+ }
211
+ return instructions;
212
+ }
189
213
  async connectToConfigConnectionString() {
190
214
  if (this.userConfig.connectionString) {
191
215
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,5 @@ export declare const AtlasArgs: {
19
19
  region: () => z.ZodString;
20
20
  password: () => z.ZodString;
21
21
  };
22
+ export declare function zEJSON(): z.AnyZodObject;
22
23
  //# sourceMappingURL=args.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAGxC,eAAO,MAAM,gBAAgB,gEAAgE,CAAC;AAG9F,eAAO,MAAM,iCAAiC,+EACkC,CAAC;AAGjF,eAAO,MAAM,+BAA+B,uEAAuE,CAAC;AAGpH,eAAO,MAAM,qCAAqC,wEACuB,CAAC;AAG1E,eAAO,MAAM,qCAAqC,qJACoG,CAAC;AACvJ,eAAO,MAAM,UAAU;kBACP,SAAS;0BAEC,MAAM,KAAG,CAAC,CAAC,SAAS;CAM7C,CAAC;AAEF,eAAO,MAAM,SAAS;qBACH,CAAC,CAAC,SAAS;0BAEN,CAAC,CAAC,SAAS;uBAEd,CAAC,CAAC,SAAS;uBAOX,CAAC,CAAC,SAAS;oBAOd,CAAC,CAAC,SAAS;qBAOV,CAAC,CAAC,SAAS;qBAEX,CAAC,CAAC,SAAS;kBAEd,CAAC,CAAC,SAAS;oBAOT,CAAC,CAAC,SAAS;CAE5B,CAAC"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAIxC,eAAO,MAAM,gBAAgB,gEAAgE,CAAC;AAG9F,eAAO,MAAM,iCAAiC,+EACkC,CAAC;AAGjF,eAAO,MAAM,+BAA+B,uEAAuE,CAAC;AAGpH,eAAO,MAAM,qCAAqC,wEACuB,CAAC;AAG1E,eAAO,MAAM,qCAAqC,qJACoG,CAAC;AACvJ,eAAO,MAAM,UAAU;kBACP,SAAS;0BAEC,MAAM,KAAG,CAAC,CAAC,SAAS;CAM7C,CAAC;AAEF,eAAO,MAAM,SAAS;qBACH,CAAC,CAAC,SAAS;0BAEN,CAAC,CAAC,SAAS;uBAEd,CAAC,CAAC,SAAS;uBAOX,CAAC,CAAC,SAAS;oBAOd,CAAC,CAAC,SAAS;qBAOV,CAAC,CAAC,SAAS;qBAEX,CAAC,CAAC,SAAS;kBAEd,CAAC,CAAC,SAAS;oBAOT,CAAC,CAAC,SAAS;CAE5B,CAAC;AAUF,wBAAgB,MAAM,IAAI,CAAC,CAAC,YAAY,CAEvC"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AtlasArgs = exports.CommonArgs = exports.ALLOWED_PROJECT_NAME_CHARACTERS_ERROR = exports.ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR = exports.ALLOWED_REGION_CHARACTERS_ERROR = exports.ALLOWED_USERNAME_CHARACTERS_ERROR = exports.NO_UNICODE_ERROR = void 0;
4
+ exports.zEJSON = zEJSON;
4
5
  const zod_1 = require("zod");
6
+ const bson_1 = require("bson");
5
7
  const NO_UNICODE_REGEX = /^[\x20-\x7E]*$/;
6
8
  exports.NO_UNICODE_ERROR = "String cannot contain special characters or Unicode symbols";
7
9
  const ALLOWED_USERNAME_CHARACTERS_REGEX = /^[a-zA-Z0-9._-]+$/;
@@ -47,4 +49,13 @@ exports.AtlasArgs = {
47
49
  .regex(ALLOWED_REGION_CHARACTERS_REGEX, exports.ALLOWED_REGION_CHARACTERS_ERROR),
48
50
  password: () => zod_1.z.string().min(1, "Password is required").max(100, "Password must be 100 characters or less"),
49
51
  };
52
+ function toEJSON(value) {
53
+ if (!value) {
54
+ return value;
55
+ }
56
+ return bson_1.EJSON.deserialize(value, { relaxed: false });
57
+ }
58
+ function zEJSON() {
59
+ return zod_1.z.object({}).passthrough().transform(toEJSON);
60
+ }
50
61
  //# sourceMappingURL=args.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AAExC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC7B,QAAA,gBAAgB,GAAG,6DAA6D,CAAC;AAE9F,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AACjD,QAAA,iCAAiC,GAC1C,4EAA4E,CAAC;AAEjF,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,oEAAoE,CAAC;AAEpH,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AACpD,QAAA,qCAAqC,GAC9C,qEAAqE,CAAC;AAE1E,MAAM,qCAAqC,GAAG,6BAA6B,CAAC;AAC/D,QAAA,qCAAqC,GAC9C,kJAAkJ,CAAC;AAC1I,QAAA,UAAU,GAAG;IACtB,MAAM,EAAE,GAAc,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,wBAAgB,CAAC;IAE7E,QAAQ,EAAE,CAAC,SAAiB,EAAe,EAAE,CACzC,OAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,cAAc,CAAC;SAClC,MAAM,CAAC,EAAE,EAAE,GAAG,SAAS,gCAAgC,CAAC;SACxD,KAAK,CAAC,gBAAgB,EAAE,GAAG,SAAS,2CAA2C,CAAC;CAC5F,CAAC;AAEW,QAAA,SAAS,GAAG;IACrB,SAAS,EAAE,GAAgB,EAAE,CAAC,kBAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;IAE9D,cAAc,EAAE,GAAgB,EAAE,CAAC,kBAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAExE,WAAW,EAAE,GAAgB,EAAE,CAC3B,OAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;SACrD,KAAK,CAAC,qCAAqC,EAAE,6CAAqC,CAAC;IAE5F,WAAW,EAAE,GAAgB,EAAE,CAC3B,OAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;SACrD,KAAK,CAAC,qCAAqC,EAAE,6CAAqC,CAAC;IAE5F,QAAQ,EAAE,GAAgB,EAAE,CACxB,OAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAC9B,GAAG,CAAC,GAAG,EAAE,yCAAyC,CAAC;SACnD,KAAK,CAAC,iCAAiC,EAAE,yCAAiC,CAAC;IAEpF,SAAS,EAAE,GAAgB,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAE9D,SAAS,EAAE,GAAgB,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAE/C,MAAM,EAAE,GAAgB,EAAE,CACtB,OAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;SAC5B,GAAG,CAAC,EAAE,EAAE,sCAAsC,CAAC;SAC/C,KAAK,CAAC,+BAA+B,EAAE,uCAA+B,CAAC;IAEhF,QAAQ,EAAE,GAAgB,EAAE,CACxB,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,yCAAyC,CAAC;CACpG,CAAC"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import type { Server } from "../../../server.js";
6
6
  declare const connectedName: "switch-connection";
7
7
  declare const disconnectedName: "connect";
8
8
  declare const connectedDescription = "Switch to a different MongoDB connection. If the user has configured a connection string or has previously called the connect tool, a connection is already established and there's no need to call this tool unless the user has explicitly requested to switch to a new instance.";
9
- declare const disconnectedDescription = "Connect to a MongoDB instance";
9
+ declare const disconnectedDescription = "Connect to a MongoDB instance. The config resource captures if the server is already connected to a MongoDB cluster. If the user has configured a connection string or has previously called the connect tool, a connection is already established and there's no need to call this tool unless the user has explicitly requested to switch to a new MongoDB cluster.";
10
10
  export declare class ConnectTool extends MongoDBToolBase {
11
11
  name: typeof connectedName | typeof disconnectedName;
12
12
  protected description: typeof connectedDescription | typeof disconnectedDescription;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/connect/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmBjD,QAAA,MAAM,aAAa,EAAG,mBAA4B,CAAC;AACnD,QAAA,MAAM,gBAAgB,EAAG,SAAkB,CAAC;AAE5C,QAAA,MAAM,oBAAoB,wRAC+P,CAAC;AAC1R,QAAA,MAAM,uBAAuB,kCAAkC,CAAC;AAEhE,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,EAAE,OAAO,aAAa,GAAG,OAAO,gBAAgB,CAAoB;IAC/E,SAAS,CAAC,WAAW,EAAE,OAAO,oBAAoB,GAAG,OAAO,uBAAuB,CAA2B;IAI9G,SAAS,CAAC,SAAS;;MAEjB;IAEK,aAAa,EAAE,aAAa,CAAa;gBAEpC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,qBAAqB;cAW9D,OAAO,CAAC,EAAE,gBAAgB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBhG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IASxC,OAAO,CAAC,cAAc;CAezB"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/connect/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAoBjD,QAAA,MAAM,aAAa,EAAG,mBAA4B,CAAC;AACnD,QAAA,MAAM,gBAAgB,EAAG,SAAkB,CAAC;AAE5C,QAAA,MAAM,oBAAoB,wRAC+P,CAAC;AAC1R,QAAA,MAAM,uBAAuB,0WAC8U,CAAC;AAE5W,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,EAAE,OAAO,aAAa,GAAG,OAAO,gBAAgB,CAAoB;IAC/E,SAAS,CAAC,WAAW,EAAE,OAAO,oBAAoB,GAAG,OAAO,uBAAuB,CAA2B;IAI9G,SAAS,CAAC,SAAS;;MAEjB;IAEK,aAAa,EAAE,aAAa,CAAa;gBAEpC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,qBAAqB;cAW9D,OAAO,CAAC,EAAE,gBAAgB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBhG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IASxC,OAAO,CAAC,cAAc;CA2BzB"}
@@ -7,6 +7,7 @@ exports.ConnectTool = void 0;
7
7
  const zod_1 = require("zod");
8
8
  const mongodbTool_js_1 = require("../mongodbTool.js");
9
9
  const assert_1 = __importDefault(require("assert"));
10
+ const logger_js_1 = require("../../../common/logger.js");
10
11
  const disconnectedSchema = zod_1.z
11
12
  .object({
12
13
  connectionString: zod_1.z.string().describe("MongoDB connection string (in the mongodb:// or mongodb+srv:// format)"),
@@ -23,7 +24,7 @@ const connectedSchema = zod_1.z
23
24
  const connectedName = "switch-connection";
24
25
  const disconnectedName = "connect";
25
26
  const connectedDescription = "Switch to a different MongoDB connection. If the user has configured a connection string or has previously called the connect tool, a connection is already established and there's no need to call this tool unless the user has explicitly requested to switch to a new instance.";
26
- const disconnectedDescription = "Connect to a MongoDB instance";
27
+ const disconnectedDescription = "Connect to a MongoDB instance. The config resource captures if the server is already connected to a MongoDB cluster. If the user has configured a connection string or has previously called the connect tool, a connection is already established and there's no need to call this tool unless the user has explicitly requested to switch to a new MongoDB cluster.";
27
28
  class ConnectTool extends mongodbTool_js_1.MongoDBToolBase {
28
29
  constructor({ session, config, telemetry, elicitation }) {
29
30
  super({ session, config, telemetry, elicitation });
@@ -66,20 +67,29 @@ class ConnectTool extends mongodbTool_js_1.MongoDBToolBase {
66
67
  return false;
67
68
  }
68
69
  updateMetadata() {
70
+ let name;
71
+ let description;
72
+ let inputSchema;
69
73
  if (this.session.isConnectedToMongoDB) {
70
- this.update?.({
71
- name: connectedName,
72
- description: connectedDescription,
73
- inputSchema: connectedSchema,
74
- });
74
+ name = connectedName;
75
+ description = connectedDescription;
76
+ inputSchema = connectedSchema;
75
77
  }
76
78
  else {
77
- this.update?.({
78
- name: disconnectedName,
79
- description: disconnectedDescription,
80
- inputSchema: disconnectedSchema,
81
- });
79
+ name = disconnectedName;
80
+ description = disconnectedDescription;
81
+ inputSchema = disconnectedSchema;
82
82
  }
83
+ this.session.logger.info({
84
+ id: logger_js_1.LogId.updateToolMetadata,
85
+ context: "tool",
86
+ message: `Updating tool metadata to ${name}`,
87
+ });
88
+ this.update?.({
89
+ name,
90
+ description,
91
+ inputSchema,
92
+ });
83
93
  }
84
94
  }
85
95
  exports.ConnectTool = ConnectTool;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/connect/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/connect/connect.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare class InsertManyTool extends MongoDBToolBase {
6
6
  name: string;
7
7
  protected description: string;
8
8
  protected argsShape: {
9
- documents: z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">;
9
+ documents: z.ZodArray<z.AnyZodObject, "many">;
10
10
  database: z.ZodString;
11
11
  collection: z.ZodString;
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA4D;IACjF,SAAS,CAAC,SAAS;;;;MAOjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAiB/D"}
1
+ {"version":3,"file":"insertMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA4D;IACjF,SAAS,CAAC,SAAS;;;;MAOjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAiB/D"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InsertManyTool = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const mongodbTool_js_1 = require("../mongodbTool.js");
6
+ const args_js_1 = require("../../args.js");
6
7
  class InsertManyTool extends mongodbTool_js_1.MongoDBToolBase {
7
8
  constructor() {
8
9
  super(...arguments);
@@ -11,7 +12,7 @@ class InsertManyTool extends mongodbTool_js_1.MongoDBToolBase {
11
12
  this.argsShape = {
12
13
  ...mongodbTool_js_1.DbOperationArgs,
13
14
  documents: zod_1.z
14
- .array(zod_1.z.object({}).passthrough().describe("An individual MongoDB document"))
15
+ .array((0, args_js_1.zEJSON)().describe("An individual MongoDB document"))
15
16
  .describe("The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()"),
16
17
  };
17
18
  this.operationType = "create";
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAqE;AAGrE,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,SAAS,EAAE,OAAC;iBACP,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;iBAC5E,QAAQ,CACL,8GAA8G,CACjH;SACR,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAuBnD,CAAC;IArBa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACqB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE1E,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,cAAc,MAAM,CAAC,aAAa,mCAAmC,UAAU,GAAG;oBACxF,IAAI,EAAE,MAAM;iBACf;gBACD;oBACI,IAAI,EAAE,iBAAiB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrE,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;CACJ;AAlCD,wCAkCC"}
1
+ {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAqE;AAErE,2CAAuC;AAEvC,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,SAAS,EAAE,OAAC;iBACP,KAAK,CAAC,IAAA,gBAAM,GAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;iBAC1D,QAAQ,CACL,8GAA8G,CACjH;SACR,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAuBnD,CAAC;IArBa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACqB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE1E,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,cAAc,MAAM,CAAC,aAAa,mCAAmC,UAAU,GAAG;oBACxF,IAAI,EAAE,MAAM;iBACf;gBACD;oBACI,IAAI,EAAE,iBAAiB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrE,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;CACJ;AAlCD,wCAkCC"}
@@ -1,4 +1,3 @@
1
- import { z } from "zod";
2
1
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
2
  import { MongoDBToolBase } from "../mongodbTool.js";
4
3
  import type { ToolArgs, OperationType } from "../../tool.js";
@@ -6,9 +5,9 @@ export declare class DeleteManyTool extends MongoDBToolBase {
6
5
  name: string;
7
6
  protected description: string;
8
7
  protected argsShape: {
9
- filter: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
10
- database: z.ZodString;
11
- collection: z.ZodString;
8
+ filter: import("zod").ZodOptional<import("zod").AnyZodObject>;
9
+ database: import("zod").ZodString;
10
+ collection: import("zod").ZodString;
12
11
  };
13
12
  operationType: OperationType;
14
13
  protected execute({ database, collection, filter, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"deleteMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA2E;IAChG,SAAS,CAAC,SAAS;;;;MASjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAiC5D,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAY9G"}
1
+ {"version":3,"file":"deleteMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA2E;IAChG,SAAS,CAAC,SAAS;;;;MAOjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAiC5D,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAY9G"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeleteManyTool = void 0;
4
- const zod_1 = require("zod");
5
4
  const mongodbTool_js_1 = require("../mongodbTool.js");
6
5
  const indexCheck_js_1 = require("../../../helpers/indexCheck.js");
7
6
  const bson_1 = require("bson");
7
+ const args_js_1 = require("../../args.js");
8
8
  class DeleteManyTool extends mongodbTool_js_1.MongoDBToolBase {
9
9
  constructor() {
10
10
  super(...arguments);
@@ -12,9 +12,7 @@ class DeleteManyTool extends mongodbTool_js_1.MongoDBToolBase {
12
12
  this.description = "Removes all documents that match the filter from a MongoDB collection";
13
13
  this.argsShape = {
14
14
  ...mongodbTool_js_1.DbOperationArgs,
15
- filter: zod_1.z
16
- .object({})
17
- .passthrough()
15
+ filter: (0, args_js_1.zEJSON)()
18
16
  .optional()
19
17
  .describe("The query filter, specifying the deletion criteria. Matches the syntax of the filter argument of db.collection.deleteMany()"),
20
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"deleteMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAqE;AAErE,kEAAiE;AACjE,+BAA6B;AAE7B,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,uEAAuE,CAAC;QACtF,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,MAAM,EAAE,OAAC;iBACJ,MAAM,CAAC,EAAE,CAAC;iBACV,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,QAAQ,CACL,6HAA6H,CAChI;SACR,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAmDnD,CAAC;IAjDa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,GACwB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAA,+BAAe,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;gBAC3E,OAAO,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE;oBAC1C,OAAO,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACL;gCACI,CAAC,EAAE,MAAM,IAAI,EAAE;gCACf,KAAK,EAAE,CAAC,EAAE,wCAAwC;6BACrD;yBACJ;qBACJ;oBACD,SAAS,EAAE,cAAc;iBAC5B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEvE,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,aAAa,MAAM,CAAC,YAAY,mCAAmC,UAAU,GAAG;oBACtF,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAmC;QAC9F,MAAM,iBAAiB,GACnB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,WAAW,GAAG,eAAe,YAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS;YACxE,CAAC,CAAC,qCAAqC,CAAC;QAChD,OAAO,CACH,gDAAgD,UAAU,0BAA0B,QAAQ,kBAAkB;YAC9G,iBAAiB;YACjB,+EAA+E;YAC/E,iDAAiD,CACpD,CAAC;IACN,CAAC;CACJ;AAhED,wCAgEC"}
1
+ {"version":3,"file":"deleteMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":";;;AACA,sDAAqE;AAErE,kEAAiE;AACjE,+BAA6B;AAC7B,2CAAuC;AAEvC,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,uEAAuE,CAAC;QACtF,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,MAAM,EAAE,IAAA,gBAAM,GAAE;iBACX,QAAQ,EAAE;iBACV,QAAQ,CACL,6HAA6H,CAChI;SACR,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAmDnD,CAAC;IAjDa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,GACwB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAA,+BAAe,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;gBAC3E,OAAO,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE;oBAC1C,OAAO,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACL;gCACI,CAAC,EAAE,MAAM,IAAI,EAAE;gCACf,KAAK,EAAE,CAAC,EAAE,wCAAwC;6BACrD;yBACJ;qBACJ;oBACD,SAAS,EAAE,cAAc;iBAC5B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEvE,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,aAAa,MAAM,CAAC,YAAY,mCAAmC,UAAU,GAAG;oBACtF,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAmC;QAC9F,MAAM,iBAAiB,GACnB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,WAAW,GAAG,eAAe,YAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS;YACxE,CAAC,CAAC,qCAAqC,CAAC;QAChD,OAAO,CACH,gDAAgD,UAAU,0BAA0B,QAAQ,kBAAkB;YAC9G,iBAAiB;YACjB,+EAA+E;YAC/E,iDAAiD,CACpD,CAAC;IACN,CAAC;CACJ;AA9DD,wCA8DC"}