mongodb-mcp-server 0.3.0 → 1.0.0-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.
- package/README.md +137 -63
- package/dist/cjs/common/atlas/accessListUtils.d.ts +2 -1
- package/dist/cjs/common/atlas/accessListUtils.d.ts.map +1 -1
- package/dist/cjs/common/atlas/accessListUtils.js +4 -1
- package/dist/cjs/common/atlas/accessListUtils.js.map +1 -1
- package/dist/cjs/common/config.d.ts +11 -0
- package/dist/cjs/common/config.d.ts.map +1 -1
- package/dist/cjs/common/config.js +115 -4
- package/dist/cjs/common/config.js.map +1 -1
- package/dist/cjs/common/connectionErrorHandler.d.ts +18 -0
- package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -0
- package/dist/cjs/common/connectionErrorHandler.js +70 -0
- package/dist/cjs/common/connectionErrorHandler.js.map +1 -0
- package/dist/cjs/common/connectionManager.d.ts +36 -10
- package/dist/cjs/common/connectionManager.d.ts.map +1 -1
- package/dist/cjs/common/connectionManager.js +59 -45
- package/dist/cjs/common/connectionManager.js.map +1 -1
- package/dist/cjs/common/errors.d.ts +5 -4
- package/dist/cjs/common/errors.d.ts.map +1 -1
- package/dist/cjs/common/errors.js +1 -0
- package/dist/cjs/common/errors.js.map +1 -1
- package/dist/cjs/common/exportsManager.d.ts +7 -6
- 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/keychain.d.ts +22 -0
- package/dist/cjs/common/keychain.d.ts.map +1 -0
- package/dist/cjs/common/keychain.js +36 -0
- package/dist/cjs/common/keychain.js.map +1 -0
- package/dist/cjs/common/logger.d.ts +11 -3
- package/dist/cjs/common/logger.d.ts.map +1 -1
- package/dist/cjs/common/logger.js +20 -11
- package/dist/cjs/common/logger.js.map +1 -1
- package/dist/cjs/common/packageInfo.js +1 -1
- package/dist/cjs/common/packageInfo.js.map +1 -1
- package/dist/cjs/common/session.d.ts +4 -1
- package/dist/cjs/common/session.d.ts.map +1 -1
- package/dist/cjs/common/session.js +6 -5
- package/dist/cjs/common/session.js.map +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/helpers/connectionOptions.js +3 -6
- package/dist/cjs/helpers/connectionOptions.js.map +1 -1
- package/dist/cjs/index.js +8 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib.d.ts +8 -4
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +12 -5
- 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 +7 -1
- package/dist/cjs/server.d.ts.map +1 -1
- package/dist/cjs/server.js +27 -6
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/telemetry/eventCache.d.ts +11 -4
- package/dist/cjs/telemetry/eventCache.d.ts.map +1 -1
- package/dist/cjs/telemetry/eventCache.js +13 -6
- package/dist/cjs/telemetry/eventCache.js.map +1 -1
- package/dist/cjs/telemetry/telemetry.d.ts +9 -2
- package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
- package/dist/cjs/telemetry/telemetry.js +79 -42
- package/dist/cjs/telemetry/telemetry.js.map +1 -1
- package/dist/cjs/telemetry/types.d.ts +49 -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 +57 -31
- 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 +21 -1
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.js +38 -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 +7 -4
- 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/mongodbTool.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.js +11 -52
- package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts +1 -0
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.js +21 -0
- 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 +43 -6
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts +17 -5
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +24 -9
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/stdio.d.ts +2 -4
- package/dist/cjs/transports/stdio.d.ts.map +1 -1
- package/dist/cjs/transports/stdio.js +6 -6
- package/dist/cjs/transports/stdio.js.map +1 -1
- package/dist/cjs/transports/streamableHttp.d.ts +3 -4
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +22 -9
- package/dist/cjs/transports/streamableHttp.js.map +1 -1
- package/dist/esm/common/atlas/accessListUtils.d.ts +2 -1
- package/dist/esm/common/atlas/accessListUtils.d.ts.map +1 -1
- package/dist/esm/common/atlas/accessListUtils.js +4 -1
- package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
- package/dist/esm/common/config.d.ts +11 -0
- package/dist/esm/common/config.d.ts.map +1 -1
- package/dist/esm/common/config.js +112 -4
- package/dist/esm/common/config.js.map +1 -1
- package/dist/esm/common/connectionErrorHandler.d.ts +18 -0
- package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -0
- package/dist/esm/common/connectionErrorHandler.js +66 -0
- package/dist/esm/common/connectionErrorHandler.js.map +1 -0
- package/dist/esm/common/connectionManager.d.ts +36 -10
- package/dist/esm/common/connectionManager.d.ts.map +1 -1
- package/dist/esm/common/connectionManager.js +54 -39
- package/dist/esm/common/connectionManager.js.map +1 -1
- package/dist/esm/common/errors.d.ts +5 -4
- package/dist/esm/common/errors.d.ts.map +1 -1
- package/dist/esm/common/errors.js +1 -0
- package/dist/esm/common/errors.js.map +1 -1
- package/dist/esm/common/exportsManager.d.ts +7 -6
- 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/keychain.d.ts +22 -0
- package/dist/esm/common/keychain.d.ts.map +1 -0
- package/dist/esm/common/keychain.js +31 -0
- package/dist/esm/common/keychain.js.map +1 -0
- package/dist/esm/common/logger.d.ts +11 -3
- package/dist/esm/common/logger.d.ts.map +1 -1
- package/dist/esm/common/logger.js +20 -11
- package/dist/esm/common/logger.js.map +1 -1
- package/dist/esm/common/packageInfo.js +1 -1
- package/dist/esm/common/packageInfo.js.map +1 -1
- package/dist/esm/common/session.d.ts +4 -1
- package/dist/esm/common/session.d.ts.map +1 -1
- package/dist/esm/common/session.js +6 -5
- package/dist/esm/common/session.js.map +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/helpers/connectionOptions.js +1 -1
- package/dist/esm/helpers/connectionOptions.js.map +1 -1
- package/dist/esm/index.js +9 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib.d.ts +8 -4
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +5 -2
- 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 +7 -1
- package/dist/esm/server.d.ts.map +1 -1
- package/dist/esm/server.js +28 -7
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/telemetry/eventCache.d.ts +11 -4
- package/dist/esm/telemetry/eventCache.d.ts.map +1 -1
- package/dist/esm/telemetry/eventCache.js +13 -6
- package/dist/esm/telemetry/eventCache.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +9 -2
- package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
- package/dist/esm/telemetry/telemetry.js +79 -42
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/dist/esm/telemetry/types.d.ts +49 -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 +56 -30
- 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 +21 -1
- package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.js +37 -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 +6 -3
- 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/mongodbTool.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.js +11 -52
- package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts +1 -0
- package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.js +21 -0
- 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 +43 -6
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts +17 -5
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +24 -9
- package/dist/esm/transports/base.js.map +1 -1
- package/dist/esm/transports/stdio.d.ts +2 -4
- package/dist/esm/transports/stdio.d.ts.map +1 -1
- package/dist/esm/transports/stdio.js +6 -6
- package/dist/esm/transports/stdio.js.map +1 -1
- package/dist/esm/transports/streamableHttp.d.ts +3 -4
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +22 -9
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/package.json +22 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/telemetry/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,CAAC,GAAG;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,eAAe,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAC5D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/telemetry/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,CAAC,GAAG;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,eAAe,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAC5D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IAErC;;OAEG;IACH,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAE5C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z, type ZodString } from "zod";
|
|
2
|
+
export declare const NO_UNICODE_ERROR = "String cannot contain special characters or Unicode symbols";
|
|
3
|
+
export declare const ALLOWED_USERNAME_CHARACTERS_ERROR = "Username can only contain letters, numbers, dots, hyphens, and underscores";
|
|
4
|
+
export declare const ALLOWED_REGION_CHARACTERS_ERROR = "Region can only contain letters, numbers, hyphens, and underscores";
|
|
5
|
+
export declare const ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR = "Cluster names can only contain ASCII letters, numbers, and hyphens.";
|
|
6
|
+
export declare 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: ( ) @ & + : . _ - ' ,";
|
|
7
|
+
export declare const CommonArgs: {
|
|
8
|
+
string: () => ZodString;
|
|
9
|
+
objectId: (fieldName: string) => z.ZodString;
|
|
10
|
+
};
|
|
11
|
+
export declare const AtlasArgs: {
|
|
12
|
+
projectId: () => z.ZodString;
|
|
13
|
+
organizationId: () => z.ZodString;
|
|
14
|
+
clusterName: () => z.ZodString;
|
|
15
|
+
projectName: () => z.ZodString;
|
|
16
|
+
username: () => z.ZodString;
|
|
17
|
+
ipAddress: () => z.ZodString;
|
|
18
|
+
cidrBlock: () => z.ZodString;
|
|
19
|
+
region: () => z.ZodString;
|
|
20
|
+
password: () => z.ZodString;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -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,14 +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";
|
|
8
|
+
const addedIpAccessListMessage = "Note: Your current IP address has been added to the Atlas project's IP access list to enable secure connection.";
|
|
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";
|
|
9
10
|
function sleep(ms) {
|
|
10
11
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
11
12
|
}
|
|
13
|
+
export const ConnectClusterArgs = {
|
|
14
|
+
projectId: AtlasArgs.projectId().describe("Atlas project ID"),
|
|
15
|
+
clusterName: AtlasArgs.clusterName().describe("Atlas cluster name"),
|
|
16
|
+
};
|
|
12
17
|
export class ConnectClusterTool extends AtlasToolBase {
|
|
13
18
|
constructor() {
|
|
14
19
|
super(...arguments);
|
|
@@ -16,8 +21,7 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
16
21
|
this.description = "Connect to MongoDB Atlas cluster";
|
|
17
22
|
this.operationType = "connect";
|
|
18
23
|
this.argsShape = {
|
|
19
|
-
|
|
20
|
-
clusterName: z.string().describe("Atlas cluster name"),
|
|
24
|
+
...ConnectClusterArgs,
|
|
21
25
|
};
|
|
22
26
|
}
|
|
23
27
|
queryConnection(projectId, clusterName) {
|
|
@@ -54,7 +58,7 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
54
58
|
}
|
|
55
59
|
const username = `mcpUser${Math.floor(Math.random() * 100000)}`;
|
|
56
60
|
const password = await generateSecurePassword();
|
|
57
|
-
const expiryDate = new Date(Date.now() +
|
|
61
|
+
const expiryDate = new Date(Date.now() + this.config.atlasTemporaryDatabaseUserLifetimeMs);
|
|
58
62
|
const role = getDefaultRoleFromConfig(this.config);
|
|
59
63
|
await this.session.apiClient.createDatabaseUser({
|
|
60
64
|
params: {
|
|
@@ -87,6 +91,8 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
87
91
|
cn.username = username;
|
|
88
92
|
cn.password = password;
|
|
89
93
|
cn.searchParams.set("authSource", "admin");
|
|
94
|
+
this.session.keychain.register(username, "user");
|
|
95
|
+
this.session.keychain.register(password, "password");
|
|
90
96
|
return { connectionString: cn.toString(), atlas: connectedAtlasCluster };
|
|
91
97
|
}
|
|
92
98
|
async connectToCluster(connectionString, atlas) {
|
|
@@ -153,19 +159,31 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
153
159
|
});
|
|
154
160
|
}
|
|
155
161
|
async execute({ projectId, clusterName }) {
|
|
156
|
-
await ensureCurrentIpInAccessList(this.session.apiClient, projectId);
|
|
162
|
+
const ipAccessListUpdated = await ensureCurrentIpInAccessList(this.session.apiClient, projectId);
|
|
163
|
+
let createdUser = false;
|
|
157
164
|
for (let i = 0; i < 60; i++) {
|
|
158
165
|
const state = this.queryConnection(projectId, clusterName);
|
|
159
166
|
switch (state) {
|
|
160
167
|
case "connected": {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
168
|
+
const content = [
|
|
169
|
+
{
|
|
170
|
+
type: "text",
|
|
171
|
+
text: `Connected to cluster "${clusterName}".`,
|
|
172
|
+
},
|
|
173
|
+
];
|
|
174
|
+
if (ipAccessListUpdated) {
|
|
175
|
+
content.push({
|
|
176
|
+
type: "text",
|
|
177
|
+
text: addedIpAccessListMessage,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
if (createdUser) {
|
|
181
|
+
content.push({
|
|
182
|
+
type: "text",
|
|
183
|
+
text: createdUserMessage,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
return { content };
|
|
169
187
|
}
|
|
170
188
|
case "connecting":
|
|
171
189
|
case "unknown": {
|
|
@@ -176,6 +194,7 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
176
194
|
default: {
|
|
177
195
|
await this.session.disconnect();
|
|
178
196
|
const { connectionString, atlas } = await this.prepareClusterConnection(projectId, clusterName);
|
|
197
|
+
createdUser = true;
|
|
179
198
|
// try to connect for about 5 minutes asynchronously
|
|
180
199
|
void this.connectToCluster(connectionString, atlas).catch((err) => {
|
|
181
200
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
@@ -190,22 +209,29 @@ export class ConnectClusterTool extends AtlasToolBase {
|
|
|
190
209
|
}
|
|
191
210
|
await sleep(500);
|
|
192
211
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
212
|
+
const content = [
|
|
213
|
+
{
|
|
214
|
+
type: "text",
|
|
215
|
+
text: `Attempting to connect to cluster "${clusterName}"...`,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
type: "text",
|
|
219
|
+
text: `Warning: Provisioning a user and connecting to the cluster may take more time, please check again in a few seconds.`,
|
|
220
|
+
},
|
|
221
|
+
];
|
|
222
|
+
if (ipAccessListUpdated) {
|
|
223
|
+
content.push({
|
|
224
|
+
type: "text",
|
|
225
|
+
text: addedIpAccessListMessage,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
if (createdUser) {
|
|
229
|
+
content.push({
|
|
230
|
+
type: "text",
|
|
231
|
+
text: createdUserMessage,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
return { content };
|
|
209
235
|
}
|
|
210
236
|
}
|
|
211
237
|
//# sourceMappingURL=connectCluster.js.map
|
|
@@ -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.ZodNullable<z.ZodOptional<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;
|
|
@@ -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;;;;;;;;;;;;;;;;;;CAyB5B,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,29 @@ 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
|
+
.optional()
|
|
14
|
+
.nullable()
|
|
15
|
+
.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."),
|
|
16
|
+
roles: z
|
|
17
|
+
.array(z.object({
|
|
18
|
+
roleName: CommonArgs.string().describe("Role name"),
|
|
19
|
+
databaseName: CommonArgs.string().describe("Database name").default("admin"),
|
|
20
|
+
collectionName: CommonArgs.string().describe("Collection name").optional(),
|
|
21
|
+
}))
|
|
22
|
+
.describe("Roles for the new user"),
|
|
23
|
+
clusters: z
|
|
24
|
+
.array(AtlasArgs.clusterName())
|
|
25
|
+
.describe("Clusters to assign the user to, leave empty for access to all clusters")
|
|
26
|
+
.optional(),
|
|
27
|
+
};
|
|
5
28
|
export class CreateDBUserTool extends AtlasToolBase {
|
|
6
29
|
constructor() {
|
|
7
30
|
super(...arguments);
|
|
@@ -9,27 +32,7 @@ export class CreateDBUserTool extends AtlasToolBase {
|
|
|
9
32
|
this.description = "Create an MongoDB Atlas database user";
|
|
10
33
|
this.operationType = "create";
|
|
11
34
|
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(),
|
|
35
|
+
...CreateDBUserArgs,
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
38
|
async execute({ projectId, username, password, roles, clusters, }) {
|
|
@@ -63,6 +66,10 @@ export class CreateDBUserTool extends AtlasToolBase {
|
|
|
63
66
|
},
|
|
64
67
|
body: input,
|
|
65
68
|
});
|
|
69
|
+
this.session.keychain.register(username, "user");
|
|
70
|
+
if (password) {
|
|
71
|
+
this.session.keychain.register(password, "password");
|
|
72
|
+
}
|
|
66
73
|
return {
|
|
67
74
|
content: [
|
|
68
75
|
{
|
|
@@ -72,5 +79,14 @@ export class CreateDBUserTool extends AtlasToolBase {
|
|
|
72
79
|
],
|
|
73
80
|
};
|
|
74
81
|
}
|
|
82
|
+
getConfirmationMessage({ projectId, username, password, roles, clusters, }) {
|
|
83
|
+
return (`You are about to create a database user in Atlas project \`${projectId}\`:\n\n` +
|
|
84
|
+
`**Username**: \`${username}\`\n\n` +
|
|
85
|
+
`**Password**: ${password ? "(User-provided password)" : "(Auto-generated secure password)"}\n\n` +
|
|
86
|
+
`**Roles**: ${roles.map((role) => `${role.roleName}${role.collectionName ? ` on ${role.databaseName}.${role.collectionName}` : ` on ${role.databaseName}`}`).join(", ")}\n\n` +
|
|
87
|
+
`**Cluster Access**: ${clusters?.length ? clusters.join(", ") : "All clusters in the project"}\n\n` +
|
|
88
|
+
"This will create a new database user with the specified permissions. " +
|
|
89
|
+
"**Do you confirm the execution of the action?**");
|
|
90
|
+
}
|
|
75
91
|
}
|
|
76
92
|
//# 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"}
|