mongodb-mcp-server 1.14.0-prerelease.1 → 1.14.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 +38 -0
- package/dist/cjs/common/atlas/roles.d.ts +7 -0
- package/dist/cjs/common/atlas/roles.d.ts.map +1 -1
- package/dist/cjs/common/atlas/roles.js +19 -0
- package/dist/cjs/common/atlas/roles.js.map +1 -1
- package/dist/cjs/common/logging/loggerBase.d.ts +0 -1
- package/dist/cjs/common/logging/loggerBase.d.ts.map +1 -1
- package/dist/cjs/common/logging/loggerBase.js +5 -3
- package/dist/cjs/common/logging/loggerBase.js.map +1 -1
- package/dist/cjs/common/packageInfo.js +1 -1
- package/dist/cjs/common/sessionStore.d.ts +49 -2
- package/dist/cjs/common/sessionStore.d.ts.map +1 -1
- package/dist/cjs/common/sessionStore.js +31 -4
- package/dist/cjs/common/sessionStore.js.map +1 -1
- package/dist/cjs/helpers/escapeMarkdown.d.ts +5 -0
- package/dist/cjs/helpers/escapeMarkdown.d.ts.map +1 -0
- package/dist/cjs/helpers/escapeMarkdown.js +10 -0
- package/dist/cjs/helpers/escapeMarkdown.js.map +1 -0
- package/dist/cjs/helpers/requestIdAttr.d.ts.map +1 -1
- package/dist/cjs/helpers/requestIdAttr.js +5 -1
- package/dist/cjs/helpers/requestIdAttr.js.map +1 -1
- package/dist/cjs/lib.d.ts +1 -1
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +3 -2
- package/dist/cjs/lib.js.map +1 -1
- package/dist/cjs/tools/args.d.ts +1 -0
- package/dist/cjs/tools/args.d.ts.map +1 -1
- package/dist/cjs/tools/args.js +5 -3
- package/dist/cjs/tools/args.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts +24 -2
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.js +18 -2
- package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.d.ts +3 -3
- package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.js +8 -8
- package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.d.ts +1 -0
- package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.js +4 -1
- package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/cjs/tools/atlas/streams/discover.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/streams/discover.js +8 -8
- package/dist/cjs/tools/atlas/streams/discover.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.js +6 -2
- package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.js +2 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js +2 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.js +2 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +3 -3
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +3 -3
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +2 -2
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/dbStats.js +1 -1
- package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.js +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listCollections.js +2 -2
- package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.js +3 -3
- package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/cjs/transports/mcpHttpServer.d.ts.map +1 -1
- package/dist/cjs/transports/mcpHttpServer.js +12 -4
- package/dist/cjs/transports/mcpHttpServer.js.map +1 -1
- package/dist/cjs/transports/monitoringServer.d.ts.map +1 -1
- package/dist/cjs/transports/monitoringServer.js +9 -1
- package/dist/cjs/transports/monitoringServer.js.map +1 -1
- package/dist/esm/common/atlas/roles.d.ts +7 -0
- package/dist/esm/common/atlas/roles.d.ts.map +1 -1
- package/dist/esm/common/atlas/roles.js +18 -0
- package/dist/esm/common/atlas/roles.js.map +1 -1
- package/dist/esm/common/logging/loggerBase.d.ts +0 -1
- package/dist/esm/common/logging/loggerBase.d.ts.map +1 -1
- package/dist/esm/common/logging/loggerBase.js +5 -3
- package/dist/esm/common/logging/loggerBase.js.map +1 -1
- package/dist/esm/common/packageInfo.js +1 -1
- package/dist/esm/common/sessionStore.d.ts +49 -2
- package/dist/esm/common/sessionStore.d.ts.map +1 -1
- package/dist/esm/common/sessionStore.js +29 -3
- package/dist/esm/common/sessionStore.js.map +1 -1
- package/dist/esm/helpers/escapeMarkdown.d.ts +5 -0
- package/dist/esm/helpers/escapeMarkdown.d.ts.map +1 -0
- package/dist/esm/helpers/escapeMarkdown.js +7 -0
- package/dist/esm/helpers/escapeMarkdown.js.map +1 -0
- package/dist/esm/helpers/requestIdAttr.d.ts.map +1 -1
- package/dist/esm/helpers/requestIdAttr.js +5 -1
- package/dist/esm/helpers/requestIdAttr.js.map +1 -1
- 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/tools/args.d.ts +1 -0
- package/dist/esm/tools/args.d.ts.map +1 -1
- package/dist/esm/tools/args.js +4 -2
- package/dist/esm/tools/args.js.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.d.ts +24 -2
- package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.js +19 -3
- package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.d.ts +3 -3
- package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.js +8 -8
- package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.d.ts +1 -0
- package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.js +4 -1
- package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/esm/tools/atlas/streams/discover.d.ts.map +1 -1
- package/dist/esm/tools/atlas/streams/discover.js +8 -8
- package/dist/esm/tools/atlas/streams/discover.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.js +6 -2
- package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.js +2 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.js +2 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.js +2 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +3 -3
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionSchema.js +3 -3
- package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +2 -2
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/dbStats.js +1 -1
- package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.js +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listCollections.js +2 -2
- package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.js +3 -3
- package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/esm/transports/mcpHttpServer.d.ts.map +1 -1
- package/dist/esm/transports/mcpHttpServer.js +12 -4
- package/dist/esm/transports/mcpHttpServer.js.map +1 -1
- package/dist/esm/transports/monitoringServer.d.ts.map +1 -1
- package/dist/esm/transports/monitoringServer.js +9 -1
- package/dist/esm/transports/monitoringServer.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -591,6 +591,44 @@ List of available preview features:
|
|
|
591
591
|
|
|
592
592
|
- `mcpUI` - Enables an optional web-based UI for interacting with the MCP server.
|
|
593
593
|
|
|
594
|
+
#### Monitoring Server (Health Check & Metrics)
|
|
595
|
+
|
|
596
|
+
When running with `--transport http`, you can expose a separate monitoring HTTP server for health checks and metrics. This server is only started when both `monitoringServerHost` and `monitoringServerPort` are set, and it listens on its own host/port (independent from the main `httpHost`/`httpPort`).
|
|
597
|
+
|
|
598
|
+
The features exposed are controlled by `monitoringServerFeatures` (default: `health-check`). Available features and their endpoints:
|
|
599
|
+
|
|
600
|
+
| Feature | Endpoint | Description |
|
|
601
|
+
| -------------- | ---------- | ------------------------------------------------------------------------------------------- |
|
|
602
|
+
| `health-check` | `/health` | Returns `200 OK` with a JSON body describing the server status. Useful for liveness probes. |
|
|
603
|
+
| `metrics` | `/metrics` | Returns server metrics in Prometheus text format. |
|
|
604
|
+
|
|
605
|
+
The `/health` response is sent with `Cache-Control: no-store` and has the following shape (`status` is always `"ok"` while the process is alive):
|
|
606
|
+
|
|
607
|
+
```json
|
|
608
|
+
{
|
|
609
|
+
"status": "ok",
|
|
610
|
+
"version": "1.13.0",
|
|
611
|
+
"uptimeSeconds": 42,
|
|
612
|
+
"timestamp": "2026-06-20T12:00:00.000Z"
|
|
613
|
+
}
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
Example: start the server with the monitoring server enabled and call the health-check endpoint:
|
|
617
|
+
|
|
618
|
+
```shell
|
|
619
|
+
npx -y mongodb-mcp-server@latest --transport http --httpHost 0.0.0.0 --httpPort 3000 --monitoringServerHost 0.0.0.0 --monitoringServerPort 8080 &
|
|
620
|
+
curl http://0.0.0.0:8080/health
|
|
621
|
+
# => {"status":"ok","version":"1.13.0","uptimeSeconds":42,"timestamp":"2026-06-20T12:00:00.000Z"}
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
To expose both endpoints, pass the features explicitly:
|
|
625
|
+
|
|
626
|
+
```shell
|
|
627
|
+
npx -y mongodb-mcp-server@latest --transport http --monitoringServerHost 0.0.0.0 --monitoringServerPort 8080 --monitoringServerFeatures health-check,metrics
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
> **💡 Note:** `healthCheckHost` / `healthCheckPort` are deprecated aliases for `monitoringServerHost` / `monitoringServerPort` and continue to serve the same `/health` endpoint.
|
|
631
|
+
|
|
594
632
|
### Atlas API Access
|
|
595
633
|
|
|
596
634
|
To use the Atlas API tools, you'll need to create a service account in MongoDB Atlas:
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { UserConfig } from "../config/userConfig.js";
|
|
2
2
|
import type { DatabaseUserRole } from "./openapi.js";
|
|
3
|
+
/**
|
|
4
|
+
* The built-in Atlas database user roles, per the Atlas Admin API
|
|
5
|
+
* (DatabaseUserRole.roleName). Any value outside this set must be a
|
|
6
|
+
* project-scoped custom role.
|
|
7
|
+
* https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/
|
|
8
|
+
*/
|
|
9
|
+
export declare const BUILT_IN_DB_USER_ROLES: readonly ["atlasAdmin", "backup", "clusterMonitor", "dbAdmin", "dbAdminAnyDatabase", "enableSharding", "read", "readAnyDatabase", "readWrite", "readWriteAnyDatabase"];
|
|
3
10
|
/**
|
|
4
11
|
* Get the default role name for the database user based on the Atlas Admin API
|
|
5
12
|
* https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../../src/common/atlas/roles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../../src/common/atlas/roles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,wKAWzB,CAAC;AAYX;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAe7E"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BUILT_IN_DB_USER_ROLES = void 0;
|
|
3
4
|
exports.getDefaultRoleFromConfig = getDefaultRoleFromConfig;
|
|
5
|
+
/**
|
|
6
|
+
* The built-in Atlas database user roles, per the Atlas Admin API
|
|
7
|
+
* (DatabaseUserRole.roleName). Any value outside this set must be a
|
|
8
|
+
* project-scoped custom role.
|
|
9
|
+
* https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/
|
|
10
|
+
*/
|
|
11
|
+
exports.BUILT_IN_DB_USER_ROLES = [
|
|
12
|
+
"atlasAdmin",
|
|
13
|
+
"backup",
|
|
14
|
+
"clusterMonitor",
|
|
15
|
+
"dbAdmin",
|
|
16
|
+
"dbAdminAnyDatabase",
|
|
17
|
+
"enableSharding",
|
|
18
|
+
"read",
|
|
19
|
+
"readAnyDatabase",
|
|
20
|
+
"readWrite",
|
|
21
|
+
"readWriteAnyDatabase",
|
|
22
|
+
];
|
|
4
23
|
const readWriteRole = {
|
|
5
24
|
roleName: "readWriteAnyDatabase",
|
|
6
25
|
databaseName: "admin",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../../src/common/atlas/roles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../../src/common/atlas/roles.ts"],"names":[],"mappings":";;;AAoCA,4DAeC;AAhDD;;;;;GAKG;AACU,QAAA,sBAAsB,GAAG;IAClC,YAAY;IACZ,QAAQ;IACR,gBAAgB;IAChB,SAAS;IACT,oBAAoB;IACpB,gBAAgB;IAChB,MAAM;IACN,iBAAiB;IACjB,WAAW;IACX,sBAAsB;CAChB,CAAC;AAEX,MAAM,aAAa,GAAqB;IACpC,QAAQ,EAAE,sBAAsB;IAChC,YAAY,EAAE,OAAO;CACxB,CAAC;AAEF,MAAM,YAAY,GAAqB;IACnC,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,OAAO;CACxB,CAAC;AAEF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,MAAkB;IACvD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,kEAAkE;IAClE,IACI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC1C,CAAC;QACC,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC"}
|
|
@@ -3,7 +3,6 @@ import type { Keychain } from "../keychain.js";
|
|
|
3
3
|
import type { DefaultEventMap, EventMap, LoggerType, LogLevel, LogPayload } from "./loggingTypes.js";
|
|
4
4
|
export declare abstract class LoggerBase<T extends EventMap<T> = DefaultEventMap> extends EventEmitter<T> {
|
|
5
5
|
private readonly keychain;
|
|
6
|
-
private readonly defaultUnredactedLogger;
|
|
7
6
|
constructor(keychain: Keychain | undefined);
|
|
8
7
|
log(level: LogLevel, payload: LogPayload): void;
|
|
9
8
|
protected abstract readonly type?: LoggerType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggerBase.d.ts","sourceRoot":"","sources":["../../../../src/common/logging/loggerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAErG,8BAAsB,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"loggerBase.d.ts","sourceRoot":"","sources":["../../../../src/common/logging/loggerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAErG,8BAAsB,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAIpD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IActD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAE9C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAEtE,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IA2BlB,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAI/B,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAGhC,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIhC,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIlC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAInC,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIhC,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAI3C,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO;CAmBjG"}
|
|
@@ -7,11 +7,13 @@ class LoggerBase extends events_1.EventEmitter {
|
|
|
7
7
|
constructor(keychain) {
|
|
8
8
|
super();
|
|
9
9
|
this.keychain = keychain;
|
|
10
|
-
this.defaultUnredactedLogger = "mcp";
|
|
11
10
|
}
|
|
12
11
|
log(level, payload) {
|
|
13
|
-
//
|
|
14
|
-
|
|
12
|
+
// Redact by default for every logger. Skipping redaction must be an explicit,
|
|
13
|
+
// per-call opt-out via `noRedaction` — never a default. This matters most for the
|
|
14
|
+
// MCP logger, whose messages are sent to the (untrusted) MCP client and downstream
|
|
15
|
+
// agent/LLM toolchain, so secrets must never be emitted there unless explicitly allowed.
|
|
16
|
+
const noRedaction = payload.noRedaction !== undefined ? payload.noRedaction : false;
|
|
15
17
|
this.logCore(level, {
|
|
16
18
|
...payload,
|
|
17
19
|
message: this.redactIfNecessary(payload.message, noRedaction),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggerBase.js","sourceRoot":"","sources":["../../../../src/common/logging/loggerBase.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,mDAAwC;AAIxC,MAAsB,UAAoD,SAAQ,qBAAe;
|
|
1
|
+
{"version":3,"file":"loggerBase.js","sourceRoot":"","sources":["../../../../src/common/logging/loggerBase.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,mDAAwC;AAIxC,MAAsB,UAAoD,SAAQ,qBAAe;IAC7F,YAA6B,QAA8B;QACvD,KAAK,EAAE,CAAC;QADiB,aAAQ,GAAR,QAAQ,CAAsB;IAE3D,CAAC;IAEM,GAAG,CAAC,KAAe,EAAE,OAAmB;QAC3C,8EAA8E;QAC9E,kFAAkF;QAClF,mFAAmF;QACnF,yFAAyF;QACzF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAEpF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAChB,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;YAC7D,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;SACrE,CAAC,CAAC;IACP,CAAC;IAMO,gBAAgB,CACpB,UAA8C,EAC9C,WAAsC;QAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,iBAAiB,CAAC,OAAe,EAAE,WAAsC;QAC7E,IAAI,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;YAClD,kFAAkF;YAClF,gCAAgC;YAChC,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/D,8EAA8E;YAC9E,6DAA6D;YAC7D,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IACI,OAAO,WAAW,KAAK,QAAQ;YAC/B,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC1B,IAAI,CAAC,IAAI;YACT,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,CAAC;YACC,mFAAmF;YACnF,iCAAiC;YACjC,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,OAAO,IAAA,uBAAM,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEM,IAAI,CAAC,OAAmB;QAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,OAAmB;QAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACM,KAAK,CAAC,OAAmB;QAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,OAAmB;QAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAEM,OAAO,CAAC,OAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,QAAQ,CAAC,OAAmB;QAC/B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAmB;QAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEM,SAAS,CAAC,OAAmB;QAChC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAES,oBAAoB,CAAC,KAAe;QAC1C,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,MAAM;gBACP,OAAO,MAAM,CAAC;YAClB,KAAK,SAAS;gBACV,OAAO,MAAM,CAAC;YAClB,KAAK,OAAO;gBACR,OAAO,OAAO,CAAC;YACnB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACR,OAAO,OAAO,CAAC;YACnB,KAAK,UAAU,CAAC;YAChB,KAAK,OAAO,CAAC;YACb,KAAK,WAAW;gBACZ,OAAO,OAAO,CAAC;YACnB;gBACI,OAAO,MAAM,CAAC;QACtB,CAAC;IACL,CAAC;CACJ;AAlHD,gCAkHC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.packageInfo = void 0;
|
|
4
4
|
// This file was generated by scripts/updatePackageVersion.ts - Do not edit it manually.
|
|
5
5
|
exports.packageInfo = {
|
|
6
|
-
version: "1.14.0-prerelease.
|
|
6
|
+
version: "1.14.0-prerelease.2",
|
|
7
7
|
mcpServerName: "MongoDB MCP Server",
|
|
8
8
|
engines: {
|
|
9
9
|
node: "^20.19.0 || ^22.13.0 || >= 24.0.0",
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import type { LoggerBase } from "./logging/index.js";
|
|
2
|
+
import type { Session } from "./session.js";
|
|
2
3
|
import type { Metrics, DefaultMetrics } from "@mongodb-js/mcp-metrics";
|
|
3
4
|
import type { CloseableTransport, SessionCloseReason } from "@mongodb-js/mcp-types";
|
|
4
5
|
export type { CloseableTransport, SessionCloseReason };
|
|
6
|
+
/**
|
|
7
|
+
* Error that `ISessionStore` implementations can throw from `getSession` to
|
|
8
|
+
* reject a request (e.g. when identity validation against the request headers
|
|
9
|
+
* fails). Unlike returning `undefined`, which means the session does not exist
|
|
10
|
+
* and may trigger implicit session initialization, throwing this error fails
|
|
11
|
+
* the request without creating a session. To avoid leaking whether the
|
|
12
|
+
* session exists, the response is indistinguishable from "session not found";
|
|
13
|
+
* the error message is only logged server-side.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SessionRejectedError extends Error {
|
|
16
|
+
constructor(message: string);
|
|
17
|
+
}
|
|
5
18
|
/**
|
|
6
19
|
* Interface for managing MCP transport sessions.
|
|
7
20
|
*
|
|
@@ -9,11 +22,34 @@ export type { CloseableTransport, SessionCloseReason };
|
|
|
9
22
|
* management (e.g. database-based session storage).
|
|
10
23
|
*/
|
|
11
24
|
export interface ISessionStore<T extends CloseableTransport = CloseableTransport> {
|
|
12
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Returns the transport for the given session id or `undefined` if the
|
|
27
|
+
* session does not exist.
|
|
28
|
+
*
|
|
29
|
+
* @param headers The headers of the incoming request. Implementations can
|
|
30
|
+
* use them to validate the caller's identity before returning the session.
|
|
31
|
+
* To reject a request for an existing session, throw a
|
|
32
|
+
* {@link SessionRejectedError} rather than returning `undefined` — the
|
|
33
|
+
* latter is treated as "session not found" and may trigger implicit
|
|
34
|
+
* session initialization.
|
|
35
|
+
*/
|
|
36
|
+
getSession(sessionId: string, headers?: Record<string, unknown>): Promise<T | undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* Stores a newly initialized session.
|
|
39
|
+
*
|
|
40
|
+
* @param params.session The server session, exposing session-level state
|
|
41
|
+
* (e.g. the logger or the connection manager) to implementations that
|
|
42
|
+
* need it.
|
|
43
|
+
* @param params.headers The headers of the request that initiated the
|
|
44
|
+
* session (e.g. for tracing the x-request-id in logs and downstream
|
|
45
|
+
* requests).
|
|
46
|
+
*/
|
|
13
47
|
addSession(params: {
|
|
14
48
|
sessionId: string;
|
|
15
49
|
transport: T;
|
|
50
|
+
/** TODO: Remove in v2 — redundant with `session.logger`. */
|
|
16
51
|
logger: LoggerBase;
|
|
52
|
+
session: Session;
|
|
17
53
|
headers?: Record<string, unknown>;
|
|
18
54
|
}): Promise<void>;
|
|
19
55
|
closeSession(params: {
|
|
@@ -36,13 +72,24 @@ export declare class SessionStore<T extends CloseableTransport = CloseableTransp
|
|
|
36
72
|
logger: LoggerBase;
|
|
37
73
|
metrics: Metrics<DefaultMetrics>;
|
|
38
74
|
});
|
|
39
|
-
getSession(sessionId: string): Promise<T | undefined>;
|
|
75
|
+
getSession(sessionId: string, _headers?: Record<string, unknown>): Promise<T | undefined>;
|
|
76
|
+
/**
|
|
77
|
+
* Returns whether a session with the given id exists in this store.
|
|
78
|
+
*
|
|
79
|
+
* Unlike `getSession`, this does not reset the session's idle
|
|
80
|
+
* timeout, so it is safe to call when probing on behalf of requests that
|
|
81
|
+
* may not be served (e.g. authorization checks) without extending the
|
|
82
|
+
* session's lifetime.
|
|
83
|
+
*/
|
|
84
|
+
hasSession(sessionId: string): boolean;
|
|
40
85
|
private resetTimeout;
|
|
41
86
|
private sendNotification;
|
|
42
87
|
addSession(params: {
|
|
43
88
|
sessionId: string;
|
|
44
89
|
transport: T;
|
|
90
|
+
/** TODO: Remove in v2 — redundant with `session.logger`. */
|
|
45
91
|
logger: LoggerBase;
|
|
92
|
+
session: Session;
|
|
46
93
|
headers?: Record<string, unknown>;
|
|
47
94
|
}): Promise<void>;
|
|
48
95
|
closeSession({ sessionId, reason, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionStore.d.ts","sourceRoot":"","sources":["../../../src/common/sessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sessionStore.d.ts","sourceRoot":"","sources":["../../../src/common/sessionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionStore = void 0;
|
|
3
|
+
exports.SessionStore = exports.SessionRejectedError = void 0;
|
|
4
4
|
exports.createDefaultSessionStore = createDefaultSessionStore;
|
|
5
5
|
const index_js_1 = require("./logging/index.js");
|
|
6
6
|
const managedTimeout_js_1 = require("./managedTimeout.js");
|
|
7
|
+
/**
|
|
8
|
+
* Error that `ISessionStore` implementations can throw from `getSession` to
|
|
9
|
+
* reject a request (e.g. when identity validation against the request headers
|
|
10
|
+
* fails). Unlike returning `undefined`, which means the session does not exist
|
|
11
|
+
* and may trigger implicit session initialization, throwing this error fails
|
|
12
|
+
* the request without creating a session. To avoid leaking whether the
|
|
13
|
+
* session exists, the response is indistinguishable from "session not found";
|
|
14
|
+
* the error message is only logged server-side.
|
|
15
|
+
*/
|
|
16
|
+
class SessionRejectedError extends Error {
|
|
17
|
+
constructor(message) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = "SessionRejectedError";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.SessionRejectedError = SessionRejectedError;
|
|
7
23
|
class SessionStore {
|
|
8
24
|
constructor(params) {
|
|
9
25
|
this.sessions = {};
|
|
@@ -22,10 +38,22 @@ class SessionStore {
|
|
|
22
38
|
throw new Error("idleTimeoutMS must be greater than notificationTimeoutMS");
|
|
23
39
|
}
|
|
24
40
|
}
|
|
25
|
-
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
|
+
async getSession(sessionId, _headers) {
|
|
26
43
|
this.resetTimeout(sessionId);
|
|
27
44
|
return Promise.resolve(this.sessions[sessionId]?.transport);
|
|
28
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns whether a session with the given id exists in this store.
|
|
48
|
+
*
|
|
49
|
+
* Unlike `getSession`, this does not reset the session's idle
|
|
50
|
+
* timeout, so it is safe to call when probing on behalf of requests that
|
|
51
|
+
* may not be served (e.g. authorization checks) without extending the
|
|
52
|
+
* session's lifetime.
|
|
53
|
+
*/
|
|
54
|
+
hasSession(sessionId) {
|
|
55
|
+
return this.sessions[sessionId] !== undefined;
|
|
56
|
+
}
|
|
29
57
|
resetTimeout(sessionId) {
|
|
30
58
|
const session = this.sessions[sessionId];
|
|
31
59
|
if (!session) {
|
|
@@ -52,8 +80,7 @@ class SessionStore {
|
|
|
52
80
|
}
|
|
53
81
|
async addSession(params) {
|
|
54
82
|
const { sessionId, transport, logger } = params;
|
|
55
|
-
|
|
56
|
-
if (session) {
|
|
83
|
+
if (this.sessions[sessionId]) {
|
|
57
84
|
throw new Error(`Session ${sessionId} already exists`);
|
|
58
85
|
}
|
|
59
86
|
const abortTimeout = (0, managedTimeout_js_1.setManagedTimeout)(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../../src/common/sessionStore.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../../src/common/sessionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escapeMarkdown.d.ts","sourceRoot":"","sources":["../../../src/helpers/escapeMarkdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeMarkdown = escapeMarkdown;
|
|
4
|
+
/**
|
|
5
|
+
* Escapes markdown and HTML metacharacters in a string.
|
|
6
|
+
*/
|
|
7
|
+
function escapeMarkdown(value) {
|
|
8
|
+
return value.replace(/[\\`*_{}[\]()<>#+\-.!|]/g, "\\$&");
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=escapeMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escapeMarkdown.js","sourceRoot":"","sources":["../../../src/helpers/escapeMarkdown.ts"],"names":[],"mappings":";;AAGA,wCAEC;AALD;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestIdAttr.d.ts","sourceRoot":"","sources":["../../../src/helpers/requestIdAttr.ts"],"names":[],"mappings":"AAAA,kIAAkI;AAClI,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"requestIdAttr.d.ts","sourceRoot":"","sources":["../../../src/helpers/requestIdAttr.ts"],"names":[],"mappings":"AAAA,kIAAkI;AAClI,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlG"}
|
|
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.requestIdAttr = requestIdAttr;
|
|
4
4
|
/** Returns `{ "x-request-id": "..." }` when the headers carry one, else `{}`. Spread inside a LogPayload's `attributes` field. */
|
|
5
5
|
function requestIdAttr(headers) {
|
|
6
|
-
|
|
6
|
+
if (!headers) {
|
|
7
|
+
return {};
|
|
8
|
+
}
|
|
9
|
+
const key = Object.keys(headers).find((k) => k.toLowerCase() === "x-request-id");
|
|
10
|
+
const id = key !== undefined ? headers[key] : undefined;
|
|
7
11
|
return typeof id === "string" ? { "x-request-id": id } : {};
|
|
8
12
|
}
|
|
9
13
|
//# sourceMappingURL=requestIdAttr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestIdAttr.js","sourceRoot":"","sources":["../../../src/helpers/requestIdAttr.ts"],"names":[],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"requestIdAttr.js","sourceRoot":"","sources":["../../../src/helpers/requestIdAttr.ts"],"names":[],"mappings":";;AACA,sCAOC;AARD,kIAAkI;AAClI,SAAgB,aAAa,CAAC,OAA4C;IACtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC;IACjF,MAAM,EAAE,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC"}
|
package/dist/cjs/lib.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export { Keychain, registerGlobalSecretToRedact } from "./common/keychain.js";
|
|
|
31
31
|
export type { Secret } from "./common/keychain.js";
|
|
32
32
|
export { Elicitation } from "./elicitation.js";
|
|
33
33
|
export { applyConfigOverrides, ConfigOverrideError } from "./common/config/configOverrides.js";
|
|
34
|
-
export { SessionStore, createDefaultSessionStore, type ISessionStore, type CloseableTransport, type SessionCloseReason, type CreateSessionStoreFn, type SessionStoreConstructorArgs, } from "./common/sessionStore.js";
|
|
34
|
+
export { SessionStore, SessionRejectedError, createDefaultSessionStore, type ISessionStore, type CloseableTransport, type SessionCloseReason, type CreateSessionStoreFn, type SessionStoreConstructorArgs, } from "./common/sessionStore.js";
|
|
35
35
|
export { ExportsManager } from "./common/exportsManager.js";
|
|
36
36
|
export { DeviceId } from "./helpers/deviceId.js";
|
|
37
37
|
export type { MonitoringServerFeature } from "./common/schemas.js";
|
package/dist/cjs/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/lib.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.JSON_RPC_ERROR_CODE_DISALLOWED_EXTERNAL_SESSION = void 0;
|
|
3
|
+
exports.JSON_RPC_ERROR_CODE_SESSION_NOT_FOUND = exports.JSON_RPC_ERROR_CODE_SESSION_ID_INVALID = exports.JSON_RPC_ERROR_CODE_SESSION_ID_REQUIRED = exports.JSON_RPC_ERROR_CODE_PROCESSING_REQUEST_FAILED = exports.Counter = exports.Histogram = exports.Gauge = exports.Registry = exports.createDefaultMetrics = exports.PrometheusMetrics = exports.UIRegistry = exports.ApiClient = exports.DeviceId = exports.ExportsManager = exports.createDefaultSessionStore = exports.SessionRejectedError = exports.SessionStore = exports.ConfigOverrideError = exports.applyConfigOverrides = exports.Elicitation = exports.registerGlobalSecretToRedact = exports.Keychain = exports.EventCache = exports.Telemetry = exports.MongoDBError = exports.ErrorCodes = exports.connectionErrorHandler = exports.ConnectionStateConnected = exports.MCPConnectionManager = exports.ConnectionManager = exports.TransportRunnerBase = exports.StdioRunner = exports.createDefaultMonitoringServer = exports.MonitoringServer = exports.createDefaultMcpHttpServer = exports.MCPHttpServer = exports.StreamableHttpRunner = exports.NullLogger = exports.ConsoleLogger = exports.CompositeLogger = exports.LoggerBase = exports.defaultCreateAtlasLocalClient = exports.defaultCreateApiClient = exports.defaultCreateConnectionManager = exports.createMCPConnectionManager = exports.defaultParserOptions = exports.parseUserConfig = exports.UserConfigSchema = exports.Session = exports.Server = void 0;
|
|
4
|
+
exports.JSON_RPC_ERROR_CODE_DISALLOWED_EXTERNAL_SESSION = exports.JSON_RPC_ERROR_CODE_INVALID_REQUEST = void 0;
|
|
5
5
|
exports.parseArgsWithCliOptions = parseArgsWithCliOptions;
|
|
6
6
|
var server_js_1 = require("./server.js");
|
|
7
7
|
Object.defineProperty(exports, "Server", { enumerable: true, get: function () { return server_js_1.Server; } });
|
|
@@ -66,6 +66,7 @@ Object.defineProperty(exports, "applyConfigOverrides", { enumerable: true, get:
|
|
|
66
66
|
Object.defineProperty(exports, "ConfigOverrideError", { enumerable: true, get: function () { return configOverrides_js_1.ConfigOverrideError; } });
|
|
67
67
|
var sessionStore_js_1 = require("./common/sessionStore.js");
|
|
68
68
|
Object.defineProperty(exports, "SessionStore", { enumerable: true, get: function () { return sessionStore_js_1.SessionStore; } });
|
|
69
|
+
Object.defineProperty(exports, "SessionRejectedError", { enumerable: true, get: function () { return sessionStore_js_1.SessionRejectedError; } });
|
|
69
70
|
Object.defineProperty(exports, "createDefaultSessionStore", { enumerable: true, get: function () { return sessionStore_js_1.createDefaultSessionStore; } });
|
|
70
71
|
var exportsManager_js_1 = require("./common/exportsManager.js");
|
|
71
72
|
Object.defineProperty(exports, "ExportsManager", { enumerable: true, get: function () { return exportsManager_js_1.ExportsManager; } });
|
package/dist/cjs/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":";;;;AASA,0DAQC;AAjBD,yCAA+F;AAAtF,mGAAA,MAAM,OAAA;AACf,kDAAuF;AAA9E,qGAAA,OAAO,OAAA;AAChB,+DAAkF;AAAxD,iHAAA,gBAAgB,OAAA;AAC1C,yEAA+G;AAAtG,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAE9C,2EAAqE;AAGrE,iDAAiD;AACjD,SAAgB,uBAAuB,CAAC,YAAsB;IAK1D,OAAO,IAAA,oCAAe,EAAC;QACnB,IAAI,EAAE,YAAY;KACrB,CAAC,CAAC;AACP,CAAC;AAED,wEAA+E;AAG1C,+GAH5B,qDAA8B,OAG4B;AAFnE,gEAAgE;AAChE,MAAM,0BAA0B,GAAG,qDAA8B,CAAC;AACzD,gEAA0B;AAEnC,4DAAqE;AAA5D,sHAAA,sBAAsB,OAAA;AAC/B,wDAAuE;AAA9D,8HAAA,6BAA6B,OAAA;AAEtC,sDAUmC;AAT/B,sGAAA,UAAU,OAAA;AAIV,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,sGAAA,UAAU,OAAA;AAId,oEAYwC;AAXpC,yHAAA,oBAAoB,OAAA;AACpB,kHAAA,aAAa,OAAA;AACb,+HAAA,0BAA0B,OAAA;AAG1B,qHAAA,gBAAgB,OAAA;AAChB,kIAAA,6BAA6B,OAAA;AAOjC,kDAAoD;AAA3C,uGAAA,WAAW,OAAA;AACpB,gDAO8B;AAN1B,8GAAA,mBAAmB,OAAA;AAOvB,sEAcuC;AAbnC,yHAAA,iBAAiB,OAAA;AACjB,4HAAA,oBAAoB,OAAA;AACpB,gIAAA,wBAAwB,OAAA;AAY5B,gFAM4C;AALxC,mIAAA,sBAAsB,OAAA;AAM1B,gDAA8D;AAArD,uGAAA,UAAU,OAAA;AAAE,yGAAA,YAAY,OAAA;AACjC,yDAAqD;AAA5C,yGAAA,SAAS,OAAA;AAGlB,2DAAuD;AAA9C,2GAAA,UAAU,OAAA;AACnB,oDAA8E;AAArE,uGAAA,QAAQ,OAAA;AAAE,2HAAA,4BAA4B,OAAA;AAE/C,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,yEAA+F;AAAtF,0HAAA,oBAAoB,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAClD,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":";;;;AASA,0DAQC;AAjBD,yCAA+F;AAAtF,mGAAA,MAAM,OAAA;AACf,kDAAuF;AAA9E,qGAAA,OAAO,OAAA;AAChB,+DAAkF;AAAxD,iHAAA,gBAAgB,OAAA;AAC1C,yEAA+G;AAAtG,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAE9C,2EAAqE;AAGrE,iDAAiD;AACjD,SAAgB,uBAAuB,CAAC,YAAsB;IAK1D,OAAO,IAAA,oCAAe,EAAC;QACnB,IAAI,EAAE,YAAY;KACrB,CAAC,CAAC;AACP,CAAC;AAED,wEAA+E;AAG1C,+GAH5B,qDAA8B,OAG4B;AAFnE,gEAAgE;AAChE,MAAM,0BAA0B,GAAG,qDAA8B,CAAC;AACzD,gEAA0B;AAEnC,4DAAqE;AAA5D,sHAAA,sBAAsB,OAAA;AAC/B,wDAAuE;AAA9D,8HAAA,6BAA6B,OAAA;AAEtC,sDAUmC;AAT/B,sGAAA,UAAU,OAAA;AAIV,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,sGAAA,UAAU,OAAA;AAId,oEAYwC;AAXpC,yHAAA,oBAAoB,OAAA;AACpB,kHAAA,aAAa,OAAA;AACb,+HAAA,0BAA0B,OAAA;AAG1B,qHAAA,gBAAgB,OAAA;AAChB,kIAAA,6BAA6B,OAAA;AAOjC,kDAAoD;AAA3C,uGAAA,WAAW,OAAA;AACpB,gDAO8B;AAN1B,8GAAA,mBAAmB,OAAA;AAOvB,sEAcuC;AAbnC,yHAAA,iBAAiB,OAAA;AACjB,4HAAA,oBAAoB,OAAA;AACpB,gIAAA,wBAAwB,OAAA;AAY5B,gFAM4C;AALxC,mIAAA,sBAAsB,OAAA;AAM1B,gDAA8D;AAArD,uGAAA,UAAU,OAAA;AAAE,yGAAA,YAAY,OAAA;AACjC,yDAAqD;AAA5C,yGAAA,SAAS,OAAA;AAGlB,2DAAuD;AAA9C,2GAAA,UAAU,OAAA;AACnB,oDAA8E;AAArE,uGAAA,QAAQ,OAAA;AAAE,2HAAA,4BAA4B,OAAA;AAE/C,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,yEAA+F;AAAtF,0HAAA,oBAAoB,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAClD,4DASkC;AAR9B,+GAAA,YAAY,OAAA;AACZ,uHAAA,oBAAoB,OAAA;AACpB,4HAAA,yBAAyB,OAAA;AAO7B,gEAA4D;AAAnD,mHAAA,cAAc,OAAA;AACvB,qDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,4DAKqC;AAJjC,yGAAA,SAAS,OAAA;AAMb,yDAA+E;AAA9C,yGAAA,UAAU,OAAA;AAE3C,uDAWiC;AAV7B,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AAKpB,uGAAA,QAAQ,OAAA;AACR,oGAAA,KAAK,OAAA;AACL,wGAAA,SAAS,OAAA;AACT,sGAAA,OAAO,OAAA;AAEX,0EAO2C;AANvC,qJAAA,6CAA6C,OAAA;AAC7C,+IAAA,uCAAuC,OAAA;AACvC,8IAAA,sCAAsC,OAAA;AACtC,6IAAA,qCAAqC,OAAA;AACrC,2IAAA,mCAAmC,OAAA;AACnC,uJAAA,+CAA+C,OAAA"}
|
package/dist/cjs/tools/args.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z, type ZodString } from "zod";
|
|
2
2
|
export declare const NO_UNICODE_ERROR = "String cannot contain special characters or Unicode symbols";
|
|
3
3
|
export declare const ALLOWED_USERNAME_CHARACTERS_ERROR = "Username can only contain letters, numbers, dots, hyphens, and underscores";
|
|
4
|
+
export declare const ALPHANUMERIC_DASH_UNDERSCORE_REGEX: RegExp;
|
|
4
5
|
export declare const ALLOWED_REGION_CHARACTERS_ERROR = "Region can only contain letters, numbers, hyphens, and underscores";
|
|
5
6
|
export declare const ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR = "Cluster names can only contain ASCII letters, numbers, and hyphens.";
|
|
6
7
|
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: ( ) @ & + : . _ - ' ,";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAIxC,eAAO,MAAM,gBAAgB,gEAAgE,CAAC;AAG9F,eAAO,MAAM,iCAAiC,+EACkC,CAAC;AAGjF,eAAO,MAAM,+BAA+B,uEAAuE,CAAC;AAGpH,eAAO,MAAM,qCAAqC,wEACuB,CAAC;AAG1E,eAAO,MAAM,qCAAqC,qJACoG,CAAC;AAEvJ,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;0BAOR,CAAC,CAAC,UAAU,CAC5B,CAAC,CAAC,OAAO,CAAC;QAAE,QAAQ,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC;QAAC,eAAe,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAC9F;uBAEgB,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;AAEF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAMjE;AAID,wBAAgB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAE/D"}
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAIxC,eAAO,MAAM,gBAAgB,gEAAgE,CAAC;AAG9F,eAAO,MAAM,iCAAiC,+EACkC,CAAC;AAGjF,eAAO,MAAM,kCAAkC,QAAqB,CAAC;AAGrE,eAAO,MAAM,+BAA+B,uEAAuE,CAAC;AAGpH,eAAO,MAAM,qCAAqC,wEACuB,CAAC;AAG1E,eAAO,MAAM,qCAAqC,qJACoG,CAAC;AAEvJ,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;0BAOR,CAAC,CAAC,UAAU,CAC5B,CAAC,CAAC,OAAO,CAAC;QAAE,QAAQ,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC;QAAC,eAAe,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAC9F;uBAEgB,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;AAEF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAMjE;AAID,wBAAgB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAE/D"}
|
package/dist/cjs/tools/args.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AtlasArgs = exports.CommonArgs = exports.ALLOWED_PROJECT_NAME_CHARACTERS_ERROR = exports.ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR = exports.ALLOWED_REGION_CHARACTERS_ERROR = exports.ALLOWED_USERNAME_CHARACTERS_ERROR = exports.NO_UNICODE_ERROR = void 0;
|
|
3
|
+
exports.AtlasArgs = exports.CommonArgs = exports.ALLOWED_PROJECT_NAME_CHARACTERS_ERROR = exports.ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR = exports.ALLOWED_REGION_CHARACTERS_ERROR = exports.ALPHANUMERIC_DASH_UNDERSCORE_REGEX = exports.ALLOWED_USERNAME_CHARACTERS_ERROR = exports.NO_UNICODE_ERROR = void 0;
|
|
4
4
|
exports.toEJSON = toEJSON;
|
|
5
5
|
exports.zEJSON = zEJSON;
|
|
6
6
|
const zod_1 = require("zod");
|
|
@@ -9,9 +9,11 @@ const NO_UNICODE_REGEX = /^[\x20-\x7E]*$/;
|
|
|
9
9
|
exports.NO_UNICODE_ERROR = "String cannot contain special characters or Unicode symbols";
|
|
10
10
|
const ALLOWED_USERNAME_CHARACTERS_REGEX = /^[a-zA-Z0-9._-]+$/;
|
|
11
11
|
exports.ALLOWED_USERNAME_CHARACTERS_ERROR = "Username can only contain letters, numbers, dots, hyphens, and underscores";
|
|
12
|
-
|
|
12
|
+
// Generic pattern for identifiers that permit only ASCII letters, numbers, hyphens, and underscores.
|
|
13
|
+
exports.ALPHANUMERIC_DASH_UNDERSCORE_REGEX = /^[a-zA-Z0-9_-]+$/;
|
|
14
|
+
const ALLOWED_REGION_CHARACTERS_REGEX = exports.ALPHANUMERIC_DASH_UNDERSCORE_REGEX;
|
|
13
15
|
exports.ALLOWED_REGION_CHARACTERS_ERROR = "Region can only contain letters, numbers, hyphens, and underscores";
|
|
14
|
-
const ALLOWED_CLUSTER_NAME_CHARACTERS_REGEX =
|
|
16
|
+
const ALLOWED_CLUSTER_NAME_CHARACTERS_REGEX = exports.ALPHANUMERIC_DASH_UNDERSCORE_REGEX;
|
|
15
17
|
exports.ALLOWED_CLUSTER_NAME_CHARACTERS_ERROR = "Cluster names can only contain ASCII letters, numbers, and hyphens.";
|
|
16
18
|
const ALLOWED_PROJECT_NAME_CHARACTERS_REGEX = /^[a-zA-Z0-9\s()@&+:._',-]+$/;
|
|
17
19
|
exports.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: ( ) @ & + : . _ - ' ,";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/tools/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,18 @@ export declare const CreateDBUserArgs: {
|
|
|
6
6
|
username: z.ZodString;
|
|
7
7
|
password: z.ZodOptional<z.ZodString>;
|
|
8
8
|
roles: z.ZodArray<z.ZodObject<{
|
|
9
|
-
roleName: z.
|
|
9
|
+
roleName: z.ZodUnion<readonly [z.ZodEnum<{
|
|
10
|
+
atlasAdmin: "atlasAdmin";
|
|
11
|
+
backup: "backup";
|
|
12
|
+
clusterMonitor: "clusterMonitor";
|
|
13
|
+
dbAdmin: "dbAdmin";
|
|
14
|
+
dbAdminAnyDatabase: "dbAdminAnyDatabase";
|
|
15
|
+
enableSharding: "enableSharding";
|
|
16
|
+
read: "read";
|
|
17
|
+
readAnyDatabase: "readAnyDatabase";
|
|
18
|
+
readWrite: "readWrite";
|
|
19
|
+
readWriteAnyDatabase: "readWriteAnyDatabase";
|
|
20
|
+
}>, z.ZodString]>;
|
|
10
21
|
databaseName: z.ZodDefault<z.ZodString>;
|
|
11
22
|
collectionName: z.ZodOptional<z.ZodString>;
|
|
12
23
|
}, z.core.$strip>>;
|
|
@@ -21,7 +32,18 @@ export declare class CreateDBUserTool extends AtlasToolBase {
|
|
|
21
32
|
username: z.ZodString;
|
|
22
33
|
password: z.ZodOptional<z.ZodString>;
|
|
23
34
|
roles: z.ZodArray<z.ZodObject<{
|
|
24
|
-
roleName: z.
|
|
35
|
+
roleName: z.ZodUnion<readonly [z.ZodEnum<{
|
|
36
|
+
atlasAdmin: "atlasAdmin";
|
|
37
|
+
backup: "backup";
|
|
38
|
+
clusterMonitor: "clusterMonitor";
|
|
39
|
+
dbAdmin: "dbAdmin";
|
|
40
|
+
dbAdminAnyDatabase: "dbAdminAnyDatabase";
|
|
41
|
+
enableSharding: "enableSharding";
|
|
42
|
+
read: "read";
|
|
43
|
+
readAnyDatabase: "readAnyDatabase";
|
|
44
|
+
readWrite: "readWrite";
|
|
45
|
+
readWriteAnyDatabase: "readWriteAnyDatabase";
|
|
46
|
+
}>, z.ZodString]>;
|
|
25
47
|
databaseName: z.ZodDefault<z.ZodString>;
|
|
26
48
|
collectionName: z.ZodOptional<z.ZodString>;
|
|
27
49
|
}, z.core.$strip>>;
|
|
@@ -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,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
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,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAkC5B,CAAC;AAOF,qBAAa,gBAAiB,SAAQ,aAAa;IAC/C,MAAM,CAAC,QAAQ,SAA0B;IAClC,WAAW,SAA2C;IAC7D,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;IACxC,SAAS;;;;;;;;;;;;;;;;;;;;;MAEd;IACc,YAAY;;;MAA4B;cAExC,OAAO,CACnB,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACnF,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAwDhD,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;CAkB9C"}
|
|
@@ -4,8 +4,10 @@ exports.CreateDBUserTool = exports.CreateDBUserArgs = void 0;
|
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const atlasTool_js_1 = require("../atlasTool.js");
|
|
6
6
|
const generatePassword_js_1 = require("../../../helpers/generatePassword.js");
|
|
7
|
+
const escapeMarkdown_js_1 = require("../../../helpers/escapeMarkdown.js");
|
|
7
8
|
const accessListUtils_js_1 = require("../../../common/atlas/accessListUtils.js");
|
|
8
9
|
const args_js_1 = require("../../args.js");
|
|
10
|
+
const roles_js_1 = require("../../../common/atlas/roles.js");
|
|
9
11
|
exports.CreateDBUserArgs = {
|
|
10
12
|
projectId: args_js_1.AtlasArgs.projectId().describe("Atlas project ID"),
|
|
11
13
|
username: args_js_1.AtlasArgs.username().describe("Username for the new user"),
|
|
@@ -17,7 +19,14 @@ exports.CreateDBUserArgs = {
|
|
|
17
19
|
.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."),
|
|
18
20
|
roles: zod_1.z
|
|
19
21
|
.array(zod_1.z.object({
|
|
20
|
-
roleName:
|
|
22
|
+
roleName: zod_1.z
|
|
23
|
+
.union([
|
|
24
|
+
zod_1.z.enum(roles_js_1.BUILT_IN_DB_USER_ROLES),
|
|
25
|
+
zod_1.z
|
|
26
|
+
.string()
|
|
27
|
+
.regex(args_js_1.ALPHANUMERIC_DASH_UNDERSCORE_REGEX, "Custom role names can only contain letters, numbers, hyphens, and underscores"),
|
|
28
|
+
])
|
|
29
|
+
.describe("Role name"),
|
|
21
30
|
databaseName: args_js_1.CommonArgs.string().describe("Database name").default("admin"),
|
|
22
31
|
collectionName: args_js_1.CommonArgs.string().describe("Collection name").optional(),
|
|
23
32
|
}))
|
|
@@ -92,7 +101,14 @@ class CreateDBUserTool extends atlasTool_js_1.AtlasToolBase {
|
|
|
92
101
|
return (`You are about to create a database user in Atlas project \`${projectId}\`:\n\n` +
|
|
93
102
|
`**Username**: \`${username}\`\n\n` +
|
|
94
103
|
`**Password**: ${password ? "(User-provided password)" : "(Auto-generated secure password)"}\n\n` +
|
|
95
|
-
`**Roles**: ${roles
|
|
104
|
+
`**Roles**: ${roles
|
|
105
|
+
.map((role) => {
|
|
106
|
+
const target = role.collectionName
|
|
107
|
+
? `${(0, escapeMarkdown_js_1.escapeMarkdown)(role.databaseName)}.${(0, escapeMarkdown_js_1.escapeMarkdown)(role.collectionName)}`
|
|
108
|
+
: (0, escapeMarkdown_js_1.escapeMarkdown)(role.databaseName);
|
|
109
|
+
return `${(0, escapeMarkdown_js_1.escapeMarkdown)(role.roleName)} on ${target}`;
|
|
110
|
+
})
|
|
111
|
+
.join(", ")}\n\n` +
|
|
96
112
|
`**Cluster Access**: ${clusters?.length ? clusters.join(", ") : "All clusters in the project"}\n\n` +
|
|
97
113
|
"This will create a new database user with the specified permissions. " +
|
|
98
114
|
"**Do you confirm the execution of the action?**");
|