@himanshusinghs/mongodb-mcp-server 0.3.0 → 0.3.1-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 +108 -44
- 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 +9 -3
- package/dist/cjs/common/config.d.ts.map +1 -1
- package/dist/cjs/common/config.js +88 -5
- 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.map +1 -1
- package/dist/cjs/common/connectionManager.js +7 -11
- 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 +1 -1
- package/dist/cjs/common/exportsManager.d.ts.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 +10 -2
- 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 +2 -1
- package/dist/cjs/common/session.js.map +1 -1
- package/dist/cjs/helpers/connectionOptions.js +3 -6
- package/dist/cjs/helpers/connectionOptions.js.map +1 -1
- package/dist/cjs/index.js +9 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib.d.ts +4 -1
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +6 -3
- package/dist/cjs/lib.js.map +1 -1
- package/dist/cjs/server.d.ts +4 -1
- package/dist/cjs/server.d.ts.map +1 -1
- package/dist/cjs/server.js +16 -5
- 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 +48 -0
- package/dist/cjs/telemetry/types.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js +49 -25
- package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.js +4 -0
- package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.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 +12 -0
- package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/cjs/tools/tool.d.ts.map +1 -1
- package/dist/cjs/tools/tool.js +11 -5
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts +14 -3
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +14 -5
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/stdio.d.ts +2 -5
- package/dist/cjs/transports/stdio.d.ts.map +1 -1
- package/dist/cjs/transports/stdio.js +2 -3
- package/dist/cjs/transports/stdio.js.map +1 -1
- package/dist/cjs/transports/streamableHttp.d.ts +3 -5
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +18 -6
- 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 +9 -3
- package/dist/esm/common/config.d.ts.map +1 -1
- package/dist/esm/common/config.js +85 -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.map +1 -1
- package/dist/esm/common/connectionManager.js +6 -7
- 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 +1 -1
- package/dist/esm/common/exportsManager.d.ts.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 +10 -2
- 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 +2 -1
- package/dist/esm/common/session.js.map +1 -1
- package/dist/esm/helpers/connectionOptions.js +1 -1
- package/dist/esm/helpers/connectionOptions.js.map +1 -1
- package/dist/esm/index.js +9 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib.d.ts +4 -1
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +2 -1
- package/dist/esm/lib.js.map +1 -1
- package/dist/esm/server.d.ts +4 -1
- package/dist/esm/server.d.ts.map +1 -1
- package/dist/esm/server.js +16 -5
- 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 +48 -0
- package/dist/esm/telemetry/types.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js +49 -25
- package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.js +4 -0
- package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js +1 -1
- package/dist/esm/tools/atlas/read/listProjects.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 +12 -0
- package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/esm/tools/tool.d.ts.map +1 -1
- package/dist/esm/tools/tool.js +11 -5
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts +14 -3
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +14 -5
- package/dist/esm/transports/base.js.map +1 -1
- package/dist/esm/transports/stdio.d.ts +2 -5
- package/dist/esm/transports/stdio.d.ts.map +1 -1
- package/dist/esm/transports/stdio.js +2 -3
- package/dist/esm/transports/stdio.js.map +1 -1
- package/dist/esm/transports/streamableHttp.d.ts +3 -5
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +18 -6
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ErrorCodes } from "./errors.js";
|
|
2
|
+
export const connectionErrorHandler = (error, { availableTools, connectionState }) => {
|
|
3
|
+
const connectTools = availableTools
|
|
4
|
+
.filter((t) => t.operationType === "connect")
|
|
5
|
+
.sort((a, b) => a.category.localeCompare(b.category)); // Sort Atlas tools before MongoDB tools
|
|
6
|
+
// Find the first Atlas connect tool if available and suggest to the LLM to use it.
|
|
7
|
+
// Note: if we ever have multiple Atlas connect tools, we may want to refine this logic to select the most appropriate one.
|
|
8
|
+
const atlasConnectTool = connectTools?.find((t) => t.category === "atlas");
|
|
9
|
+
const llmConnectHint = atlasConnectTool
|
|
10
|
+
? `Note to LLM: prefer using the "${atlasConnectTool.name}" tool to connect to an Atlas cluster over using a connection string. Make sure to ask the user to specify a cluster name they want to connect to or ask them if they want to use the "list-clusters" tool to list all their clusters. Do not invent cluster names or connection strings unless the user has explicitly specified them. If they've previously connected to MongoDB using MCP, you can ask them if they want to reconnect using the same cluster/connection.`
|
|
11
|
+
: "Note to LLM: do not invent connection strings and explicitly ask the user to provide one. If they have previously connected to MongoDB using MCP, you can ask them if they want to reconnect using the same connection string.";
|
|
12
|
+
const connectToolsNames = connectTools?.map((t) => `"${t.name}"`).join(", ");
|
|
13
|
+
const additionalPromptForConnectivity = [];
|
|
14
|
+
if (connectionState.tag === "connecting" && connectionState.oidcConnectionType) {
|
|
15
|
+
additionalPromptForConnectivity.push({
|
|
16
|
+
type: "text",
|
|
17
|
+
text: `The user needs to finish their OIDC connection by opening '${connectionState.oidcLoginUrl}' in the browser and use the following user code: '${connectionState.oidcUserCode}'`,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
additionalPromptForConnectivity.push({
|
|
22
|
+
type: "text",
|
|
23
|
+
text: connectToolsNames
|
|
24
|
+
? `Please use one of the following tools: ${connectToolsNames} to connect to a MongoDB instance or update the MCP server configuration to include a connection string. ${llmConnectHint}`
|
|
25
|
+
: "There are no tools available to connect. Please update the configuration to include a connection string and restart the server.",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
switch (error.code) {
|
|
29
|
+
case ErrorCodes.NotConnectedToMongoDB:
|
|
30
|
+
return {
|
|
31
|
+
errorHandled: true,
|
|
32
|
+
result: {
|
|
33
|
+
content: [
|
|
34
|
+
{
|
|
35
|
+
type: "text",
|
|
36
|
+
text: "You need to connect to a MongoDB instance before you can access its data.",
|
|
37
|
+
},
|
|
38
|
+
...additionalPromptForConnectivity,
|
|
39
|
+
],
|
|
40
|
+
isError: true,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
case ErrorCodes.MisconfiguredConnectionString:
|
|
44
|
+
return {
|
|
45
|
+
errorHandled: true,
|
|
46
|
+
result: {
|
|
47
|
+
content: [
|
|
48
|
+
{
|
|
49
|
+
type: "text",
|
|
50
|
+
text: "The configured connection string is not valid. Please check the connection string and confirm it points to a valid MongoDB instance.",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
type: "text",
|
|
54
|
+
text: connectTools
|
|
55
|
+
? `Alternatively, you can use one of the following tools: ${connectToolsNames} to connect to a MongoDB instance. ${llmConnectHint}`
|
|
56
|
+
: "Please update the configuration to use a valid connection string and restart the server.",
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
isError: true,
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
default:
|
|
63
|
+
return { errorHandled: false };
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=connectionErrorHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionErrorHandler.js","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAa5D,MAAM,CAAC,MAAM,sBAAsB,GAA2B,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,EAAE;IACzG,MAAM,YAAY,GAAG,cAAc;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC;SAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wCAAwC;IAEnG,mFAAmF;IACnF,2HAA2H;IAC3H,MAAM,gBAAgB,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,gBAAgB;QACnC,CAAC,CAAC,kCAAkC,gBAAgB,CAAC,IAAI,6cAA6c;QACtgB,CAAC,CAAC,gOAAgO,CAAC;IAEvO,MAAM,iBAAiB,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,+BAA+B,GAAqC,EAAE,CAAC;IAE7E,IAAI,eAAe,CAAC,GAAG,KAAK,YAAY,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;QAC7E,+BAA+B,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,8DAA8D,eAAe,CAAC,YAAY,sDAAsD,eAAe,CAAC,YAAY,GAAG;SACxL,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,+BAA+B,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,iBAAiB;gBACnB,CAAC,CAAC,0CAA0C,iBAAiB,4GAA4G,cAAc,EAAE;gBACzL,CAAC,CAAC,iIAAiI;SAC1I,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC,qBAAqB;YACjC,OAAO;gBACH,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,2EAA2E;yBACpF;wBACD,GAAG,+BAA+B;qBACrC;oBACD,OAAO,EAAE,IAAI;iBAChB;aACJ,CAAC;QACN,KAAK,UAAU,CAAC,6BAA6B;YACzC,OAAO;gBACH,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,sIAAsI;yBAC/I;wBACD;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,YAAY;gCACd,CAAC,CAAC,0DAA0D,iBAAiB,sCAAsC,cAAc,EAAE;gCACnI,CAAC,CAAC,0FAA0F;yBACnG;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB;aACJ,CAAC;QAEN;YACI,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectionManager.d.ts","sourceRoot":"","sources":["../../../src/common/connectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAA2C,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3G,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,aAAa,CAAC;AAIrD,MAAM,WAAW,0BAA0B;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,0BAA0B,CAAC;CACtC;AAED,KAAK,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;AAC7E,KAAK,sBAAsB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,sBAAsB,GAAG,OAAO,CAAC;AAExG,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,aAAa,CAAC;IACnB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;CACtD;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC7D,GAAG,EAAE,WAAW,CAAC;IACjB,eAAe,EAAE,yBAAyB,CAAC;CAC9C;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAC9D,GAAG,EAAE,YAAY,CAAC;IAClB,eAAe,EAAE,yBAAyB,CAAC;IAC3C,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,2BAA4B,SAAQ,eAAe;IAChE,GAAG,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC3D,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GACxB,wBAAwB,GACxB,yBAAyB,GACzB,2BAA2B,GAC3B,sBAAsB,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACpC,oBAAoB,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAC3C,oBAAoB,EAAE,CAAC,wBAAwB,CAAC,CAAC;IACjD,qBAAqB,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAChD,kBAAkB,EAAE,CAAC,2BAA2B,CAAC,CAAC;IAClD,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,CAAC;CAChD;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACpD,WAAW,CAAC,KAAK,SAAS,MAAM,uBAAuB,EAAE,KAAK,SAAS,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACpG,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,GAChB,KAAK,CAAC;CACZ,CAAC;AAEF,8BAAsB,iBAAiB;IACnC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"connectionManager.d.ts","sourceRoot":"","sources":["../../../src/common/connectionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from "events";
|
|
2
|
-
import ConnectionString from "mongodb-connection-string-url";
|
|
2
|
+
import { ConnectionString } from "mongodb-connection-string-url";
|
|
3
3
|
import { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
|
|
4
4
|
import { generateConnectionInfoFromCliArgs } from "@mongosh/arg-parser";
|
|
5
5
|
import { defaultDriverOptions, setupDriverConfig } from "./config.js";
|
|
@@ -87,15 +87,14 @@ export class MCPConnectionManager extends ConnectionManager {
|
|
|
87
87
|
throw new MongoDBError(ErrorCodes.MisconfiguredConnectionString, errorReason);
|
|
88
88
|
}
|
|
89
89
|
try {
|
|
90
|
-
|
|
91
|
-
if (connectionType.startsWith("oidc")) {
|
|
90
|
+
if (connectionStringAuthType.startsWith("oidc")) {
|
|
92
91
|
void this.pingAndForget(serviceProvider);
|
|
93
92
|
return this.changeState("connection-request", {
|
|
94
93
|
tag: "connecting",
|
|
95
94
|
connectedAtlasCluster: settings.atlas,
|
|
96
95
|
serviceProvider,
|
|
97
|
-
connectionStringAuthType
|
|
98
|
-
oidcConnectionType:
|
|
96
|
+
connectionStringAuthType,
|
|
97
|
+
oidcConnectionType: connectionStringAuthType,
|
|
99
98
|
});
|
|
100
99
|
}
|
|
101
100
|
await serviceProvider?.runCommand?.("admin", { hello: 1 });
|
|
@@ -103,7 +102,7 @@ export class MCPConnectionManager extends ConnectionManager {
|
|
|
103
102
|
tag: "connected",
|
|
104
103
|
connectedAtlasCluster: settings.atlas,
|
|
105
104
|
serviceProvider,
|
|
106
|
-
connectionStringAuthType
|
|
105
|
+
connectionStringAuthType,
|
|
107
106
|
});
|
|
108
107
|
}
|
|
109
108
|
catch (error) {
|
|
@@ -123,7 +122,7 @@ export class MCPConnectionManager extends ConnectionManager {
|
|
|
123
122
|
}
|
|
124
123
|
if (this.currentConnectionState.tag === "connected" || this.currentConnectionState.tag === "connecting") {
|
|
125
124
|
try {
|
|
126
|
-
await this.currentConnectionState.serviceProvider?.close(
|
|
125
|
+
await this.currentConnectionState.serviceProvider?.close();
|
|
127
126
|
}
|
|
128
127
|
finally {
|
|
129
128
|
this.changeState("connection-close", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectionManager.js","sourceRoot":"","sources":["../../../src/common/connectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"connectionManager.js","sourceRoot":"","sources":["../../../src/common/connectionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export declare enum ErrorCodes {
|
|
2
2
|
NotConnectedToMongoDB = 1000000,
|
|
3
3
|
MisconfiguredConnectionString = 1000001,
|
|
4
|
-
ForbiddenCollscan = 1000002
|
|
4
|
+
ForbiddenCollscan = 1000002,
|
|
5
|
+
ForbiddenWriteOperation = 1000003
|
|
5
6
|
}
|
|
6
|
-
export declare class MongoDBError extends Error {
|
|
7
|
-
code:
|
|
8
|
-
constructor(code:
|
|
7
|
+
export declare class MongoDBError<ErrorCode extends ErrorCodes = ErrorCodes> extends Error {
|
|
8
|
+
code: ErrorCode;
|
|
9
|
+
constructor(code: ErrorCode, message: string);
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,qBAAqB,UAAY;IACjC,6BAA6B,UAAY;IACzC,iBAAiB,UAAY;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,qBAAqB,UAAY;IACjC,6BAA6B,UAAY;IACzC,iBAAiB,UAAY;IAC7B,uBAAuB,UAAY;CACtC;AAED,qBAAa,YAAY,CAAC,SAAS,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,KAAK;IAEnE,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM;CAItB"}
|
|
@@ -3,6 +3,7 @@ export var ErrorCodes;
|
|
|
3
3
|
ErrorCodes[ErrorCodes["NotConnectedToMongoDB"] = 1000000] = "NotConnectedToMongoDB";
|
|
4
4
|
ErrorCodes[ErrorCodes["MisconfiguredConnectionString"] = 1000001] = "MisconfiguredConnectionString";
|
|
5
5
|
ErrorCodes[ErrorCodes["ForbiddenCollscan"] = 1000002] = "ForbiddenCollscan";
|
|
6
|
+
ErrorCodes[ErrorCodes["ForbiddenWriteOperation"] = 1000003] = "ForbiddenWriteOperation";
|
|
6
7
|
})(ErrorCodes || (ErrorCodes = {}));
|
|
7
8
|
export class MongoDBError extends Error {
|
|
8
9
|
constructor(code, message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mGAAyC,CAAA;IACzC,2EAA6B,CAAA;IAC7B,uFAAmC,CAAA;AACvC,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,OAAO,YAAwD,SAAQ,KAAK;IAC9E,YACW,IAAe,EACtB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAW;IAI1B,CAAC;CACJ"}
|
|
@@ -40,7 +40,7 @@ type StoredExport = ReadyExport | InProgressExport;
|
|
|
40
40
|
*
|
|
41
41
|
* Ref Cursor: https://forum.cursor.com/t/cursor-mcp-resource-feature-support/50987
|
|
42
42
|
* JIRA: https://jira.mongodb.org/browse/MCP-104 */
|
|
43
|
-
type AvailableExport = Pick<StoredExport, "exportName" | "exportTitle" | "exportURI" | "exportPath">;
|
|
43
|
+
export type AvailableExport = Pick<StoredExport, "exportName" | "exportTitle" | "exportURI" | "exportPath">;
|
|
44
44
|
export type ExportsManagerConfig = Pick<UserConfig, "exportsPath" | "exportTimeoutMs" | "exportCleanupIntervalMs">;
|
|
45
45
|
type ExportsManagerEvents = {
|
|
46
46
|
closed: [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportsManager.d.ts","sourceRoot":"","sources":["../../../src/common/exportsManager.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAO7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAO,MAAM,gBAAgB,qCAAmC,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,UAAU,gBAAgB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,WAAY,SAAQ,gBAAgB;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,gBAAiB,SAAQ,gBAAgB;IAC/C,YAAY,EAAE,aAAa,CAAC;CAC/B;AAED,KAAK,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;mDAoBmD;AACnD,
|
|
1
|
+
{"version":3,"file":"exportsManager.d.ts","sourceRoot":"","sources":["../../../src/common/exportsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Secret } from "mongodb-redact";
|
|
2
|
+
export type { Secret } from "mongodb-redact";
|
|
3
|
+
/**
|
|
4
|
+
* This class holds the secrets of a single server. Ideally, we might want to have a keychain
|
|
5
|
+
* per session, but right now the loggers are set up by server and are not aware of the concept
|
|
6
|
+
* of session and this would require a bigger refactor.
|
|
7
|
+
*
|
|
8
|
+
* Whenever we identify or create a secret (for example, Atlas login, CLI arguments...) we
|
|
9
|
+
* should register them in the root Keychain (`Keychain.root.register`) or preferably
|
|
10
|
+
* on the session keychain if available `this.session.keychain`.
|
|
11
|
+
**/
|
|
12
|
+
export declare class Keychain {
|
|
13
|
+
private secrets;
|
|
14
|
+
private static rootKeychain;
|
|
15
|
+
constructor();
|
|
16
|
+
static get root(): Keychain;
|
|
17
|
+
register(value: Secret["value"], kind: Secret["kind"]): void;
|
|
18
|
+
clearAllSecrets(): void;
|
|
19
|
+
get allSecrets(): Secret[];
|
|
20
|
+
}
|
|
21
|
+
export declare function registerGlobalSecretToRedact(value: Secret["value"], kind: Secret["kind"]): void;
|
|
22
|
+
//# sourceMappingURL=keychain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../src/common/keychain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;IAQI;AACJ,qBAAa,QAAQ;IACjB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAC,YAAY,CAA4B;;IAMvD,MAAM,KAAK,IAAI,IAAI,QAAQ,CAE1B;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;IAI5D,eAAe,IAAI,IAAI;IAIvB,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;CACJ;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAE/F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This class holds the secrets of a single server. Ideally, we might want to have a keychain
|
|
3
|
+
* per session, but right now the loggers are set up by server and are not aware of the concept
|
|
4
|
+
* of session and this would require a bigger refactor.
|
|
5
|
+
*
|
|
6
|
+
* Whenever we identify or create a secret (for example, Atlas login, CLI arguments...) we
|
|
7
|
+
* should register them in the root Keychain (`Keychain.root.register`) or preferably
|
|
8
|
+
* on the session keychain if available `this.session.keychain`.
|
|
9
|
+
**/
|
|
10
|
+
export class Keychain {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.secrets = [];
|
|
13
|
+
}
|
|
14
|
+
static get root() {
|
|
15
|
+
return Keychain.rootKeychain;
|
|
16
|
+
}
|
|
17
|
+
register(value, kind) {
|
|
18
|
+
this.secrets.push({ value, kind });
|
|
19
|
+
}
|
|
20
|
+
clearAllSecrets() {
|
|
21
|
+
this.secrets = [];
|
|
22
|
+
}
|
|
23
|
+
get allSecrets() {
|
|
24
|
+
return [...this.secrets];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
Keychain.rootKeychain = new Keychain();
|
|
28
|
+
export function registerGlobalSecretToRedact(value, kind) {
|
|
29
|
+
Keychain.root.register(value, kind);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=keychain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/common/keychain.ts"],"names":[],"mappings":"AAGA;;;;;;;;IAQI;AACJ,MAAM,OAAO,QAAQ;IAIjB;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,IAAI;QACX,OAAO,QAAQ,CAAC,YAAY,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,KAAsB,EAAE,IAAoB;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,eAAe;QACX,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;;AApBc,qBAAY,GAAa,IAAI,QAAQ,EAAE,CAAC;AAuB3D,MAAM,UAAU,4BAA4B,CAAC,KAAsB,EAAE,IAAoB;IACrF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { MongoLogId } from "mongodb-log-writer";
|
|
|
2
2
|
import type { LoggingMessageNotification } from "@modelcontextprotocol/sdk/types.js";
|
|
3
3
|
import { EventEmitter } from "events";
|
|
4
4
|
import type { Server } from "../lib.js";
|
|
5
|
+
import type { Keychain } from "./keychain.js";
|
|
5
6
|
export type LogLevel = LoggingMessageNotification["params"]["level"];
|
|
6
7
|
export declare const LogId: {
|
|
7
8
|
readonly serverStartFailure: MongoLogId;
|
|
@@ -27,11 +28,13 @@ export declare const LogId: {
|
|
|
27
28
|
readonly telemetryMetadataError: MongoLogId;
|
|
28
29
|
readonly deviceIdResolutionError: MongoLogId;
|
|
29
30
|
readonly deviceIdTimeout: MongoLogId;
|
|
31
|
+
readonly telemetryClose: MongoLogId;
|
|
30
32
|
readonly toolExecute: MongoLogId;
|
|
31
33
|
readonly toolExecuteFailure: MongoLogId;
|
|
32
34
|
readonly toolDisabled: MongoLogId;
|
|
33
35
|
readonly mongodbConnectFailure: MongoLogId;
|
|
34
36
|
readonly mongodbDisconnectFailure: MongoLogId;
|
|
37
|
+
readonly mongodbConnectTry: MongoLogId;
|
|
35
38
|
readonly toolUpdateFailure: MongoLogId;
|
|
36
39
|
readonly resourceUpdateFailure: MongoLogId;
|
|
37
40
|
readonly streamableHttpTransportStarted: MongoLogId;
|
|
@@ -42,6 +45,7 @@ export declare const LogId: {
|
|
|
42
45
|
readonly streamableHttpTransportCloseFailure: MongoLogId;
|
|
43
46
|
readonly streamableHttpTransportKeepAliveFailure: MongoLogId;
|
|
44
47
|
readonly streamableHttpTransportKeepAlive: MongoLogId;
|
|
48
|
+
readonly streamableHttpTransportHttpHostWarning: MongoLogId;
|
|
45
49
|
readonly exportCleanupError: MongoLogId;
|
|
46
50
|
readonly exportCreationError: MongoLogId;
|
|
47
51
|
readonly exportCreationCleanupError: MongoLogId;
|
|
@@ -63,7 +67,9 @@ export type LoggerType = "console" | "disk" | "mcp";
|
|
|
63
67
|
type EventMap<T> = Record<keyof T, any[]> | DefaultEventMap;
|
|
64
68
|
type DefaultEventMap = [never];
|
|
65
69
|
export declare abstract class LoggerBase<T extends EventMap<T> = DefaultEventMap> extends EventEmitter<T> {
|
|
70
|
+
private readonly keychain;
|
|
66
71
|
private readonly defaultUnredactedLogger;
|
|
72
|
+
constructor(keychain: Keychain | undefined);
|
|
67
73
|
log(level: LogLevel, payload: LogPayload): void;
|
|
68
74
|
protected abstract readonly type?: LoggerType;
|
|
69
75
|
protected abstract logCore(level: LogLevel, payload: LogPayload): void;
|
|
@@ -80,6 +86,7 @@ export declare abstract class LoggerBase<T extends EventMap<T> = DefaultEventMap
|
|
|
80
86
|
}
|
|
81
87
|
export declare class ConsoleLogger extends LoggerBase {
|
|
82
88
|
protected readonly type: LoggerType;
|
|
89
|
+
constructor(keychain: Keychain);
|
|
83
90
|
protected logCore(level: LogLevel, payload: LogPayload): void;
|
|
84
91
|
private serializeAttributes;
|
|
85
92
|
}
|
|
@@ -88,7 +95,7 @@ export declare class DiskLogger extends LoggerBase<{
|
|
|
88
95
|
}> {
|
|
89
96
|
private bufferedMessages;
|
|
90
97
|
private logWriter?;
|
|
91
|
-
constructor(logPath: string, onError: (error: Error) => void);
|
|
98
|
+
constructor(logPath: string, onError: (error: Error) => void, keychain: Keychain);
|
|
92
99
|
private initialize;
|
|
93
100
|
protected type: LoggerType;
|
|
94
101
|
protected logCore(level: LogLevel, payload: LogPayload): void;
|
|
@@ -96,7 +103,7 @@ export declare class DiskLogger extends LoggerBase<{
|
|
|
96
103
|
export declare class McpLogger extends LoggerBase {
|
|
97
104
|
private readonly server;
|
|
98
105
|
static readonly LOG_LEVELS: LogLevel[];
|
|
99
|
-
constructor(server: Server);
|
|
106
|
+
constructor(server: Server, keychain: Keychain);
|
|
100
107
|
protected readonly type: LoggerType;
|
|
101
108
|
protected logCore(level: LogLevel, payload: LogPayload): void;
|
|
102
109
|
}
|
|
@@ -112,6 +119,7 @@ export declare class CompositeLogger extends LoggerBase {
|
|
|
112
119
|
}
|
|
113
120
|
export declare class NullLogger extends LoggerBase {
|
|
114
121
|
protected type?: LoggerType;
|
|
122
|
+
constructor();
|
|
115
123
|
protected logCore(): void;
|
|
116
124
|
}
|
|
117
125
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from "fs/promises";
|
|
2
2
|
import { mongoLogId, MongoLogManager } from "mongodb-log-writer";
|
|
3
|
-
import redact from "mongodb-redact";
|
|
3
|
+
import { redact } from "mongodb-redact";
|
|
4
4
|
import { EventEmitter } from "events";
|
|
5
5
|
export const LogId = {
|
|
6
6
|
serverStartFailure: mongoLogId(1000001),
|
|
@@ -26,11 +26,13 @@ export const LogId = {
|
|
|
26
26
|
telemetryMetadataError: mongoLogId(1002005),
|
|
27
27
|
deviceIdResolutionError: mongoLogId(1002006),
|
|
28
28
|
deviceIdTimeout: mongoLogId(1002007),
|
|
29
|
+
telemetryClose: mongoLogId(1002008),
|
|
29
30
|
toolExecute: mongoLogId(1003001),
|
|
30
31
|
toolExecuteFailure: mongoLogId(1003002),
|
|
31
32
|
toolDisabled: mongoLogId(1003003),
|
|
32
33
|
mongodbConnectFailure: mongoLogId(1004001),
|
|
33
34
|
mongodbDisconnectFailure: mongoLogId(1004002),
|
|
35
|
+
mongodbConnectTry: mongoLogId(1004003),
|
|
34
36
|
toolUpdateFailure: mongoLogId(1005001),
|
|
35
37
|
resourceUpdateFailure: mongoLogId(1005002),
|
|
36
38
|
streamableHttpTransportStarted: mongoLogId(1006001),
|
|
@@ -41,6 +43,7 @@ export const LogId = {
|
|
|
41
43
|
streamableHttpTransportCloseFailure: mongoLogId(1006006),
|
|
42
44
|
streamableHttpTransportKeepAliveFailure: mongoLogId(1006007),
|
|
43
45
|
streamableHttpTransportKeepAlive: mongoLogId(1006008),
|
|
46
|
+
streamableHttpTransportHttpHostWarning: mongoLogId(1006009),
|
|
44
47
|
exportCleanupError: mongoLogId(1007001),
|
|
45
48
|
exportCreationError: mongoLogId(1007002),
|
|
46
49
|
exportCreationCleanupError: mongoLogId(1007003),
|
|
@@ -52,8 +55,9 @@ export const LogId = {
|
|
|
52
55
|
oidcFlow: mongoLogId(1008001),
|
|
53
56
|
};
|
|
54
57
|
export class LoggerBase extends EventEmitter {
|
|
55
|
-
constructor() {
|
|
56
|
-
super(
|
|
58
|
+
constructor(keychain) {
|
|
59
|
+
super();
|
|
60
|
+
this.keychain = keychain;
|
|
57
61
|
this.defaultUnredactedLogger = "mcp";
|
|
58
62
|
}
|
|
59
63
|
log(level, payload) {
|
|
@@ -83,7 +87,7 @@ export class LoggerBase extends EventEmitter {
|
|
|
83
87
|
// type is included in that array
|
|
84
88
|
return message;
|
|
85
89
|
}
|
|
86
|
-
return redact(message);
|
|
90
|
+
return redact(message, this.keychain?.allSecrets ?? []);
|
|
87
91
|
}
|
|
88
92
|
info(payload) {
|
|
89
93
|
this.log("info", payload);
|
|
@@ -130,8 +134,8 @@ export class LoggerBase extends EventEmitter {
|
|
|
130
134
|
}
|
|
131
135
|
}
|
|
132
136
|
export class ConsoleLogger extends LoggerBase {
|
|
133
|
-
constructor() {
|
|
134
|
-
super(
|
|
137
|
+
constructor(keychain) {
|
|
138
|
+
super(keychain);
|
|
135
139
|
this.type = "console";
|
|
136
140
|
}
|
|
137
141
|
logCore(level, payload) {
|
|
@@ -148,8 +152,8 @@ export class ConsoleLogger extends LoggerBase {
|
|
|
148
152
|
}
|
|
149
153
|
}
|
|
150
154
|
export class DiskLogger extends LoggerBase {
|
|
151
|
-
constructor(logPath, onError) {
|
|
152
|
-
super();
|
|
155
|
+
constructor(logPath, onError, keychain) {
|
|
156
|
+
super(keychain);
|
|
153
157
|
this.bufferedMessages = [];
|
|
154
158
|
this.type = "disk";
|
|
155
159
|
void this.initialize(logPath, onError);
|
|
@@ -189,8 +193,8 @@ export class DiskLogger extends LoggerBase {
|
|
|
189
193
|
}
|
|
190
194
|
}
|
|
191
195
|
export class McpLogger extends LoggerBase {
|
|
192
|
-
constructor(server) {
|
|
193
|
-
super();
|
|
196
|
+
constructor(server, keychain) {
|
|
197
|
+
super(keychain);
|
|
194
198
|
this.server = server;
|
|
195
199
|
this.type = "mcp";
|
|
196
200
|
}
|
|
@@ -223,7 +227,9 @@ McpLogger.LOG_LEVELS = [
|
|
|
223
227
|
];
|
|
224
228
|
export class CompositeLogger extends LoggerBase {
|
|
225
229
|
constructor(...loggers) {
|
|
226
|
-
|
|
230
|
+
// composite logger does not redact, only the actual delegates do the work
|
|
231
|
+
// so we don't need the Keychain here
|
|
232
|
+
super(undefined);
|
|
227
233
|
this.loggers = [];
|
|
228
234
|
this.attributes = {};
|
|
229
235
|
this.loggers = loggers;
|
|
@@ -248,6 +254,9 @@ export class CompositeLogger extends LoggerBase {
|
|
|
248
254
|
}
|
|
249
255
|
}
|
|
250
256
|
export class NullLogger extends LoggerBase {
|
|
257
|
+
constructor() {
|
|
258
|
+
super(undefined);
|
|
259
|
+
}
|
|
251
260
|
logCore() {
|
|
252
261
|
// No-op logger, does not log anything
|
|
253
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,MAAM,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../../../src/common/packageInfo.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../../../src/common/packageInfo.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,OAAO,EAAE,oBAAoB;IAC7B,aAAa,EAAE,oBAAoB;CACtC,CAAC"}
|
|
@@ -5,6 +5,7 @@ import EventEmitter from "events";
|
|
|
5
5
|
import type { AtlasClusterConnectionInfo, ConnectionManager, ConnectionSettings, ConnectionStateErrored } from "./connectionManager.js";
|
|
6
6
|
import type { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
|
|
7
7
|
import type { ExportsManager } from "./exportsManager.js";
|
|
8
|
+
import type { Keychain } from "./keychain.js";
|
|
8
9
|
export interface SessionOptions {
|
|
9
10
|
apiBaseUrl: string;
|
|
10
11
|
apiClientId?: string;
|
|
@@ -12,6 +13,7 @@ export interface SessionOptions {
|
|
|
12
13
|
logger: CompositeLogger;
|
|
13
14
|
exportsManager: ExportsManager;
|
|
14
15
|
connectionManager: ConnectionManager;
|
|
16
|
+
keychain: Keychain;
|
|
15
17
|
}
|
|
16
18
|
export type SessionEvents = {
|
|
17
19
|
connect: [];
|
|
@@ -24,13 +26,14 @@ export declare class Session extends EventEmitter<SessionEvents> {
|
|
|
24
26
|
readonly exportsManager: ExportsManager;
|
|
25
27
|
readonly connectionManager: ConnectionManager;
|
|
26
28
|
readonly apiClient: ApiClient;
|
|
29
|
+
readonly keychain: Keychain;
|
|
27
30
|
mcpClient?: {
|
|
28
31
|
name?: string;
|
|
29
32
|
version?: string;
|
|
30
33
|
title?: string;
|
|
31
34
|
};
|
|
32
35
|
logger: CompositeLogger;
|
|
33
|
-
constructor({ apiBaseUrl, apiClientId, apiClientSecret, logger, connectionManager, exportsManager, }: SessionOptions);
|
|
36
|
+
constructor({ apiBaseUrl, apiClientId, apiClientSecret, logger, connectionManager, exportsManager, keychain, }: SessionOptions);
|
|
34
37
|
setMcpClient(mcpClient: Implementation | undefined): void;
|
|
35
38
|
disconnect(): Promise<void>;
|
|
36
39
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/common/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EACR,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAElB,sBAAsB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAEvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/common/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EACR,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAElB,sBAAsB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAEvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,EAAE,CAAC;IACZ,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,EAAE,EAAE,CAAC;IACf,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,CAAC;CAChD,CAAC;AAEF,qBAAa,OAAQ,SAAQ,YAAY,CAAC,aAAa,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAA6B;IACvD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEK,MAAM,EAAE,eAAe,CAAC;gBAEnB,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,QAAQ,GACX,EAAE,cAAc;IAsBjB,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI;IAoBnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,IAAI,eAAe,IAAI,yBAAyB,CAO/C;IAED,IAAI,qBAAqB,IAAI,0BAA0B,GAAG,SAAS,CAElE;CACJ"}
|
|
@@ -4,9 +4,10 @@ import { LogId } from "./logger.js";
|
|
|
4
4
|
import EventEmitter from "events";
|
|
5
5
|
import { ErrorCodes, MongoDBError } from "./errors.js";
|
|
6
6
|
export class Session extends EventEmitter {
|
|
7
|
-
constructor({ apiBaseUrl, apiClientId, apiClientSecret, logger, connectionManager, exportsManager, }) {
|
|
7
|
+
constructor({ apiBaseUrl, apiClientId, apiClientSecret, logger, connectionManager, exportsManager, keychain, }) {
|
|
8
8
|
super();
|
|
9
9
|
this.sessionId = new ObjectId().toString();
|
|
10
|
+
this.keychain = keychain;
|
|
10
11
|
this.logger = logger;
|
|
11
12
|
const credentials = apiClientId && apiClientSecret
|
|
12
13
|
? {
|