mongodb-mcp-server 0.1.0 → 0.1.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/.dockerignore +11 -0
- package/.github/CODEOWNERS +0 -2
- package/.github/ISSUE_TEMPLATE/bug_report.yml +8 -0
- package/.github/workflows/check-pr-title.yml +29 -0
- package/.github/workflows/{lint.yml → check.yml} +22 -1
- package/.github/workflows/code_health.yaml +0 -22
- package/.github/workflows/code_health_fork.yaml +7 -63
- package/.github/workflows/docker.yaml +57 -0
- package/.github/workflows/stale.yml +32 -0
- package/.smithery/Dockerfile +30 -0
- package/.smithery/smithery.yaml +63 -0
- package/.vscode/extensions.json +9 -0
- package/.vscode/settings.json +11 -0
- package/CONTRIBUTING.md +1 -1
- package/Dockerfile +10 -0
- package/README.md +173 -35
- package/dist/common/atlas/apiClient.js +151 -35
- package/dist/common/atlas/apiClient.js.map +1 -1
- package/dist/common/atlas/apiClientError.js +38 -5
- package/dist/common/atlas/apiClientError.js.map +1 -1
- package/dist/common/atlas/cluster.js +66 -0
- package/dist/common/atlas/cluster.js.map +1 -0
- package/dist/common/atlas/generatePassword.js +9 -0
- package/dist/common/atlas/generatePassword.js.map +1 -0
- package/dist/helpers/EJsonTransport.js +38 -0
- package/dist/helpers/EJsonTransport.js.map +1 -0
- package/dist/helpers/connectionOptions.js +10 -0
- package/dist/helpers/connectionOptions.js.map +1 -0
- package/dist/{packageInfo.js → helpers/packageInfo.js} +1 -1
- package/dist/helpers/packageInfo.js.map +1 -0
- package/dist/index.js +23 -3
- package/dist/index.js.map +1 -1
- package/dist/logger.js +7 -0
- package/dist/logger.js.map +1 -1
- package/dist/server.js +16 -12
- package/dist/server.js.map +1 -1
- package/dist/session.js +8 -3
- package/dist/session.js.map +1 -1
- package/dist/telemetry/constants.js +1 -3
- package/dist/telemetry/constants.js.map +1 -1
- package/dist/telemetry/eventCache.js.map +1 -1
- package/dist/telemetry/telemetry.js +126 -47
- package/dist/telemetry/telemetry.js.map +1 -1
- package/dist/tools/atlas/atlasTool.js +38 -0
- package/dist/tools/atlas/atlasTool.js.map +1 -1
- package/dist/tools/atlas/create/createDBUser.js +19 -2
- package/dist/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/tools/atlas/create/createProject.js +5 -1
- package/dist/tools/atlas/create/createProject.js.map +1 -1
- package/dist/tools/atlas/metadata/connectCluster.js +5 -22
- package/dist/tools/atlas/metadata/connectCluster.js.map +1 -1
- package/dist/tools/atlas/read/inspectCluster.js +4 -24
- package/dist/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/tools/atlas/read/listAlerts.js +41 -0
- package/dist/tools/atlas/read/listAlerts.js.map +1 -0
- package/dist/tools/atlas/read/listClusters.js +9 -18
- package/dist/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/tools/atlas/read/listProjects.js +3 -1
- package/dist/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/tools/atlas/tools.js +2 -0
- package/dist/tools/atlas/tools.js.map +1 -1
- package/dist/tools/mongodb/metadata/listDatabases.js.map +1 -1
- package/dist/tools/mongodb/read/count.js +2 -2
- package/dist/tools/mongodb/read/count.js.map +1 -1
- package/dist/tools/mongodb/tools.js +2 -4
- package/dist/tools/mongodb/tools.js.map +1 -1
- package/dist/tools/tool.js +38 -6
- package/dist/tools/tool.js.map +1 -1
- package/eslint.config.js +2 -1
- package/{jest.config.ts → jest.config.cjs} +1 -1
- package/package.json +11 -9
- package/scripts/apply.ts +8 -5
- package/scripts/filter.ts +5 -0
- package/src/common/atlas/apiClient.ts +190 -38
- package/src/common/atlas/apiClientError.ts +58 -7
- package/src/common/atlas/cluster.ts +94 -0
- package/src/common/atlas/generatePassword.ts +10 -0
- package/src/common/atlas/openapi.d.ts +1876 -239
- package/src/helpers/EJsonTransport.ts +47 -0
- package/src/helpers/connectionOptions.ts +20 -0
- package/src/{packageInfo.ts → helpers/packageInfo.ts} +1 -1
- package/src/index.ts +27 -3
- package/src/logger.ts +8 -0
- package/src/server.ts +23 -15
- package/src/session.ts +8 -4
- package/src/telemetry/constants.ts +2 -3
- package/src/telemetry/eventCache.ts +1 -1
- package/src/telemetry/telemetry.ts +182 -64
- package/src/telemetry/types.ts +1 -1
- package/src/tools/atlas/atlasTool.ts +47 -1
- package/src/tools/atlas/create/createDBUser.ts +22 -2
- package/src/tools/atlas/create/createProject.ts +7 -1
- package/src/tools/atlas/metadata/connectCluster.ts +5 -27
- package/src/tools/atlas/read/inspectCluster.ts +4 -40
- package/src/tools/atlas/read/listAlerts.ts +45 -0
- package/src/tools/atlas/read/listClusters.ts +19 -36
- package/src/tools/atlas/read/listProjects.ts +4 -2
- package/src/tools/atlas/tools.ts +2 -0
- package/src/tools/mongodb/metadata/listDatabases.ts +0 -1
- package/src/tools/mongodb/read/count.ts +3 -2
- package/src/tools/mongodb/tools.ts +2 -4
- package/src/tools/tool.ts +45 -8
- package/src/types/mongodb-connection-string-url.d.ts +69 -0
- package/tests/integration/helpers.ts +41 -2
- package/tests/integration/tools/atlas/accessLists.test.ts +2 -2
- package/tests/integration/tools/atlas/alerts.test.ts +42 -0
- package/tests/integration/tools/atlas/atlasHelpers.ts +5 -3
- package/tests/integration/tools/atlas/clusters.test.ts +4 -4
- package/tests/integration/tools/atlas/dbUsers.test.ts +58 -33
- package/tests/integration/tools/atlas/orgs.test.ts +2 -2
- package/tests/integration/tools/atlas/projects.test.ts +3 -3
- package/tests/integration/tools/mongodb/create/createCollection.test.ts +2 -2
- package/tests/integration/tools/mongodb/create/createIndex.test.ts +2 -2
- package/tests/integration/tools/mongodb/create/insertMany.test.ts +1 -1
- package/tests/integration/tools/mongodb/delete/dropCollection.test.ts +1 -1
- package/tests/integration/tools/mongodb/metadata/collectionSchema.test.ts +2 -2
- package/tests/integration/tools/mongodb/metadata/connect.test.ts +2 -6
- package/tests/integration/tools/mongodb/metadata/dbStats.test.ts +4 -4
- package/tests/integration/tools/mongodb/metadata/explain.test.ts +10 -10
- package/tests/integration/tools/mongodb/metadata/listCollections.test.ts +1 -1
- package/tests/integration/tools/mongodb/metadata/listDatabases.test.ts +9 -5
- package/tests/integration/tools/mongodb/metadata/logs.test.ts +4 -4
- package/tests/integration/tools/mongodb/mongodbHelpers.ts +15 -24
- package/tests/integration/tools/mongodb/read/aggregate.test.ts +22 -7
- package/tests/integration/tools/mongodb/read/collectionIndexes.test.ts +5 -5
- package/tests/integration/tools/mongodb/read/count.test.ts +15 -10
- package/tests/integration/tools/mongodb/read/find.test.ts +32 -4
- package/tests/integration/tools/mongodb/update/renameCollection.test.ts +4 -4
- package/tests/unit/EJsonTransport.test.ts +71 -0
- package/tests/unit/apiClient.test.ts +193 -0
- package/tests/unit/session.test.ts +65 -0
- package/tests/unit/telemetry.test.ts +222 -80
- package/tsconfig.build.json +2 -1
- package/dist/packageInfo.js.map +0 -1
- package/dist/telemetry/device-id.js +0 -20
- package/dist/telemetry/device-id.js.map +0 -1
- package/src/telemetry/device-id.ts +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,50 @@
|
|
|
1
1
|
export class ApiClientError extends Error {
|
|
2
|
-
constructor(message, response
|
|
2
|
+
constructor(message, response, apiError) {
|
|
3
3
|
super(message);
|
|
4
|
-
this.name = "ApiClientError";
|
|
5
4
|
this.response = response;
|
|
5
|
+
this.apiError = apiError;
|
|
6
|
+
this.name = "ApiClientError";
|
|
6
7
|
}
|
|
7
8
|
static async fromResponse(response, message = `error calling Atlas API`) {
|
|
9
|
+
const err = await this.extractError(response);
|
|
10
|
+
return this.fromError(response, err, message);
|
|
11
|
+
}
|
|
12
|
+
static fromError(response, error, message = `error calling Atlas API`) {
|
|
13
|
+
const errorMessage = this.buildErrorMessage(error);
|
|
14
|
+
const apiError = typeof error === "object" && !(error instanceof Error) ? error : undefined;
|
|
15
|
+
return new ApiClientError(`[${response.status} ${response.statusText}] ${message}: ${errorMessage}`, response, apiError);
|
|
16
|
+
}
|
|
17
|
+
static async extractError(response) {
|
|
8
18
|
try {
|
|
9
|
-
|
|
10
|
-
return new ApiClientError(`${message}: [${response.status} ${response.statusText}] ${text}`, response);
|
|
19
|
+
return (await response.json());
|
|
11
20
|
}
|
|
12
21
|
catch {
|
|
13
|
-
|
|
22
|
+
try {
|
|
23
|
+
return await response.text();
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static buildErrorMessage(error) {
|
|
31
|
+
let errorMessage = "unknown error";
|
|
32
|
+
if (error instanceof Error) {
|
|
33
|
+
return error.message;
|
|
34
|
+
}
|
|
35
|
+
//eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
36
|
+
switch (typeof error) {
|
|
37
|
+
case "object":
|
|
38
|
+
errorMessage = error.reason || "unknown error";
|
|
39
|
+
if (error.detail && error.detail.length > 0) {
|
|
40
|
+
errorMessage = `${errorMessage}; ${error.detail}`;
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
case "string":
|
|
44
|
+
errorMessage = error;
|
|
45
|
+
break;
|
|
14
46
|
}
|
|
47
|
+
return errorMessage.trim();
|
|
15
48
|
}
|
|
16
49
|
}
|
|
17
50
|
//# sourceMappingURL=apiClientError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClientError.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClientError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiClientError.js","sourceRoot":"","sources":["../../../src/common/atlas/apiClientError.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAe,SAAQ,KAAK;IACrC,YACI,OAAe,EACC,QAAkB,EAClB,QAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAU;QAClB,aAAQ,GAAR,QAAQ,CAAW;QAGnC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACrB,QAAkB,EAClB,UAAkB,yBAAyB;QAE3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,SAAS,CACZ,QAAkB,EAClB,KAAiC,EACjC,UAAkB,yBAAyB;QAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,OAAO,IAAI,cAAc,CACrB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,KAAK,YAAY,EAAE,EACzE,QAAQ,EACR,QAAQ,CACX,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAkB;QAChD,IAAI,CAAC;YACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,CAAC;gBACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,KAAiC;QAC9D,IAAI,YAAY,GAAW,eAAe,CAAC;QAE3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,yEAAyE;QACzE,QAAQ,OAAO,KAAK,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACT,YAAY,GAAG,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC;gBAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,YAAY,GAAG,GAAG,YAAY,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtD,CAAC;gBACD,MAAM;YACV,KAAK,QAAQ;gBACT,YAAY,GAAG,KAAK,CAAC;gBACrB,MAAM;QACd,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;CACJ"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import logger, { LogId } from "../../logger.js";
|
|
2
|
+
export function formatFlexCluster(cluster) {
|
|
3
|
+
return {
|
|
4
|
+
name: cluster.name,
|
|
5
|
+
instanceType: "FLEX",
|
|
6
|
+
instanceSize: undefined,
|
|
7
|
+
state: cluster.stateName,
|
|
8
|
+
mongoDBVersion: cluster.mongoDBVersion,
|
|
9
|
+
connectionString: cluster.connectionStrings?.standardSrv || cluster.connectionStrings?.standard,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function formatCluster(cluster) {
|
|
13
|
+
const regionConfigs = (cluster.replicationSpecs || [])
|
|
14
|
+
.map((replicationSpec) => (replicationSpec.regionConfigs || []))
|
|
15
|
+
.flat()
|
|
16
|
+
.map((regionConfig) => {
|
|
17
|
+
return {
|
|
18
|
+
providerName: regionConfig.providerName,
|
|
19
|
+
instanceSize: regionConfig.electableSpecs?.instanceSize ||
|
|
20
|
+
regionConfig.readOnlySpecs?.instanceSize ||
|
|
21
|
+
regionConfig.analyticsSpecs?.instanceSize,
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
const instanceSize = regionConfigs[0]?.instanceSize ?? "UNKNOWN";
|
|
25
|
+
const clusterInstanceType = instanceSize == "M0" ? "FREE" : "DEDICATED";
|
|
26
|
+
return {
|
|
27
|
+
name: cluster.name,
|
|
28
|
+
instanceType: clusterInstanceType,
|
|
29
|
+
instanceSize: clusterInstanceType == "DEDICATED" ? instanceSize : undefined,
|
|
30
|
+
state: cluster.stateName,
|
|
31
|
+
mongoDBVersion: cluster.mongoDBVersion,
|
|
32
|
+
connectionString: cluster.connectionStrings?.standardSrv || cluster.connectionStrings?.standard,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export async function inspectCluster(apiClient, projectId, clusterName) {
|
|
36
|
+
try {
|
|
37
|
+
const cluster = await apiClient.getCluster({
|
|
38
|
+
params: {
|
|
39
|
+
path: {
|
|
40
|
+
groupId: projectId,
|
|
41
|
+
clusterName,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
return formatCluster(cluster);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
try {
|
|
49
|
+
const cluster = await apiClient.getFlexCluster({
|
|
50
|
+
params: {
|
|
51
|
+
path: {
|
|
52
|
+
groupId: projectId,
|
|
53
|
+
name: clusterName,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
return formatFlexCluster(cluster);
|
|
58
|
+
}
|
|
59
|
+
catch (flexError) {
|
|
60
|
+
const err = flexError instanceof Error ? flexError : new Error(String(flexError));
|
|
61
|
+
logger.error(LogId.atlasInspectFailure, "inspect-cluster", `error inspecting cluster: ${err.message}`);
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=cluster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../src/common/atlas/cluster.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAWhD,MAAM,UAAU,iBAAiB,CAAC,OAAuC;IACrE,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,SAAS;QACvB,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,QAAQ;KAClG,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmC;IAC7D,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACjD,GAAG,CACA,CAAC,eAAe,EAAE,EAAE,CAChB,CAAC,eAAe,CAAC,aAAa,IAAI,EAAE,CAWjC,CACV;SACA,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAClB,OAAO;YACH,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,YAAY,EACR,YAAY,CAAC,cAAc,EAAE,YAAY;gBACzC,YAAY,CAAC,aAAa,EAAE,YAAY;gBACxC,YAAY,CAAC,cAAc,EAAE,YAAY;SAChD,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,SAAS,CAAC;IACjE,MAAM,mBAAmB,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAExE,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,mBAAmB;QACjC,YAAY,EAAE,mBAAmB,IAAI,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC3E,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,QAAQ;KAClG,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,SAAiB,EAAE,WAAmB;IAC7F,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC;YACvC,MAAM,EAAE;gBACJ,IAAI,EAAE;oBACF,OAAO,EAAE,SAAS;oBAClB,WAAW;iBACd;aACJ;SACJ,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;gBAC3C,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,OAAO,EAAE,SAAS;wBAClB,IAAI,EAAE,WAAW;qBACpB;iBACJ;aACJ,CAAC,CAAC;YACH,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvG,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { randomBytes } from "crypto";
|
|
2
|
+
import { promisify } from "util";
|
|
3
|
+
const randomBytesAsync = promisify(randomBytes);
|
|
4
|
+
export async function generateSecurePassword() {
|
|
5
|
+
const buf = await randomBytesAsync(16);
|
|
6
|
+
const pass = buf.toString("base64url");
|
|
7
|
+
return pass;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=generatePassword.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generatePassword.js","sourceRoot":"","sources":["../../../src/common/atlas/generatePassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,sBAAsB;IACxC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { JSONRPCMessageSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { EJSON } from "bson";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
// This is almost a copy of ReadBuffer from @modelcontextprotocol/sdk
|
|
5
|
+
// but it uses EJSON.parse instead of JSON.parse to handle BSON types
|
|
6
|
+
export class EJsonReadBuffer {
|
|
7
|
+
append(chunk) {
|
|
8
|
+
this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk]) : chunk;
|
|
9
|
+
}
|
|
10
|
+
readMessage() {
|
|
11
|
+
if (!this._buffer) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const index = this._buffer.indexOf("\n");
|
|
15
|
+
if (index === -1) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const line = this._buffer.toString("utf8", 0, index).replace(/\r$/, "");
|
|
19
|
+
this._buffer = this._buffer.subarray(index + 1);
|
|
20
|
+
// This is using EJSON.parse instead of JSON.parse to handle BSON types
|
|
21
|
+
return JSONRPCMessageSchema.parse(EJSON.parse(line));
|
|
22
|
+
}
|
|
23
|
+
clear() {
|
|
24
|
+
this._buffer = undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// This is a hacky workaround for https://github.com/mongodb-js/mongodb-mcp-server/issues/211
|
|
28
|
+
// The underlying issue is that StdioServerTransport uses JSON.parse to deserialize
|
|
29
|
+
// messages, but that doesn't handle bson types, such as ObjectId when serialized as EJSON.
|
|
30
|
+
//
|
|
31
|
+
// This function creates a StdioServerTransport and replaces the internal readBuffer with EJsonReadBuffer
|
|
32
|
+
// that uses EJson.parse instead.
|
|
33
|
+
export function createEJsonTransport() {
|
|
34
|
+
const server = new StdioServerTransport();
|
|
35
|
+
server["_readBuffer"] = new EJsonReadBuffer();
|
|
36
|
+
return server;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=EJsonTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EJsonTransport.js","sourceRoot":"","sources":["../../src/helpers/EJsonTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,qEAAqE;AACrE,qEAAqE;AACrE,MAAM,OAAO,eAAe;IAGxB,MAAM,CAAC,KAAa;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/E,CAAC;IAED,WAAW;QACP,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEhD,uEAAuE;QACvE,OAAO,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;CACJ;AAED,6FAA6F;AAC7F,mFAAmF;AACnF,2FAA2F;AAC3F,EAAE;AACF,yGAAyG;AACzG,iCAAiC;AACjC,MAAM,UAAU,oBAAoB;IAChC,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC1C,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import ConnectionString from "mongodb-connection-string-url";
|
|
2
|
+
export function setAppNameParamIfMissing({ connectionString, defaultAppName, }) {
|
|
3
|
+
const connectionStringUrl = new ConnectionString(connectionString);
|
|
4
|
+
const searchParams = connectionStringUrl.typedSearchParams();
|
|
5
|
+
if (!searchParams.has("appName") && defaultAppName !== undefined) {
|
|
6
|
+
searchParams.set("appName", defaultAppName);
|
|
7
|
+
}
|
|
8
|
+
return connectionStringUrl.toString();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=connectionOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionOptions.js","sourceRoot":"","sources":["../../src/helpers/connectionOptions.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,MAAM,UAAU,wBAAwB,CAAC,EACrC,gBAAgB,EAChB,cAAc,GAIjB;IACG,MAAM,mBAAmB,GAAG,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,EAAsB,CAAC;IAEjF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/D,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../../src/helpers/packageInfo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,aAAa,EAAE,oBAAoB;CACtC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
2
|
import logger, { LogId } from "./logger.js";
|
|
4
3
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
4
|
import { config } from "./config.js";
|
|
6
5
|
import { Session } from "./session.js";
|
|
7
6
|
import { Server } from "./server.js";
|
|
8
|
-
import { packageInfo } from "./packageInfo.js";
|
|
7
|
+
import { packageInfo } from "./helpers/packageInfo.js";
|
|
8
|
+
import { Telemetry } from "./telemetry/telemetry.js";
|
|
9
|
+
import { createEJsonTransport } from "./helpers/EJsonTransport.js";
|
|
9
10
|
try {
|
|
10
11
|
const session = new Session({
|
|
11
12
|
apiBaseUrl: config.apiBaseUrl,
|
|
@@ -16,12 +17,31 @@ try {
|
|
|
16
17
|
name: packageInfo.mcpServerName,
|
|
17
18
|
version: packageInfo.version,
|
|
18
19
|
});
|
|
20
|
+
const telemetry = Telemetry.create(session, config);
|
|
19
21
|
const server = new Server({
|
|
20
22
|
mcpServer,
|
|
21
23
|
session,
|
|
24
|
+
telemetry,
|
|
22
25
|
userConfig: config,
|
|
23
26
|
});
|
|
24
|
-
const transport =
|
|
27
|
+
const transport = createEJsonTransport();
|
|
28
|
+
const shutdown = () => {
|
|
29
|
+
logger.info(LogId.serverCloseRequested, "server", `Server close requested`);
|
|
30
|
+
server
|
|
31
|
+
.close()
|
|
32
|
+
.then(() => {
|
|
33
|
+
logger.info(LogId.serverClosed, "server", `Server closed successfully`);
|
|
34
|
+
process.exit(0);
|
|
35
|
+
})
|
|
36
|
+
.catch((err) => {
|
|
37
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
38
|
+
logger.error(LogId.serverCloseFailure, "server", `Error closing server: ${error.message}`);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
process.once("SIGINT", shutdown);
|
|
43
|
+
process.once("SIGTERM", shutdown);
|
|
44
|
+
process.once("SIGQUIT", shutdown);
|
|
25
45
|
await server.connect(transport);
|
|
26
46
|
}
|
|
27
47
|
catch (error) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;KAC1C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC5B,IAAI,EAAE,WAAW,CAAC,aAAa;QAC/B,OAAO,EAAE,WAAW,CAAC,OAAO;KAC/B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACtB,SAAS;QACT,OAAO;QACP,SAAS;QACT,UAAU,EAAE,MAAM;KACrB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QAE5E,MAAM;aACD,KAAK,EAAE;aACP,IAAI,CAAC,GAAG,EAAE;YACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAElC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAAC,OAAO,KAAc,EAAE,CAAC;IACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,+BAA+B,KAAe,EAAE,CAAC,CAAC;IACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
package/dist/logger.js
CHANGED
|
@@ -4,20 +4,27 @@ import redact from "mongodb-redact";
|
|
|
4
4
|
export const LogId = {
|
|
5
5
|
serverStartFailure: mongoLogId(1000001),
|
|
6
6
|
serverInitialized: mongoLogId(1000002),
|
|
7
|
+
serverCloseRequested: mongoLogId(1000003),
|
|
8
|
+
serverClosed: mongoLogId(1000004),
|
|
9
|
+
serverCloseFailure: mongoLogId(1000005),
|
|
7
10
|
atlasCheckCredentials: mongoLogId(1001001),
|
|
8
11
|
atlasDeleteDatabaseUserFailure: mongoLogId(1001002),
|
|
9
12
|
atlasConnectFailure: mongoLogId(1001003),
|
|
13
|
+
atlasInspectFailure: mongoLogId(1001004),
|
|
10
14
|
telemetryDisabled: mongoLogId(1002001),
|
|
11
15
|
telemetryEmitFailure: mongoLogId(1002002),
|
|
12
16
|
telemetryEmitStart: mongoLogId(1002003),
|
|
13
17
|
telemetryEmitSuccess: mongoLogId(1002004),
|
|
14
18
|
telemetryMetadataError: mongoLogId(1002005),
|
|
15
19
|
telemetryDeviceIdFailure: mongoLogId(1002006),
|
|
20
|
+
telemetryDeviceIdTimeout: mongoLogId(1002007),
|
|
21
|
+
telemetryContainerEnvFailure: mongoLogId(1002008),
|
|
16
22
|
toolExecute: mongoLogId(1003001),
|
|
17
23
|
toolExecuteFailure: mongoLogId(1003002),
|
|
18
24
|
toolDisabled: mongoLogId(1003003),
|
|
19
25
|
mongodbConnectFailure: mongoLogId(1004001),
|
|
20
26
|
mongodbDisconnectFailure: mongoLogId(1004002),
|
|
27
|
+
toolUpdateFailure: mongoLogId(1005001),
|
|
21
28
|
};
|
|
22
29
|
class LoggerBase {
|
|
23
30
|
info(id, context, message) {
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAc,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AAC7F,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAMpC,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,kBAAkB,EAAE,UAAU,CAAC,OAAS,CAAC;IACzC,iBAAiB,EAAE,UAAU,CAAC,OAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -2,14 +2,13 @@ import { AtlasTools } from "./tools/atlas/tools.js";
|
|
|
2
2
|
import { MongoDbTools } from "./tools/mongodb/tools.js";
|
|
3
3
|
import logger, { initializeLogger, LogId } from "./logger.js";
|
|
4
4
|
import { ObjectId } from "mongodb";
|
|
5
|
-
import { Telemetry } from "./telemetry/telemetry.js";
|
|
6
5
|
import { CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
7
6
|
import assert from "assert";
|
|
8
7
|
export class Server {
|
|
9
|
-
constructor({ session, mcpServer, userConfig }) {
|
|
8
|
+
constructor({ session, mcpServer, userConfig, telemetry }) {
|
|
10
9
|
this.startTime = Date.now();
|
|
11
10
|
this.session = session;
|
|
12
|
-
this.telemetry =
|
|
11
|
+
this.telemetry = telemetry;
|
|
13
12
|
this.mcpServer = mcpServer;
|
|
14
13
|
this.userConfig = userConfig;
|
|
15
14
|
}
|
|
@@ -50,6 +49,7 @@ export class Server {
|
|
|
50
49
|
await this.validateConfig();
|
|
51
50
|
}
|
|
52
51
|
async close() {
|
|
52
|
+
await this.telemetry.close();
|
|
53
53
|
await this.session.close();
|
|
54
54
|
await this.mcpServer.close();
|
|
55
55
|
}
|
|
@@ -82,7 +82,7 @@ export class Server {
|
|
|
82
82
|
event.properties.reason = error.message;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
this.telemetry.emitEvents([event])
|
|
85
|
+
this.telemetry.emitEvents([event]);
|
|
86
86
|
}
|
|
87
87
|
registerTools() {
|
|
88
88
|
for (const tool of [...AtlasTools, ...MongoDbTools]) {
|
|
@@ -116,14 +116,6 @@ export class Server {
|
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
118
|
async validateConfig() {
|
|
119
|
-
const isAtlasConfigured = this.userConfig.apiClientId && this.userConfig.apiClientSecret;
|
|
120
|
-
const isMongoDbConfigured = this.userConfig.connectionString;
|
|
121
|
-
if (!isAtlasConfigured && !isMongoDbConfigured) {
|
|
122
|
-
console.error("Either Atlas Client Id or a MongoDB connection string must be configured - you can provide them as environment variables or as startup arguments. \n" +
|
|
123
|
-
"Provide the Atlas credentials as `MDB_MCP_API_CLIENT_ID` and `MDB_MCP_API_CLIENT_SECRET` environment variables or as `--apiClientId` and `--apiClientSecret` startup arguments. \n" +
|
|
124
|
-
"Provide the MongoDB connection string as `MDB_MCP_CONNECTION_STRING` environment variable or as `--connectionString` startup argument.");
|
|
125
|
-
throw new Error("Either Atlas Client Id or a MongoDB connection string must be configured");
|
|
126
|
-
}
|
|
127
119
|
if (this.userConfig.connectionString) {
|
|
128
120
|
try {
|
|
129
121
|
await this.session.connectToMongoDB(this.userConfig.connectionString, this.userConfig.connectOptions);
|
|
@@ -133,6 +125,18 @@ export class Server {
|
|
|
133
125
|
throw new Error("Failed to connect to MongoDB instance using the connection string from the config");
|
|
134
126
|
}
|
|
135
127
|
}
|
|
128
|
+
if (this.userConfig.apiClientId && this.userConfig.apiClientSecret) {
|
|
129
|
+
try {
|
|
130
|
+
await this.session.apiClient.validateAccessToken();
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (this.userConfig.connectionString === undefined) {
|
|
134
|
+
console.error("Failed to validate MongoDB Atlas the credentials from the config: ", error);
|
|
135
|
+
throw new Error("Failed to connect to MongoDB Atlas instance using the credentials from the config");
|
|
136
|
+
}
|
|
137
|
+
console.error("Failed to validate MongoDB Atlas the credentials from the config, but validated the connection string.");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
136
140
|
}
|
|
137
141
|
}
|
|
138
142
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,MAAM,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -2,6 +2,8 @@ import { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver
|
|
|
2
2
|
import { ApiClient } from "./common/atlas/apiClient.js";
|
|
3
3
|
import logger, { LogId } from "./logger.js";
|
|
4
4
|
import EventEmitter from "events";
|
|
5
|
+
import { setAppNameParamIfMissing } from "./helpers/connectionOptions.js";
|
|
6
|
+
import { packageInfo } from "./helpers/packageInfo.js";
|
|
5
7
|
export class Session extends EventEmitter {
|
|
6
8
|
constructor({ apiBaseUrl, apiClientId, apiClientSecret }) {
|
|
7
9
|
super();
|
|
@@ -61,8 +63,12 @@ export class Session extends EventEmitter {
|
|
|
61
63
|
this.emit("close");
|
|
62
64
|
}
|
|
63
65
|
async connectToMongoDB(connectionString, connectOptions) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
connectionString = setAppNameParamIfMissing({
|
|
67
|
+
connectionString,
|
|
68
|
+
defaultAppName: `${packageInfo.mcpServerName} ${packageInfo.version}`,
|
|
69
|
+
});
|
|
70
|
+
this.serviceProvider = await NodeDriverServiceProvider.connect(connectionString, {
|
|
71
|
+
productDocsLink: "https://github.com/mongodb-js/mongodb-mcp-server/",
|
|
66
72
|
productName: "MongoDB MCP",
|
|
67
73
|
readConcern: {
|
|
68
74
|
level: connectOptions.readConcern,
|
|
@@ -73,7 +79,6 @@ export class Session extends EventEmitter {
|
|
|
73
79
|
},
|
|
74
80
|
timeoutMS: connectOptions.timeoutMS,
|
|
75
81
|
});
|
|
76
|
-
this.serviceProvider = provider;
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
84
|
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,YAAY,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { packageInfo } from "../packageInfo.js";
|
|
2
|
-
import { getDeviceId } from "./device-id.js";
|
|
1
|
+
import { packageInfo } from "../helpers/packageInfo.js";
|
|
3
2
|
/**
|
|
4
3
|
* Machine-specific metadata formatted for telemetry
|
|
5
4
|
*/
|
|
6
5
|
export const MACHINE_METADATA = {
|
|
7
|
-
device_id: getDeviceId(),
|
|
8
6
|
mcp_server_version: packageInfo.version,
|
|
9
7
|
mcp_server_name: packageInfo.mcpServerName,
|
|
10
8
|
platform: process.platform,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/telemetry/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/telemetry/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACpD,kBAAkB,EAAE,WAAW,CAAC,OAAO;IACvC,eAAe,EAAE,WAAW,CAAC,aAAa;IAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,OAAO,EAAE,OAAO,CAAC,QAAQ;IACzB,UAAU,EAAE,OAAO,CAAC,OAAO;CACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventCache.js","sourceRoot":"","sources":["../../src/telemetry/eventCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eventCache.js","sourceRoot":"","sources":["../../src/telemetry/eventCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAOnB;QAFQ,WAAM,GAAG,CAAC,CAAC;QAGf,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC;YACtB,GAAG,EAAE,UAAU,CAAC,UAAU;YAC1B,0CAA0C;YAC1C,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,KAAK;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvB,UAAU,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,MAAmB;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,WAAW;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;;AAlDuB,qBAAU,GAAG,IAAI,AAAP,CAAQ"}
|