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
@@ -23,11 +23,15 @@ export class Server {
23
23
  this.connectionErrorHandler = connectionErrorHandler;
24
24
  }
25
25
  async connect(transport) {
26
- // Resources are now reactive, so we register them ASAP so they can listen to events like
26
+ await this.validateConfig();
27
+ // Register resources after the server is initialized so they can listen to events like
27
28
  // connection events.
28
29
  this.registerResources();
29
- await this.validateConfig();
30
- this.mcpServer.server.registerCapabilities({ logging: {}, resources: { listChanged: true, subscribe: true } });
30
+ this.mcpServer.server.registerCapabilities({
31
+ logging: {},
32
+ resources: { listChanged: true, subscribe: true },
33
+ instructions: this.getInstructions(),
34
+ });
31
35
  // TODO: Eventually we might want to make tools reactive too instead of relying on custom logic.
32
36
  this.registerTools();
33
37
  // This is a workaround for an issue we've seen with some models, where they'll see that everything in the `arguments`
@@ -78,15 +82,15 @@ export class Server {
78
82
  context: "server",
79
83
  message: `Server with version ${packageInfo.version} started with transport ${transport.constructor.name} and agent runner ${JSON.stringify(this.session.mcpClient)}`,
80
84
  });
81
- this.emitServerEvent("start", Date.now() - this.startTime);
85
+ this.emitServerTelemetryEvent("start", Date.now() - this.startTime);
82
86
  };
83
87
  this.mcpServer.server.onclose = () => {
84
88
  const closeTime = Date.now();
85
- this.emitServerEvent("stop", Date.now() - closeTime);
89
+ this.emitServerTelemetryEvent("stop", Date.now() - closeTime);
86
90
  };
87
91
  this.mcpServer.server.onerror = (error) => {
88
92
  const closeTime = Date.now();
89
- this.emitServerEvent("stop", Date.now() - closeTime, error);
93
+ this.emitServerTelemetryEvent("stop", Date.now() - closeTime, error);
90
94
  };
91
95
  await this.mcpServer.connect(transport);
92
96
  }
@@ -99,16 +103,16 @@ export class Server {
99
103
  this.mcpServer.sendResourceListChanged();
100
104
  }
101
105
  sendResourceUpdated(uri) {
106
+ this.session.logger.info({
107
+ id: LogId.resourceUpdateFailure,
108
+ context: "resources",
109
+ message: `Resource updated: ${uri}`,
110
+ });
102
111
  if (this.subscriptions.has(uri)) {
103
112
  void this.mcpServer.server.sendResourceUpdated({ uri });
104
113
  }
105
114
  }
106
- /**
107
- * Emits a server event
108
- * @param command - The server command (e.g., "start", "stop", "register", "deregister")
109
- * @param additionalProperties - Additional properties specific to the event
110
- */
111
- emitServerEvent(command, commandDuration, error) {
115
+ emitServerTelemetryEvent(command, commandDuration, error) {
112
116
  const event = {
113
117
  timestamp: new Date().toISOString(),
114
118
  source: "mdbmcp",
@@ -169,6 +173,11 @@ export class Server {
169
173
  // Validate API client credentials
170
174
  if (this.userConfig.apiClientId && this.userConfig.apiClientSecret) {
171
175
  try {
176
+ if (!this.userConfig.apiBaseUrl.startsWith("https://")) {
177
+ const message = "Failed to validate MongoDB Atlas the credentials from config: apiBaseUrl must start with https://";
178
+ console.error(message);
179
+ throw new Error(message);
180
+ }
172
181
  await this.session.apiClient.validateAccessToken();
173
182
  }
174
183
  catch (error) {
@@ -180,6 +189,21 @@ export class Server {
180
189
  }
181
190
  }
182
191
  }
192
+ getInstructions() {
193
+ let instructions = `
194
+ This is the MongoDB MCP server.
195
+ `;
196
+ if (this.userConfig.connectionString) {
197
+ instructions += `
198
+ This MCP server was configured with a MongoDB connection string, and you can assume that you are connected to a MongoDB cluster.
199
+ `;
200
+ }
201
+ if (this.userConfig.apiClientId && this.userConfig.apiClientSecret) {
202
+ instructions += `
203
+ This MCP server was configured with MongoDB Atlas API credentials.`;
204
+ }
205
+ return instructions;
206
+ }
183
207
  async connectToConfigConnectionString() {
184
208
  if (this.userConfig.connectionString) {
185
209
  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,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { EJSON } from "bson";
2
3
  const NO_UNICODE_REGEX = /^[\x20-\x7E]*$/;
3
4
  export const NO_UNICODE_ERROR = "String cannot contain special characters or Unicode symbols";
4
5
  const ALLOWED_USERNAME_CHARACTERS_REGEX = /^[a-zA-Z0-9._-]+$/;
@@ -44,4 +45,13 @@ export const AtlasArgs = {
44
45
  .regex(ALLOWED_REGION_CHARACTERS_REGEX, ALLOWED_REGION_CHARACTERS_ERROR),
45
46
  password: () => z.string().min(1, "Password is required").max(100, "Password must be 100 characters or less"),
46
47
  };
48
+ function toEJSON(value) {
49
+ if (!value) {
50
+ return value;
51
+ }
52
+ return EJSON.deserialize(value, { relaxed: false });
53
+ }
54
+ export function zEJSON() {
55
+ return z.object({}).passthrough().transform(toEJSON);
56
+ }
47
57
  //# sourceMappingURL=args.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAkB,MAAM,KAAK,CAAC;AAExC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,6DAA6D,CAAC;AAE9F,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AAC9D,MAAM,CAAC,MAAM,iCAAiC,GAC1C,4EAA4E,CAAC;AAEjF,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,+BAA+B,GAAG,oEAAoE,CAAC;AAEpH,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AACjE,MAAM,CAAC,MAAM,qCAAqC,GAC9C,qEAAqE,CAAC;AAE1E,MAAM,qCAAqC,GAAG,6BAA6B,CAAC;AAC5E,MAAM,CAAC,MAAM,qCAAqC,GAC9C,kJAAkJ,CAAC;AACvJ,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,MAAM,EAAE,GAAc,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAE7E,QAAQ,EAAE,CAAC,SAAiB,EAAe,EAAE,CACzC,CAAC;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;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,SAAS,EAAE,GAAgB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;IAE9D,cAAc,EAAE,GAAgB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAExE,WAAW,EAAE,GAAgB,EAAE,CAC3B,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;SACrD,KAAK,CAAC,qCAAqC,EAAE,qCAAqC,CAAC;IAE5F,WAAW,EAAE,GAAgB,EAAE,CAC3B,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;SACrD,KAAK,CAAC,qCAAqC,EAAE,qCAAqC,CAAC;IAE5F,QAAQ,EAAE,GAAgB,EAAE,CACxB,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAC9B,GAAG,CAAC,GAAG,EAAE,yCAAyC,CAAC;SACnD,KAAK,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;IAEpF,SAAS,EAAE,GAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAE9D,SAAS,EAAE,GAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAE/C,MAAM,EAAE,GAAgB,EAAE,CACtB,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;SAC5B,GAAG,CAAC,EAAE,EAAE,sCAAsC,CAAC;SAC/C,KAAK,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAEhF,QAAQ,EAAE,GAAgB,EAAE,CACxB,CAAC,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":"AAAA,OAAO,EAAE,CAAC,EAAkB,MAAM,KAAK,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,6DAA6D,CAAC;AAE9F,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AAC9D,MAAM,CAAC,MAAM,iCAAiC,GAC1C,4EAA4E,CAAC;AAEjF,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,+BAA+B,GAAG,oEAAoE,CAAC;AAEpH,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AACjE,MAAM,CAAC,MAAM,qCAAqC,GAC9C,qEAAqE,CAAC;AAE1E,MAAM,qCAAqC,GAAG,6BAA6B,CAAC;AAC5E,MAAM,CAAC,MAAM,qCAAqC,GAC9C,kJAAkJ,CAAC;AACvJ,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,MAAM,EAAE,GAAc,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAE7E,QAAQ,EAAE,CAAC,SAAiB,EAAe,EAAE,CACzC,CAAC;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;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,SAAS,EAAE,GAAgB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;IAE9D,cAAc,EAAE,GAAgB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAExE,WAAW,EAAE,GAAgB,EAAE,CAC3B,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;SACrD,KAAK,CAAC,qCAAqC,EAAE,qCAAqC,CAAC;IAE5F,WAAW,EAAE,GAAgB,EAAE,CAC3B,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;SACrD,KAAK,CAAC,qCAAqC,EAAE,qCAAqC,CAAC;IAE5F,QAAQ,EAAE,GAAgB,EAAE,CACxB,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAC9B,GAAG,CAAC,GAAG,EAAE,yCAAyC,CAAC;SACnD,KAAK,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;IAEpF,SAAS,EAAE,GAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAE9D,SAAS,EAAE,GAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAE/C,MAAM,EAAE,GAAgB,EAAE,CACtB,CAAC;SACI,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;SAC5B,GAAG,CAAC,EAAE,EAAE,sCAAsC,CAAC;SAC/C,KAAK,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAEhF,QAAQ,EAAE,GAAgB,EAAE,CACxB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,yCAAyC,CAAC;CACpG,CAAC;AAEF,SAAS,OAAO,CAA+B,KAAQ;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAM,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,MAAM;IAClB,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAA8B,CAAC;AACtF,CAAC"}
@@ -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"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { MongoDBToolBase } from "../mongodbTool.js";
3
3
  import assert from "assert";
4
+ import { LogId } from "../../../common/logger.js";
4
5
  const disconnectedSchema = z
5
6
  .object({
6
7
  connectionString: z.string().describe("MongoDB connection string (in the mongodb:// or mongodb+srv:// format)"),
@@ -17,7 +18,7 @@ const connectedSchema = z
17
18
  const connectedName = "switch-connection";
18
19
  const disconnectedName = "connect";
19
20
  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.";
20
- const disconnectedDescription = "Connect to a MongoDB instance";
21
+ 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.";
21
22
  export class ConnectTool extends MongoDBToolBase {
22
23
  constructor({ session, config, telemetry, elicitation }) {
23
24
  super({ session, config, telemetry, elicitation });
@@ -60,20 +61,29 @@ export class ConnectTool extends MongoDBToolBase {
60
61
  return false;
61
62
  }
62
63
  updateMetadata() {
64
+ let name;
65
+ let description;
66
+ let inputSchema;
63
67
  if (this.session.isConnectedToMongoDB) {
64
- this.update?.({
65
- name: connectedName,
66
- description: connectedDescription,
67
- inputSchema: connectedSchema,
68
- });
68
+ name = connectedName;
69
+ description = connectedDescription;
70
+ inputSchema = connectedSchema;
69
71
  }
70
72
  else {
71
- this.update?.({
72
- name: disconnectedName,
73
- description: disconnectedDescription,
74
- inputSchema: disconnectedSchema,
75
- });
73
+ name = disconnectedName;
74
+ description = disconnectedDescription;
75
+ inputSchema = disconnectedSchema;
76
76
  }
77
+ this.session.logger.info({
78
+ id: LogId.updateToolMetadata,
79
+ context: "tool",
80
+ message: `Updating tool metadata to ${name}`,
81
+ });
82
+ this.update?.({
83
+ name,
84
+ description,
85
+ inputSchema,
86
+ });
77
87
  }
78
88
  }
79
89
  //# sourceMappingURL=connect.js.map
@@ -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"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
+ import { zEJSON } from "../../args.js";
3
4
  export class InsertManyTool extends MongoDBToolBase {
4
5
  constructor() {
5
6
  super(...arguments);
@@ -8,7 +9,7 @@ export class InsertManyTool extends MongoDBToolBase {
8
9
  this.argsShape = {
9
10
  ...DbOperationArgs,
10
11
  documents: z
11
- .array(z.object({}).passthrough().describe("An individual MongoDB document"))
12
+ .array(zEJSON().describe("An individual MongoDB document"))
12
13
  .describe("The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()"),
13
14
  };
14
15
  this.operationType = "create";
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGrE,MAAM,OAAO,cAAe,SAAQ,eAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC;iBACP,KAAK,CAAC,CAAC,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"}
1
+ {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,OAAO,cAAe,SAAQ,eAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC;iBACP,KAAK,CAAC,MAAM,EAAE,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"}
@@ -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,7 +1,7 @@
1
- import { z } from "zod";
2
1
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
2
  import { checkIndexUsage } from "../../../helpers/indexCheck.js";
4
3
  import { EJSON } from "bson";
4
+ import { zEJSON } from "../../args.js";
5
5
  export class DeleteManyTool extends MongoDBToolBase {
6
6
  constructor() {
7
7
  super(...arguments);
@@ -9,9 +9,7 @@ export class DeleteManyTool extends MongoDBToolBase {
9
9
  this.description = "Removes all documents that match the filter from a MongoDB collection";
10
10
  this.argsShape = {
11
11
  ...DbOperationArgs,
12
- filter: z
13
- .object({})
14
- .passthrough()
12
+ filter: zEJSON()
15
13
  .optional()
16
14
  .describe("The query filter, specifying the deletion criteria. Matches the syntax of the filter argument of db.collection.deleteMany()"),
17
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"deleteMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,MAAM,OAAO,cAAe,SAAQ,eAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,uEAAuE,CAAC;QACtF,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,MAAM,EAAE,CAAC;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,eAAe,CAAC,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,KAAK,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"}
1
+ {"version":3,"file":"deleteMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,OAAO,cAAe,SAAQ,eAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,uEAAuE,CAAC;QACtF,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,MAAM,EAAE,MAAM,EAAE;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,eAAe,CAAC,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,KAAK,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"}
@@ -1,14 +1,17 @@
1
1
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
- import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
- import type { ToolArgs, OperationType } from "../../tool.js";
2
+ import { MongoDBToolBase } from "../mongodbTool.js";
3
+ import type { ToolArgs, OperationType, ToolExecutionContext } from "../../tool.js";
4
+ import z from "zod";
4
5
  export declare class CollectionSchemaTool extends MongoDBToolBase {
5
6
  name: string;
6
7
  protected description: string;
7
8
  protected argsShape: {
8
- database: import("zod").ZodString;
9
- collection: import("zod").ZodString;
9
+ sampleSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
10
+ responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
11
+ database: z.ZodString;
12
+ collection: z.ZodString;
10
13
  };
11
14
  operationType: OperationType;
12
- protected execute({ database, collection }: ToolArgs<typeof DbOperationArgs>): Promise<CallToolResult>;
15
+ protected execute({ database, collection, sampleSize, responseBytesLimit }: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<CallToolResult>;
13
16
  }
14
17
  //# sourceMappingURL=collectionSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI7D,qBAAa,oBAAqB,SAAQ,eAAe;IAC9C,IAAI,SAAuB;IAClC,SAAS,CAAC,WAAW,SAA0C;IAC/D,SAAS,CAAC,SAAS;;;MAAmB;IAE/B,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,OAAO,eAAe,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAwB/G"}
1
+ {"version":3,"file":"collectionSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionSchema.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,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGnF,OAAO,CAAC,MAAM,KAAK,CAAC;AAOpB,qBAAa,oBAAqB,SAAQ,eAAe;IAC9C,IAAI,SAAuB;IAClC,SAAS,CAAC,WAAW,SAA0C;IAC/D,SAAS,CAAC,SAAS;;;;;MAUjB;IAEK,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACzF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;CAmC7B"}
@@ -1,20 +1,40 @@
1
1
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
2
2
  import { formatUntrustedData } from "../../tool.js";
3
3
  import { getSimplifiedSchema } from "mongodb-schema";
4
+ import z from "zod";
5
+ import { ONE_MB } from "../../../helpers/constants.js";
6
+ import { collectCursorUntilMaxBytesLimit } from "../../../helpers/collectCursorUntilMaxBytes.js";
7
+ import { isObjectEmpty } from "../../../helpers/isObjectEmpty.js";
8
+ const MAXIMUM_SAMPLE_SIZE_HARD_LIMIT = 50000;
4
9
  export class CollectionSchemaTool extends MongoDBToolBase {
5
10
  constructor() {
6
11
  super(...arguments);
7
12
  this.name = "collection-schema";
8
13
  this.description = "Describe the schema for a collection";
9
- this.argsShape = DbOperationArgs;
14
+ this.argsShape = {
15
+ ...DbOperationArgs,
16
+ sampleSize: z.number().optional().default(50).describe("Number of documents to sample for schema inference"),
17
+ responseBytesLimit: z
18
+ .number()
19
+ .optional()
20
+ .default(ONE_MB)
21
+ .describe(`The maximum number of bytes to return in the response. This value is capped by the server’s configured maxBytesPerQuery and cannot be exceeded.`),
22
+ };
10
23
  this.operationType = "metadata";
11
24
  }
12
- async execute({ database, collection }) {
25
+ async execute({ database, collection, sampleSize, responseBytesLimit }, { signal }) {
13
26
  const provider = await this.ensureConnected();
14
- const documents = await provider.find(database, collection, {}, { limit: 5 }).toArray();
27
+ const cursor = provider.aggregate(database, collection, [
28
+ { $sample: { size: Math.min(sampleSize, MAXIMUM_SAMPLE_SIZE_HARD_LIMIT) } },
29
+ ]);
30
+ const { cappedBy, documents } = await collectCursorUntilMaxBytesLimit({
31
+ cursor,
32
+ configuredMaxBytesPerQuery: this.config.maxBytesPerQuery,
33
+ toolResponseBytesLimit: responseBytesLimit,
34
+ abortSignal: signal,
35
+ });
15
36
  const schema = await getSimplifiedSchema(documents);
16
- const fieldsCount = Object.entries(schema).length;
17
- if (fieldsCount === 0) {
37
+ if (isObjectEmpty(schema)) {
18
38
  return {
19
39
  content: [
20
40
  {
@@ -24,8 +44,13 @@ export class CollectionSchemaTool extends MongoDBToolBase {
24
44
  ],
25
45
  };
26
46
  }
47
+ const fieldsCount = Object.keys(schema).length;
48
+ const header = `Found ${fieldsCount} fields in the schema for "${database}.${collection}"`;
49
+ const cappedWarning = cappedBy !== undefined
50
+ ? `\nThe schema was inferred from a subset of documents due to the response size limit. (${cappedBy})`
51
+ : "";
27
52
  return {
28
- content: formatUntrustedData(`Found ${fieldsCount} fields in the schema for "${database}.${collection}"`, JSON.stringify(schema)),
53
+ content: formatUntrustedData(`${header}${cappedWarning}`, JSON.stringify(schema)),
29
54
  };
30
55
  }
31
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collectionSchema.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAAzD;;QACW,SAAI,GAAG,mBAAmB,CAAC;QACxB,gBAAW,GAAG,sCAAsC,CAAC;QACrD,cAAS,GAAG,eAAe,CAAC;QAE/B,kBAAa,GAAkB,UAAU,CAAC;IA0BrD,CAAC;IAxBa,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAoC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAClD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,oCAAoC,QAAQ,IAAI,UAAU,sDAAsD;wBACtH,IAAI,EAAE,MAAM;qBACf;iBACJ;aACJ,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,mBAAmB,CACxB,SAAS,WAAW,8BAA8B,QAAQ,IAAI,UAAU,GAAG,EAC3E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB;SACJ,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"collectionSchema.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,8BAA8B,GAAG,KAAM,CAAC;AAE9C,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAAzD;;QACW,SAAI,GAAG,mBAAmB,CAAC;QACxB,gBAAW,GAAG,sCAAsC,CAAC;QACrD,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAC5G,kBAAkB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CACL,iJAAiJ,CACpJ;SACR,CAAC;QAEK,kBAAa,GAAkB,UAAU,CAAC;IAwCrD,CAAC;IAtCa,KAAK,CAAC,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAmC,EACzF,EAAE,MAAM,EAAwB;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE;YACpD,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,8BAA8B,CAAC,EAAE,EAAE;SAC9E,CAAC,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,+BAA+B,CAAC;YAClE,MAAM;YACN,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YACxD,sBAAsB,EAAE,kBAAkB;YAC1C,WAAW,EAAE,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,oCAAoC,QAAQ,IAAI,UAAU,sDAAsD;wBACtH,IAAI,EAAE,MAAM;qBACf;iBACJ;aACJ,CAAC;QACN,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,MAAM,GAAG,SAAS,WAAW,8BAA8B,QAAQ,IAAI,UAAU,GAAG,CAAC;QAC3F,MAAM,aAAa,GACf,QAAQ,KAAK,SAAS;YAClB,CAAC,CAAC,yFAAyF,QAAQ,GAAG;YACtG,CAAC,CAAC,EAAE,CAAC;QAEb,OAAO;YACH,OAAO,EAAE,mBAAmB,CAAC,GAAG,MAAM,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACpF,CAAC;IACN,CAAC;CACJ"}
@@ -9,81 +9,115 @@ export declare class ExplainTool extends MongoDBToolBase {
9
9
  method: z.ZodArray<z.ZodDiscriminatedUnion<"name", [z.ZodObject<{
10
10
  name: z.ZodLiteral<"aggregate">;
11
11
  arguments: z.ZodObject<{
12
- pipeline: z.ZodArray<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, "many">;
12
+ pipeline: z.ZodArray<z.AnyZodObject, "many">;
13
+ responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
13
14
  }, "strip", z.ZodTypeAny, {
14
- pipeline: z.objectOutputType<{}, z.ZodTypeAny, "passthrough">[];
15
+ responseBytesLimit: number;
16
+ pipeline: {
17
+ [x: string]: any;
18
+ }[];
15
19
  }, {
16
- pipeline: z.objectInputType<{}, z.ZodTypeAny, "passthrough">[];
20
+ pipeline: {
21
+ [x: string]: any;
22
+ }[];
23
+ responseBytesLimit?: number | undefined;
17
24
  }>;
18
25
  }, "strip", z.ZodTypeAny, {
19
26
  name: "aggregate";
20
27
  arguments: {
21
- pipeline: z.objectOutputType<{}, z.ZodTypeAny, "passthrough">[];
28
+ responseBytesLimit: number;
29
+ pipeline: {
30
+ [x: string]: any;
31
+ }[];
22
32
  };
23
33
  }, {
24
34
  name: "aggregate";
25
35
  arguments: {
26
- pipeline: z.objectInputType<{}, z.ZodTypeAny, "passthrough">[];
36
+ pipeline: {
37
+ [x: string]: any;
38
+ }[];
39
+ responseBytesLimit?: number | undefined;
27
40
  };
28
41
  }>, z.ZodObject<{
29
42
  name: z.ZodLiteral<"find">;
30
43
  arguments: z.ZodObject<{
31
- filter: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
44
+ filter: z.ZodOptional<z.AnyZodObject>;
32
45
  projection: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
33
46
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
34
47
  sort: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodType<import("mongodb").SortDirection, z.ZodTypeDef, import("mongodb").SortDirection>, {}, {}>>;
48
+ responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
35
49
  }, "strip", z.ZodTypeAny, {
36
50
  limit: number;
51
+ responseBytesLimit: number;
37
52
  sort?: {} | undefined;
38
- filter?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
53
+ filter?: {
54
+ [x: string]: any;
55
+ } | undefined;
39
56
  projection?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
40
57
  }, {
41
58
  sort?: {} | undefined;
42
- filter?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
59
+ filter?: {
60
+ [x: string]: any;
61
+ } | undefined;
43
62
  limit?: number | undefined;
63
+ responseBytesLimit?: number | undefined;
44
64
  projection?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
45
65
  }>;
46
66
  }, "strip", z.ZodTypeAny, {
47
67
  name: "find";
48
68
  arguments: {
49
69
  limit: number;
70
+ responseBytesLimit: number;
50
71
  sort?: {} | undefined;
51
- filter?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
72
+ filter?: {
73
+ [x: string]: any;
74
+ } | undefined;
52
75
  projection?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
53
76
  };
54
77
  }, {
55
78
  name: "find";
56
79
  arguments: {
57
80
  sort?: {} | undefined;
58
- filter?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
81
+ filter?: {
82
+ [x: string]: any;
83
+ } | undefined;
59
84
  limit?: number | undefined;
85
+ responseBytesLimit?: number | undefined;
60
86
  projection?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
61
87
  };
62
88
  }>, z.ZodObject<{
63
89
  name: z.ZodLiteral<"count">;
64
90
  arguments: z.ZodObject<{
65
- query: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
91
+ query: z.ZodOptional<z.AnyZodObject>;
66
92
  }, "strip", z.ZodTypeAny, {
67
- query?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
93
+ query?: {
94
+ [x: string]: any;
95
+ } | undefined;
68
96
  }, {
69
- query?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
97
+ query?: {
98
+ [x: string]: any;
99
+ } | undefined;
70
100
  }>;
71
101
  }, "strip", z.ZodTypeAny, {
72
102
  name: "count";
73
103
  arguments: {
74
- query?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
104
+ query?: {
105
+ [x: string]: any;
106
+ } | undefined;
75
107
  };
76
108
  }, {
77
109
  name: "count";
78
110
  arguments: {
79
- query?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
111
+ query?: {
112
+ [x: string]: any;
113
+ } | undefined;
80
114
  };
81
115
  }>]>, "many">;
116
+ verbosity: z.ZodDefault<z.ZodOptional<z.ZodEnum<["queryPlanner", "queryPlannerExtended", "executionStats", "allPlansExecution"]>>>;
82
117
  database: z.ZodString;
83
118
  collection: z.ZodString;
84
119
  };
85
120
  operationType: OperationType;
86
- static readonly defaultVerbosity: "queryPlanner";
87
- protected execute({ database, collection, method: methods, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
121
+ protected execute({ database, collection, method: methods, verbosity, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
88
122
  }
89
123
  //# sourceMappingURL=explain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.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;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,SAAa;IACxB,SAAS,CAAC,WAAW,SACwG;IAE7H,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoBjB;IAEK,aAAa,EAAE,aAAa,CAAc;IAEjD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,iBAAiC;cAEjD,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EAAE,OAAO,GAClB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAoD/D"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.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;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,SAAa;IACxB,SAAS,CAAC,WAAW,SACwG;IAE7H,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BjB;IAEK,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EAAE,OAAO,EACf,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAkD/D"}