mongodb-mcp-server 0.3.1-prerelease.1 → 1.0.0-prerelease.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +137 -63
- package/dist/cjs/common/config.d.ts +3 -0
- package/dist/cjs/common/config.d.ts.map +1 -1
- package/dist/cjs/common/config.js +18 -8
- package/dist/cjs/common/config.js.map +1 -1
- package/dist/cjs/common/exportsManager.d.ts +6 -5
- package/dist/cjs/common/exportsManager.d.ts.map +1 -1
- package/dist/cjs/common/exportsManager.js +22 -25
- package/dist/cjs/common/exportsManager.js.map +1 -1
- package/dist/cjs/common/logger.d.ts +1 -0
- package/dist/cjs/common/logger.d.ts.map +1 -1
- package/dist/cjs/common/logger.js +1 -0
- package/dist/cjs/common/logger.js.map +1 -1
- package/dist/cjs/common/packageInfo.js +1 -1
- package/dist/cjs/elicitation.d.ts +25 -0
- package/dist/cjs/elicitation.d.ts.map +1 -0
- package/dist/cjs/elicitation.js +50 -0
- package/dist/cjs/elicitation.js.map +1 -0
- package/dist/cjs/lib.d.ts +1 -1
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +2 -1
- package/dist/cjs/lib.js.map +1 -1
- package/dist/cjs/resources/common/exportedData.d.ts.map +1 -1
- package/dist/cjs/resources/common/exportedData.js +12 -3
- package/dist/cjs/resources/common/exportedData.js.map +1 -1
- package/dist/cjs/server.d.ts +4 -1
- package/dist/cjs/server.d.ts.map +1 -1
- package/dist/cjs/server.js +9 -2
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/telemetry/types.d.ts +1 -0
- package/dist/cjs/telemetry/types.d.ts.map +1 -1
- package/dist/cjs/tools/args.d.ts +22 -0
- package/dist/cjs/tools/args.d.ts.map +1 -0
- package/dist/cjs/tools/args.js +50 -0
- package/dist/cjs/tools/args.js.map +1 -0
- package/dist/cjs/tools/atlas/atlasTool.d.ts +1 -2
- package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +7 -4
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js +8 -6
- package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createAccessList.d.ts +9 -1
- package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createAccessList.js +30 -13
- package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts +22 -2
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.js +33 -22
- package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +4 -5
- package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createFreeCluster.js +4 -4
- package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.d.ts +7 -4
- package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.js +7 -4
- package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +5 -3
- package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.js +7 -4
- package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +7 -4
- package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.js +8 -5
- package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.d.ts +5 -3
- package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.js +7 -4
- package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.d.ts +4 -2
- package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.js +13 -10
- package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +4 -2
- package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.js +6 -3
- package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.d.ts +4 -2
- package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js +6 -3
- package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/cjs/tools/mongodb/connect/connect.d.ts +2 -5
- package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/connect/connect.js +2 -2
- package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +1 -0
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.js +10 -0
- package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +1 -0
- package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.js +5 -0
- package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +1 -0
- package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js +5 -0
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/logs.d.ts +1 -1
- package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/logs.js +9 -11
- package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.js +11 -2
- package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.js +1 -1
- package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
- package/dist/cjs/tools/tool.d.ts +20 -5
- package/dist/cjs/tools/tool.d.ts.map +1 -1
- package/dist/cjs/tools/tool.js +32 -1
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +3 -0
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/streamableHttp.d.ts +1 -0
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +13 -0
- package/dist/cjs/transports/streamableHttp.js.map +1 -1
- package/dist/esm/common/config.d.ts +3 -0
- package/dist/esm/common/config.d.ts.map +1 -1
- package/dist/esm/common/config.js +15 -5
- package/dist/esm/common/config.js.map +1 -1
- package/dist/esm/common/exportsManager.d.ts +6 -5
- package/dist/esm/common/exportsManager.d.ts.map +1 -1
- package/dist/esm/common/exportsManager.js +21 -24
- package/dist/esm/common/exportsManager.js.map +1 -1
- package/dist/esm/common/logger.d.ts +1 -0
- package/dist/esm/common/logger.d.ts.map +1 -1
- package/dist/esm/common/logger.js +1 -0
- package/dist/esm/common/logger.js.map +1 -1
- package/dist/esm/common/packageInfo.js +1 -1
- package/dist/esm/elicitation.d.ts +25 -0
- package/dist/esm/elicitation.d.ts.map +1 -0
- package/dist/esm/elicitation.js +46 -0
- package/dist/esm/elicitation.js.map +1 -0
- package/dist/esm/lib.d.ts +1 -1
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +1 -1
- package/dist/esm/lib.js.map +1 -1
- package/dist/esm/resources/common/exportedData.d.ts.map +1 -1
- package/dist/esm/resources/common/exportedData.js +12 -3
- package/dist/esm/resources/common/exportedData.js.map +1 -1
- package/dist/esm/server.d.ts +4 -1
- package/dist/esm/server.d.ts.map +1 -1
- package/dist/esm/server.js +9 -2
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/telemetry/types.d.ts +1 -0
- package/dist/esm/telemetry/types.d.ts.map +1 -1
- package/dist/esm/tools/args.d.ts +22 -0
- package/dist/esm/tools/args.d.ts.map +1 -0
- package/dist/esm/tools/args.js +47 -0
- package/dist/esm/tools/args.js.map +1 -0
- package/dist/esm/tools/atlas/atlasTool.d.ts +1 -2
- package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
- package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts +7 -4
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js +7 -5
- package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createAccessList.d.ts +9 -1
- package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createAccessList.js +29 -12
- package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.d.ts +22 -2
- package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.js +32 -21
- package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +4 -5
- package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createFreeCluster.js +4 -4
- package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.d.ts +7 -4
- package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.js +6 -3
- package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +5 -3
- package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.js +6 -3
- package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.d.ts +7 -4
- package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.js +7 -4
- package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.d.ts +5 -3
- package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.js +6 -3
- package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.d.ts +4 -2
- package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.js +12 -9
- package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.d.ts +4 -2
- package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.js +5 -2
- package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.d.ts +4 -2
- package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js +5 -2
- package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/esm/tools/mongodb/connect/connect.d.ts +2 -5
- package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/connect/connect.js +2 -2
- package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +1 -0
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.js +10 -0
- package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +1 -0
- package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.js +5 -0
- package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +1 -0
- package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.js +5 -0
- package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/logs.d.ts +1 -1
- package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/logs.js +9 -11
- package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.js +11 -2
- package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/esm/tools/mongodb/read/export.js +1 -1
- package/dist/esm/tools/mongodb/read/export.js.map +1 -1
- package/dist/esm/tools/tool.d.ts +20 -5
- package/dist/esm/tools/tool.d.ts.map +1 -1
- package/dist/esm/tools/tool.js +32 -1
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +3 -0
- package/dist/esm/transports/base.js.map +1 -1
- package/dist/esm/transports/streamableHttp.d.ts +1 -0
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +13 -0
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const NO_UNICODE_REGEX = /^[\x20-\x7E]*$/;
|
|
3
|
+
export const NO_UNICODE_ERROR = "String cannot contain special characters or Unicode symbols";
|
|
4
|
+
const ALLOWED_USERNAME_CHARACTERS_REGEX = /^[a-zA-Z0-9._-]+$/;
|
|
5
|
+
export const ALLOWED_USERNAME_CHARACTERS_ERROR = "Username can only contain letters, numbers, dots, hyphens, and underscores";
|
|
6
|
+
const ALLOWED_REGION_CHARACTERS_REGEX = /^[a-zA-Z0-9_-]+$/;
|
|
7
|
+
export const ALLOWED_REGION_CHARACTERS_ERROR = "Region can only contain letters, numbers, hyphens, and underscores";
|
|
8
|
+
const ALLOWED_CLUSTER_NAME_CHARACTERS_REGEX = /^[a-zA-Z0-9_-]+$/;
|
|
9
|
+
export const ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR = "Cluster names can only contain ASCII letters, numbers, and hyphens.";
|
|
10
|
+
const ALLOWED_PROJECT_NAME_CHARACTERS_REGEX = /^[a-zA-Z0-9\s()@&+:._',-]+$/;
|
|
11
|
+
export const ALLOWED_PROJECT_NAME_CHARACTERS_ERROR = "Project names can't be longer than 64 characters and can only contain letters, numbers, spaces, and the following symbols: ( ) @ & + : . _ - ' ,";
|
|
12
|
+
export const CommonArgs = {
|
|
13
|
+
string: () => z.string().regex(NO_UNICODE_REGEX, NO_UNICODE_ERROR),
|
|
14
|
+
objectId: (fieldName) => z
|
|
15
|
+
.string()
|
|
16
|
+
.min(1, `${fieldName} is required`)
|
|
17
|
+
.length(24, `${fieldName} must be exactly 24 characters`)
|
|
18
|
+
.regex(/^[0-9a-fA-F]+$/, `${fieldName} must contain only hexadecimal characters`),
|
|
19
|
+
};
|
|
20
|
+
export const AtlasArgs = {
|
|
21
|
+
projectId: () => CommonArgs.objectId("projectId"),
|
|
22
|
+
organizationId: () => CommonArgs.objectId("organizationId"),
|
|
23
|
+
clusterName: () => z
|
|
24
|
+
.string()
|
|
25
|
+
.min(1, "Cluster name is required")
|
|
26
|
+
.max(64, "Cluster name must be 64 characters or less")
|
|
27
|
+
.regex(ALLOWED_CLUSTER_NAME_CHARACTERS_REGEX, ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR),
|
|
28
|
+
projectName: () => z
|
|
29
|
+
.string()
|
|
30
|
+
.min(1, "Project name is required")
|
|
31
|
+
.max(64, "Project name must be 64 characters or less")
|
|
32
|
+
.regex(ALLOWED_PROJECT_NAME_CHARACTERS_REGEX, ALLOWED_PROJECT_NAME_CHARACTERS_ERROR),
|
|
33
|
+
username: () => z
|
|
34
|
+
.string()
|
|
35
|
+
.min(1, "Username is required")
|
|
36
|
+
.max(100, "Username must be 100 characters or less")
|
|
37
|
+
.regex(ALLOWED_USERNAME_CHARACTERS_REGEX, ALLOWED_USERNAME_CHARACTERS_ERROR),
|
|
38
|
+
ipAddress: () => z.string().ip({ version: "v4" }),
|
|
39
|
+
cidrBlock: () => z.string().cidr(),
|
|
40
|
+
region: () => z
|
|
41
|
+
.string()
|
|
42
|
+
.min(1, "Region is required")
|
|
43
|
+
.max(50, "Region must be 50 characters or less")
|
|
44
|
+
.regex(ALLOWED_REGION_CHARACTERS_REGEX, ALLOWED_REGION_CHARACTERS_ERROR),
|
|
45
|
+
password: () => z.string().min(1, "Password is required").max(100, "Password must be 100 characters or less"),
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +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,6 +1,5 @@
|
|
|
1
|
-
import type { ToolCategory, TelemetryToolMetadata, ToolArgs } from "../tool.js";
|
|
2
|
-
import { ToolBase } from "../tool.js";
|
|
3
1
|
import type { ToolCallback } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { ToolBase, type ToolArgs, type ToolCategory, type TelemetryToolMetadata } from "../tool.js";
|
|
4
3
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
5
4
|
export declare abstract class AtlasToolBase extends ToolBase {
|
|
6
5
|
category: ToolCategory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atlasTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/atlas/atlasTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"atlasTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/atlas/atlasTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,8BAAsB,aAAc,SAAQ,QAAQ;IACzC,QAAQ,EAAE,YAAY,CAAW;IAExC,SAAS,CAAC,aAAa,IAAI,OAAO;IAOlC,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAyC3C;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,CAC9B,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GACzD,qBAAqB;CAgC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atlasTool.js","sourceRoot":"","sources":["../../../../src/tools/atlas/atlasTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"atlasTool.js","sourceRoot":"","sources":["../../../../src/tools/atlas/atlasTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type OperationType, type ToolArgs } from "../../tool.js";
|
|
3
3
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
4
|
-
|
|
4
|
+
export declare const ConnectClusterArgs: {
|
|
5
|
+
projectId: import("zod").ZodString;
|
|
6
|
+
clusterName: import("zod").ZodString;
|
|
7
|
+
};
|
|
5
8
|
export declare class ConnectClusterTool extends AtlasToolBase {
|
|
6
9
|
name: string;
|
|
7
10
|
protected description: string;
|
|
8
11
|
operationType: OperationType;
|
|
9
12
|
protected argsShape: {
|
|
10
|
-
projectId:
|
|
11
|
-
clusterName:
|
|
13
|
+
projectId: import("zod").ZodString;
|
|
14
|
+
clusterName: import("zod").ZodString;
|
|
12
15
|
};
|
|
13
16
|
private queryConnection;
|
|
14
17
|
private prepareClusterConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectCluster.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/connect/connectCluster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connectCluster.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/connect/connectCluster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAmBhD,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,aAAa;IAC1C,IAAI,SAA2B;IACtC,SAAS,CAAC,WAAW,SAAsC;IACpD,aAAa,EAAE,aAAa,CAAa;IAChD,SAAS,CAAC,SAAS;;;MAEjB;IAEF,OAAO,CAAC,eAAe;YAmCT,wBAAwB;YAyDxB,gBAAgB;cA4Ed,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAqFhH"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
3
2
|
import { generateSecurePassword } from "../../../helpers/generatePassword.js";
|
|
4
3
|
import { LogId } from "../../../common/logger.js";
|
|
5
4
|
import { inspectCluster } from "../../../common/atlas/cluster.js";
|
|
6
5
|
import { ensureCurrentIpInAccessList } from "../../../common/atlas/accessListUtils.js";
|
|
7
6
|
import { getDefaultRoleFromConfig } from "../../../common/atlas/roles.js";
|
|
8
|
-
|
|
7
|
+
import { AtlasArgs } from "../../args.js";
|
|
9
8
|
const addedIpAccessListMessage = "Note: Your current IP address has been added to the Atlas project's IP access list to enable secure connection.";
|
|
10
9
|
const createdUserMessage = "Note: A temporary user has been created to enable secure connection to the cluster. For more information, see https://dochub.mongodb.org/core/mongodb-mcp-server-tools-considerations\n\nNote to LLM Agent: it is important to include the following link in your response to the user in case they want to get more information about the temporary user created: https://dochub.mongodb.org/core/mongodb-mcp-server-tools-considerations";
|
|
11
10
|
function sleep(ms) {
|
|
12
11
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
13
12
|
}
|
|
13
|
+
export const ConnectClusterArgs = {
|
|
14
|
+
projectId: AtlasArgs.projectId().describe("Atlas project ID"),
|
|
15
|
+
clusterName: AtlasArgs.clusterName().describe("Atlas cluster name"),
|
|
16
|
+
};
|
|
14
17
|
export class ConnectClusterTool extends AtlasToolBase {
|
|
15
18
|
constructor() {
|
|
16
19
|
super(...arguments);
|
|
@@ -18,8 +21,7 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
18
21
|
this.description = "Connect to MongoDB Atlas cluster";
|
|
19
22
|
this.operationType = "connect";
|
|
20
23
|
this.argsShape = {
|
|
21
|
-
|
|
22
|
-
clusterName: z.string().describe("Atlas cluster name"),
|
|
24
|
+
...ConnectClusterArgs,
|
|
23
25
|
};
|
|
24
26
|
}
|
|
25
27
|
queryConnection(projectId, clusterName) {
|
|
@@ -56,7 +58,7 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
56
58
|
}
|
|
57
59
|
const username = `mcpUser${Math.floor(Math.random() * 100000)}`;
|
|
58
60
|
const password = await generateSecurePassword();
|
|
59
|
-
const expiryDate = new Date(Date.now() +
|
|
61
|
+
const expiryDate = new Date(Date.now() + this.config.atlasTemporaryDatabaseUserLifetimeMs);
|
|
60
62
|
const role = getDefaultRoleFromConfig(this.config);
|
|
61
63
|
await this.session.apiClient.createDatabaseUser({
|
|
62
64
|
params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectCluster.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/connect/connectCluster.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connectCluster.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/connect/connectCluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { type OperationType, type ToolArgs } from "../../tool.js";
|
|
2
3
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
3
4
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
4
|
-
|
|
5
|
+
export declare const CreateAccessListArgs: {
|
|
6
|
+
projectId: z.ZodString;
|
|
7
|
+
ipAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
8
|
+
cidrBlocks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
|
+
currentIpAddress: z.ZodDefault<z.ZodBoolean>;
|
|
10
|
+
comment: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
11
|
+
};
|
|
5
12
|
export declare class CreateAccessListTool extends AtlasToolBase {
|
|
6
13
|
name: string;
|
|
7
14
|
protected description: string;
|
|
@@ -14,5 +21,6 @@ export declare class CreateAccessListTool extends AtlasToolBase {
|
|
|
14
21
|
comment: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
15
22
|
};
|
|
16
23
|
protected execute({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
|
|
24
|
+
protected getConfirmationMessage({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress, }: ToolArgs<typeof this.argsShape>): string;
|
|
17
25
|
}
|
|
18
26
|
//# sourceMappingURL=createAccessList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAccessList.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"createAccessList.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,eAAO,MAAM,oBAAoB;;;;;;CAShC,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,aAAa;IAC5C,IAAI,SAA8B;IACzC,SAAS,CAAC,WAAW,SAAiE;IAC/E,aAAa,EAAE,aAAa,CAAY;IAC/C,SAAS,CAAC,SAAS;;;;;;MAEjB;cAEc,OAAO,CAAC,EACpB,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,gBAAgB,GACnB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IA+C5D,SAAS,CAAC,sBAAsB,CAAC,EAC7B,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,gBAAgB,GACnB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAoB9C"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
3
3
|
import { makeCurrentIpAccessListEntry, DEFAULT_ACCESS_LIST_COMMENT } from "../../../common/atlas/accessListUtils.js";
|
|
4
|
+
import { AtlasArgs, CommonArgs } from "../../args.js";
|
|
5
|
+
export const CreateAccessListArgs = {
|
|
6
|
+
projectId: AtlasArgs.projectId().describe("Atlas project ID"),
|
|
7
|
+
ipAddresses: z.array(AtlasArgs.ipAddress()).describe("IP addresses to allow access from").optional(),
|
|
8
|
+
cidrBlocks: z.array(AtlasArgs.cidrBlock()).describe("CIDR blocks to allow access from").optional(),
|
|
9
|
+
currentIpAddress: z.boolean().describe("Add the current IP address").default(false),
|
|
10
|
+
comment: CommonArgs.string()
|
|
11
|
+
.describe("Comment for the access list entries")
|
|
12
|
+
.default(DEFAULT_ACCESS_LIST_COMMENT)
|
|
13
|
+
.optional(),
|
|
14
|
+
};
|
|
4
15
|
export class CreateAccessListTool extends AtlasToolBase {
|
|
5
16
|
constructor() {
|
|
6
17
|
super(...arguments);
|
|
@@ -8,18 +19,7 @@ export class CreateAccessListTool extends AtlasToolBase {
|
|
|
8
19
|
this.description = "Allow Ip/CIDR ranges to access your MongoDB Atlas clusters.";
|
|
9
20
|
this.operationType = "create";
|
|
10
21
|
this.argsShape = {
|
|
11
|
-
|
|
12
|
-
ipAddresses: z
|
|
13
|
-
.array(z.string().ip({ version: "v4" }))
|
|
14
|
-
.describe("IP addresses to allow access from")
|
|
15
|
-
.optional(),
|
|
16
|
-
cidrBlocks: z.array(z.string().cidr()).describe("CIDR blocks to allow access from").optional(),
|
|
17
|
-
currentIpAddress: z.boolean().describe("Add the current IP address").default(false),
|
|
18
|
-
comment: z
|
|
19
|
-
.string()
|
|
20
|
-
.describe("Comment for the access list entries")
|
|
21
|
-
.default(DEFAULT_ACCESS_LIST_COMMENT)
|
|
22
|
-
.optional(),
|
|
22
|
+
...CreateAccessListArgs,
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
async execute({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress, }) {
|
|
@@ -58,5 +58,22 @@ export class CreateAccessListTool extends AtlasToolBase {
|
|
|
58
58
|
],
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
getConfirmationMessage({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress, }) {
|
|
62
|
+
const accessDescription = [];
|
|
63
|
+
if (ipAddresses?.length) {
|
|
64
|
+
accessDescription.push(`- **IP addresses**: ${ipAddresses.join(", ")}`);
|
|
65
|
+
}
|
|
66
|
+
if (cidrBlocks?.length) {
|
|
67
|
+
accessDescription.push(`- **CIDR blocks**: ${cidrBlocks.join(", ")}`);
|
|
68
|
+
}
|
|
69
|
+
if (currentIpAddress) {
|
|
70
|
+
accessDescription.push("- **Current IP address**");
|
|
71
|
+
}
|
|
72
|
+
return (`You are about to add the following entries to the access list for Atlas project "${projectId}":\n\n` +
|
|
73
|
+
accessDescription.join("\n") +
|
|
74
|
+
`\n\n**Comment**: ${comment || DEFAULT_ACCESS_LIST_COMMENT}\n\n` +
|
|
75
|
+
"This will allow network access to your MongoDB Atlas clusters from these IP addresses/ranges. " +
|
|
76
|
+
"Do you want to proceed?");
|
|
77
|
+
}
|
|
61
78
|
}
|
|
62
79
|
//# sourceMappingURL=createAccessList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAccessList.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"createAccessList.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import type { ToolArgs, OperationType } from "../../tool.js";
|
|
2
3
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
3
4
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
4
|
-
|
|
5
|
+
export declare const CreateDBUserArgs: {
|
|
6
|
+
projectId: z.ZodString;
|
|
7
|
+
username: z.ZodString;
|
|
8
|
+
password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
9
|
+
roles: z.ZodArray<z.ZodObject<{
|
|
10
|
+
roleName: z.ZodString;
|
|
11
|
+
databaseName: z.ZodDefault<z.ZodString>;
|
|
12
|
+
collectionName: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
roleName: string;
|
|
15
|
+
databaseName: string;
|
|
16
|
+
collectionName?: string | undefined;
|
|
17
|
+
}, {
|
|
18
|
+
roleName: string;
|
|
19
|
+
databaseName?: string | undefined;
|
|
20
|
+
collectionName?: string | undefined;
|
|
21
|
+
}>, "many">;
|
|
22
|
+
clusters: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
23
|
+
};
|
|
5
24
|
export declare class CreateDBUserTool extends AtlasToolBase {
|
|
6
25
|
name: string;
|
|
7
26
|
protected description: string;
|
|
@@ -9,7 +28,7 @@ export declare class CreateDBUserTool extends AtlasToolBase {
|
|
|
9
28
|
protected argsShape: {
|
|
10
29
|
projectId: z.ZodString;
|
|
11
30
|
username: z.ZodString;
|
|
12
|
-
password: z.
|
|
31
|
+
password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
32
|
roles: z.ZodArray<z.ZodObject<{
|
|
14
33
|
roleName: z.ZodString;
|
|
15
34
|
databaseName: z.ZodDefault<z.ZodString>;
|
|
@@ -26,5 +45,6 @@ export declare class CreateDBUserTool extends AtlasToolBase {
|
|
|
26
45
|
clusters: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
27
46
|
};
|
|
28
47
|
protected execute({ projectId, username, password, roles, clusters, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
|
|
48
|
+
protected getConfirmationMessage({ projectId, username, password, roles, clusters, }: ToolArgs<typeof this.argsShape>): string;
|
|
29
49
|
}
|
|
30
50
|
//# sourceMappingURL=createDBUser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDBUser.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createDBUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"createDBUser.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createDBUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;CAwB5B,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,aAAa;IACxC,IAAI,SAA0B;IACrC,SAAS,CAAC,WAAW,SAA2C;IACzD,aAAa,EAAE,aAAa,CAAY;IAC/C,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;MAEjB;cAEc,OAAO,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,GACX,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAiD5D,SAAS,CAAC,sBAAsB,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,GACX,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAW9C"}
|
|
@@ -2,6 +2,28 @@ import { z } from "zod";
|
|
|
2
2
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
3
3
|
import { generateSecurePassword } from "../../../helpers/generatePassword.js";
|
|
4
4
|
import { ensureCurrentIpInAccessList } from "../../../common/atlas/accessListUtils.js";
|
|
5
|
+
import { AtlasArgs, CommonArgs } from "../../args.js";
|
|
6
|
+
export const CreateDBUserArgs = {
|
|
7
|
+
projectId: AtlasArgs.projectId().describe("Atlas project ID"),
|
|
8
|
+
username: AtlasArgs.username().describe("Username for the new user"),
|
|
9
|
+
// Models will generate overly simplistic passwords like SecurePassword123 or
|
|
10
|
+
// AtlasPassword123, which are easily guessable and exploitable. We're instructing
|
|
11
|
+
// the model not to try and generate anything and instead leave the field unset.
|
|
12
|
+
password: AtlasArgs.password()
|
|
13
|
+
.nullish()
|
|
14
|
+
.describe("Password for the new user. IMPORTANT: If the user hasn't supplied an explicit password, leave it unset and under no circumstances try to generate a random one. A secure password will be generated by the MCP server if necessary."),
|
|
15
|
+
roles: z
|
|
16
|
+
.array(z.object({
|
|
17
|
+
roleName: CommonArgs.string().describe("Role name"),
|
|
18
|
+
databaseName: CommonArgs.string().describe("Database name").default("admin"),
|
|
19
|
+
collectionName: CommonArgs.string().describe("Collection name").optional(),
|
|
20
|
+
}))
|
|
21
|
+
.describe("Roles for the new user"),
|
|
22
|
+
clusters: z
|
|
23
|
+
.array(AtlasArgs.clusterName())
|
|
24
|
+
.describe("Clusters to assign the user to, leave empty for access to all clusters")
|
|
25
|
+
.optional(),
|
|
26
|
+
};
|
|
5
27
|
export class CreateDBUserTool extends AtlasToolBase {
|
|
6
28
|
constructor() {
|
|
7
29
|
super(...arguments);
|
|
@@ -9,27 +31,7 @@ export class CreateDBUserTool extends AtlasToolBase {
|
|
|
9
31
|
this.description = "Create an MongoDB Atlas database user";
|
|
10
32
|
this.operationType = "create";
|
|
11
33
|
this.argsShape = {
|
|
12
|
-
|
|
13
|
-
username: z.string().describe("Username for the new user"),
|
|
14
|
-
// Models will generate overly simplistic passwords like SecurePassword123 or
|
|
15
|
-
// AtlasPassword123, which are easily guessable and exploitable. We're instructing
|
|
16
|
-
// the model not to try and generate anything and instead leave the field unset.
|
|
17
|
-
password: z
|
|
18
|
-
.string()
|
|
19
|
-
.optional()
|
|
20
|
-
.nullable()
|
|
21
|
-
.describe("Password for the new user. IMPORTANT: If the user hasn't supplied an explicit password, leave it unset and under no circumstances try to generate a random one. A secure password will be generated by the MCP server if necessary."),
|
|
22
|
-
roles: z
|
|
23
|
-
.array(z.object({
|
|
24
|
-
roleName: z.string().describe("Role name"),
|
|
25
|
-
databaseName: z.string().describe("Database name").default("admin"),
|
|
26
|
-
collectionName: z.string().describe("Collection name").optional(),
|
|
27
|
-
}))
|
|
28
|
-
.describe("Roles for the new user"),
|
|
29
|
-
clusters: z
|
|
30
|
-
.array(z.string())
|
|
31
|
-
.describe("Clusters to assign the user to, leave empty for access to all clusters")
|
|
32
|
-
.optional(),
|
|
34
|
+
...CreateDBUserArgs,
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
37
|
async execute({ projectId, username, password, roles, clusters, }) {
|
|
@@ -76,5 +78,14 @@ export class CreateDBUserTool extends AtlasToolBase {
|
|
|
76
78
|
],
|
|
77
79
|
};
|
|
78
80
|
}
|
|
81
|
+
getConfirmationMessage({ projectId, username, password, roles, clusters, }) {
|
|
82
|
+
return (`You are about to create a database user in Atlas project \`${projectId}\`:\n\n` +
|
|
83
|
+
`**Username**: \`${username}\`\n\n` +
|
|
84
|
+
`**Password**: ${password ? "(User-provided password)" : "(Auto-generated secure password)"}\n\n` +
|
|
85
|
+
`**Roles**: ${roles.map((role) => `${role.roleName}${role.collectionName ? ` on ${role.databaseName}.${role.collectionName}` : ` on ${role.databaseName}`}`).join(", ")}\n\n` +
|
|
86
|
+
`**Cluster Access**: ${clusters?.length ? clusters.join(", ") : "All clusters in the project"}\n\n` +
|
|
87
|
+
"This will create a new database user with the specified permissions. " +
|
|
88
|
+
"**Do you confirm the execution of the action?**");
|
|
89
|
+
}
|
|
79
90
|
}
|
|
80
91
|
//# sourceMappingURL=createDBUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDBUser.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createDBUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"createDBUser.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createDBUser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type ToolArgs, type OperationType } from "../../tool.js";
|
|
3
3
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
4
|
-
import type { ToolArgs, OperationType } from "../../tool.js";
|
|
5
4
|
export declare class CreateFreeClusterTool extends AtlasToolBase {
|
|
6
5
|
name: string;
|
|
7
6
|
protected description: string;
|
|
8
7
|
operationType: OperationType;
|
|
9
8
|
protected argsShape: {
|
|
10
|
-
projectId:
|
|
11
|
-
name:
|
|
12
|
-
region:
|
|
9
|
+
projectId: import("zod").ZodString;
|
|
10
|
+
name: import("zod").ZodString;
|
|
11
|
+
region: import("zod").ZodDefault<import("zod").ZodString>;
|
|
13
12
|
};
|
|
14
13
|
protected execute({ projectId, name, region }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
|
|
15
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFreeCluster.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createFreeCluster.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"createFreeCluster.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createFreeCluster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,qBAAa,qBAAsB,SAAQ,aAAa;IAC7C,IAAI,SAA+B;IAC1C,SAAS,CAAC,WAAW,SAAyC;IACvD,aAAa,EAAE,aAAa,CAAY;IAC/C,SAAS,CAAC,SAAS;;;;MAIjB;cAEc,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAwCjH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
3
2
|
import { ensureCurrentIpInAccessList } from "../../../common/atlas/accessListUtils.js";
|
|
3
|
+
import { AtlasArgs } from "../../args.js";
|
|
4
4
|
export class CreateFreeClusterTool extends AtlasToolBase {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
@@ -8,9 +8,9 @@ export class CreateFreeClusterTool extends AtlasToolBase {
|
|
|
8
8
|
this.description = "Create a free MongoDB Atlas cluster";
|
|
9
9
|
this.operationType = "create";
|
|
10
10
|
this.argsShape = {
|
|
11
|
-
projectId:
|
|
12
|
-
name:
|
|
13
|
-
region:
|
|
11
|
+
projectId: AtlasArgs.projectId().describe("Atlas project ID to create the cluster in"),
|
|
12
|
+
name: AtlasArgs.clusterName().describe("Name of the cluster"),
|
|
13
|
+
region: AtlasArgs.region().describe("Region of the cluster").default("US_EAST_1"),
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
async execute({ projectId, name, region }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFreeCluster.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createFreeCluster.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createFreeCluster.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createFreeCluster.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IAAxD;;QACW,SAAI,GAAG,2BAA2B,CAAC;QAChC,gBAAW,GAAG,qCAAqC,CAAC;QACvD,kBAAa,GAAkB,QAAQ,CAAC;QACrC,cAAS,GAAG;YAClB,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACtF,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7D,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;SACpF,CAAC;IA0CN,CAAC;IAxCa,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAmC;QAChF,MAAM,KAAK,GAAG;YACV,OAAO,EAAE,SAAS;YAClB,IAAI;YACJ,WAAW,EAAE,YAAY;YACzB,gBAAgB,EAAE;gBACd;oBACI,QAAQ,EAAE,QAAQ;oBAClB,aAAa,EAAE;wBACX;4BACI,YAAY,EAAE,QAAQ;4BACtB,mBAAmB,EAAE,KAAK;4BAC1B,UAAU,EAAE,MAAM;4BAClB,cAAc,EAAE;gCACZ,YAAY,EAAE,IAAI;6BACrB;yBACJ;qBACJ;iBACJ;aACJ;YACD,4BAA4B,EAAE,KAAK;SACG,CAAC;QAE3C,MAAM,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;YACvC,MAAM,EAAE;gBACJ,IAAI,EAAE;oBACF,OAAO,EAAE,SAAS;iBACrB;aACJ;YACD,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE;gBACL,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,IAAI,iCAAiC,MAAM,IAAI,EAAE;gBACnF,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2DAA2D,EAAE;aACtF;SACJ,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type OperationType, type ToolArgs } from "../../tool.js";
|
|
3
3
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
4
|
-
|
|
4
|
+
export declare const CreateProjectArgs: {
|
|
5
|
+
projectName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
6
|
+
organizationId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
7
|
+
};
|
|
5
8
|
export declare class CreateProjectTool extends AtlasToolBase {
|
|
6
9
|
name: string;
|
|
7
10
|
protected description: string;
|
|
8
11
|
operationType: OperationType;
|
|
9
12
|
protected argsShape: {
|
|
10
|
-
projectName:
|
|
11
|
-
organizationId:
|
|
13
|
+
projectName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
14
|
+
organizationId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
12
15
|
};
|
|
13
16
|
protected execute({ projectName, organizationId }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
|
|
14
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProject.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createProject.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createProject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,aAAa;IACzC,IAAI,SAA0B;IACrC,SAAS,CAAC,WAAW,SAAoC;IAClD,aAAa,EAAE,aAAa,CAAY;IAC/C,SAAS,CAAC,SAAS;;;MAEjB;cAEc,OAAO,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAoDrH"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
2
|
+
import { AtlasArgs } from "../../args.js";
|
|
3
|
+
export const CreateProjectArgs = {
|
|
4
|
+
projectName: AtlasArgs.projectName().optional().describe("Name for the new project"),
|
|
5
|
+
organizationId: AtlasArgs.organizationId().optional().describe("Organization ID for the new project"),
|
|
6
|
+
};
|
|
3
7
|
export class CreateProjectTool extends AtlasToolBase {
|
|
4
8
|
constructor() {
|
|
5
9
|
super(...arguments);
|
|
@@ -7,8 +11,7 @@ export class CreateProjectTool extends AtlasToolBase {
|
|
|
7
11
|
this.description = "Create a MongoDB Atlas project";
|
|
8
12
|
this.operationType = "create";
|
|
9
13
|
this.argsShape = {
|
|
10
|
-
|
|
11
|
-
organizationId: z.string().optional().describe("Organization ID for the new project"),
|
|
14
|
+
...CreateProjectArgs,
|
|
12
15
|
};
|
|
13
16
|
}
|
|
14
17
|
async execute({ projectName, organizationId }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createProject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createProject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpF,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CACxG,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAApD;;QACW,SAAI,GAAG,sBAAsB,CAAC;QAC3B,gBAAW,GAAG,gCAAgC,CAAC;QAClD,kBAAa,GAAkB,QAAQ,CAAC;QACrC,cAAS,GAAG;YAClB,GAAG,iBAAiB;SACvB,CAAC;IAsDN,CAAC;IApDa,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,cAAc,EAAmC;QACpF,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,WAAW,GAAG,eAAe,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;gBACvE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CACX,iGAAiG,CACpG,CAAC;gBACN,CAAC;gBACD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CACX,oFAAoF,CACvF,CAAC;gBACN,CAAC;gBACD,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,IAAI,KAAK,CACX,0HAA0H,CAC7H,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG;YACV,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,cAAc;SACf,CAAC;QAEX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;YACrD,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY,WAAW,yBAAyB,UAAU,CAAC,CAAC,CAAC,0BAA0B,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG;iBAC1H;aACJ;SACJ,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type OperationType, type ToolArgs } from "../../tool.js";
|
|
3
3
|
import { AtlasToolBase } from "../atlasTool.js";
|
|
4
|
-
|
|
4
|
+
export declare const InspectAccessListArgs: {
|
|
5
|
+
projectId: import("zod").ZodString;
|
|
6
|
+
};
|
|
5
7
|
export declare class InspectAccessListTool extends AtlasToolBase {
|
|
6
8
|
name: string;
|
|
7
9
|
protected description: string;
|
|
8
10
|
operationType: OperationType;
|
|
9
11
|
protected argsShape: {
|
|
10
|
-
projectId:
|
|
12
|
+
projectId: import("zod").ZodString;
|
|
11
13
|
};
|
|
12
14
|
protected execute({ projectId }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
|
|
13
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectAccessList.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/read/inspectAccessList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"inspectAccessList.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/read/inspectAccessList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAuB,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,eAAO,MAAM,qBAAqB;;CAEjC,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,aAAa;IAC7C,IAAI,SAA+B;IAC1C,SAAS,CAAC,WAAW,SAAwE;IACtF,aAAa,EAAE,aAAa,CAAU;IAC7C,SAAS,CAAC,SAAS;;MAEjB;cAEc,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CA8BnG"}
|