@himanshusinghs/mongodb-mcp-server 0.3.2 → 0.3.3
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/dist/cjs/common/connectionErrorHandler.d.ts +15 -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/errors.d.ts +3 -3
- package/dist/cjs/common/errors.d.ts.map +1 -1
- package/dist/cjs/common/errors.js.map +1 -1
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib.d.ts +0 -1
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +1 -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 +5 -2
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.js +13 -52
- package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/cjs/tools/tool.js +1 -1
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts +11 -3
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +6 -2
- 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 +2 -5
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +2 -3
- package/dist/cjs/transports/streamableHttp.js.map +1 -1
- package/dist/esm/common/connectionErrorHandler.d.ts +15 -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/errors.d.ts +3 -3
- package/dist/esm/common/errors.d.ts.map +1 -1
- package/dist/esm/common/errors.js.map +1 -1
- package/dist/esm/index.js +7 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib.d.ts +0 -1
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +0 -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 +5 -2
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.js +13 -52
- package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/esm/tools/tool.js +1 -1
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts +11 -3
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +6 -2
- 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 +2 -5
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +2 -3
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,15 +11,14 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
|
11
11
|
const logger_js_1 = require("../common/logger.js");
|
|
12
12
|
const sessionStore_js_1 = require("../common/sessionStore.js");
|
|
13
13
|
const base_js_1 = require("./base.js");
|
|
14
|
-
const connectionManager_js_1 = require("../common/connectionManager.js");
|
|
15
14
|
const JSON_RPC_ERROR_CODE_PROCESSING_REQUEST_FAILED = -32000;
|
|
16
15
|
const JSON_RPC_ERROR_CODE_SESSION_ID_REQUIRED = -32001;
|
|
17
16
|
const JSON_RPC_ERROR_CODE_SESSION_ID_INVALID = -32002;
|
|
18
17
|
const JSON_RPC_ERROR_CODE_SESSION_NOT_FOUND = -32003;
|
|
19
18
|
const JSON_RPC_ERROR_CODE_INVALID_REQUEST = -32004;
|
|
20
19
|
class StreamableHttpRunner extends base_js_1.TransportRunnerBase {
|
|
21
|
-
constructor(
|
|
22
|
-
super(
|
|
20
|
+
constructor(config) {
|
|
21
|
+
super(config);
|
|
23
22
|
}
|
|
24
23
|
get serverAddress() {
|
|
25
24
|
const result = this.httpServer?.address();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/transports/streamableHttp.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAE9B,mCAAoC;AACpC,0FAAmG;AACnG,iEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/transports/streamableHttp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { ErrorCodes, type MongoDBError } from "./errors.js";
|
|
3
|
+
import type { AnyConnectionState } from "./connectionManager.js";
|
|
4
|
+
import type { ToolBase } from "../tools/tool.js";
|
|
5
|
+
export type ConnectionErrorHandler = (error: MongoDBError<ErrorCodes.NotConnectedToMongoDB | ErrorCodes.MisconfiguredConnectionString>, additionalContext: {
|
|
6
|
+
availableTools: ToolBase[];
|
|
7
|
+
connectionState: AnyConnectionState;
|
|
8
|
+
}) => {
|
|
9
|
+
errorHandled: false;
|
|
10
|
+
} | {
|
|
11
|
+
errorHandled: true;
|
|
12
|
+
result: CallToolResult;
|
|
13
|
+
};
|
|
14
|
+
export declare const connectionErrorHandler: ConnectionErrorHandler;
|
|
15
|
+
//# sourceMappingURL=connectionErrorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,qBAAqB,GAAG,UAAU,CAAC,6BAA6B,CAAC,EAChG,iBAAiB,EAAE;IACf,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,eAAe,EAAE,kBAAkB,CAAC;CACvC,KACA;IAAE,YAAY,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAE9E,eAAO,MAAM,sBAAsB,EAAE,sBAmEpC,CAAC"}
|
|
@@ -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 Altas 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;AAY5D,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"}
|
|
@@ -3,8 +3,8 @@ export declare enum ErrorCodes {
|
|
|
3
3
|
MisconfiguredConnectionString = 1000001,
|
|
4
4
|
ForbiddenCollscan = 1000002
|
|
5
5
|
}
|
|
6
|
-
export declare class MongoDBError extends Error {
|
|
7
|
-
code:
|
|
8
|
-
constructor(code:
|
|
6
|
+
export declare class MongoDBError<ErrorCode extends ErrorCodes = ErrorCodes> extends Error {
|
|
7
|
+
code: ErrorCode;
|
|
8
|
+
constructor(code: ErrorCode, message: string);
|
|
9
9
|
}
|
|
10
10
|
//# 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;CAChC;AAED,qBAAa,
|
|
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;CAChC;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mGAAyC,CAAA;IACzC,2EAA6B,CAAA;AACjC,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mGAAyC,CAAA;IACzC,2EAA6B,CAAA;AACjC,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -40,7 +40,13 @@ async function main() {
|
|
|
40
40
|
systemCA().catch(() => undefined); // load system CA asynchronously as in mongosh
|
|
41
41
|
assertHelpMode();
|
|
42
42
|
assertVersionMode();
|
|
43
|
-
const transportRunner = config.transport === "stdio"
|
|
43
|
+
const transportRunner = config.transport === "stdio"
|
|
44
|
+
? new StdioRunner({
|
|
45
|
+
userConfig: config,
|
|
46
|
+
})
|
|
47
|
+
: new StreamableHttpRunner({
|
|
48
|
+
userConfig: config,
|
|
49
|
+
});
|
|
44
50
|
const shutdown = () => {
|
|
45
51
|
transportRunner.logger.info({
|
|
46
52
|
id: LogId.serverCloseRequested,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,SAAS,qBAAqB;IAC1B,IAAI,SAA4B,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE3D,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,CAAC;YACD,2BAA2B;YAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,SAAS,KAAT,SAAS,GAAK,GAAY,EAAC;QAC/B,CAAC;IACL,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAClC,SAAS,GAAG,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CACT,gGAAgG,CACnG,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,qBAAqB,EAAE,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,KAAK,UAAU,IAAI;IACf,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,8CAA8C;IAEjF,cAAc,EAAE,CAAC;IACjB,iBAAiB,EAAE,CAAC;IAEpB,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/lib.d.ts
CHANGED
|
@@ -5,5 +5,4 @@ export { LoggerBase, type LogPayload, type LoggerType, type LogLevel } from "./c
|
|
|
5
5
|
export { StreamableHttpRunner } from "./transports/streamableHttp.js";
|
|
6
6
|
export { ConnectionManager, type AnyConnectionState, type ConnectionState, type ConnectionStateDisconnected, type ConnectionStateErrored, type ConnectionManagerFactoryFn, } from "./common/connectionManager.js";
|
|
7
7
|
export { Telemetry } from "./telemetry/telemetry.js";
|
|
8
|
-
export { packageInfo } from "./common/packageInfo.js";
|
|
9
8
|
//# sourceMappingURL=lib.d.ts.map
|
package/dist/esm/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACH,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACH,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/esm/lib.js
CHANGED
|
@@ -5,5 +5,4 @@ export { LoggerBase } from "./common/logger.js";
|
|
|
5
5
|
export { StreamableHttpRunner } from "./transports/streamableHttp.js";
|
|
6
6
|
export { ConnectionManager, } from "./common/connectionManager.js";
|
|
7
7
|
export { Telemetry } from "./telemetry/telemetry.js";
|
|
8
|
-
export { packageInfo } from "./common/packageInfo.js";
|
|
9
8
|
//# sourceMappingURL=lib.js.map
|
package/dist/esm/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAmD,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACH,iBAAiB,GAMpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAmD,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACH,iBAAiB,GAMpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/esm/server.d.ts
CHANGED
|
@@ -5,11 +5,13 @@ import type { LogLevel } from "./common/logger.js";
|
|
|
5
5
|
import type { Telemetry } from "./telemetry/telemetry.js";
|
|
6
6
|
import type { UserConfig } from "./common/config.js";
|
|
7
7
|
import type { ToolBase } from "./tools/tool.js";
|
|
8
|
+
import { type ConnectionErrorHandler } from "./common/connectionErrorHandler.js";
|
|
8
9
|
export interface ServerOptions {
|
|
9
10
|
session: Session;
|
|
10
11
|
userConfig: UserConfig;
|
|
11
12
|
mcpServer: McpServer;
|
|
12
13
|
telemetry: Telemetry;
|
|
14
|
+
connectionErrorHandler: ConnectionErrorHandler;
|
|
13
15
|
}
|
|
14
16
|
export declare class Server {
|
|
15
17
|
readonly session: Session;
|
|
@@ -17,11 +19,12 @@ export declare class Server {
|
|
|
17
19
|
private readonly telemetry;
|
|
18
20
|
readonly userConfig: UserConfig;
|
|
19
21
|
readonly tools: ToolBase[];
|
|
22
|
+
readonly connectionErrorHandler: ConnectionErrorHandler;
|
|
20
23
|
private _mcpLogLevel;
|
|
21
24
|
get mcpLogLevel(): LogLevel;
|
|
22
25
|
private readonly startTime;
|
|
23
26
|
private readonly subscriptions;
|
|
24
|
-
constructor({ session, mcpServer, userConfig, telemetry }: ServerOptions);
|
|
27
|
+
constructor({ session, mcpServer, userConfig, telemetry, connectionErrorHandler }: ServerOptions);
|
|
25
28
|
connect(transport: Transport): Promise<void>;
|
|
26
29
|
close(): Promise<void>;
|
|
27
30
|
sendResourceListChanged(): void;
|
package/dist/esm/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEjF,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,sBAAsB,CAAC;CAClD;AAED,qBAAa,MAAM;IACf,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,KAAK,EAAE,QAAQ,EAAE,CAAM;IACvC,SAAgB,sBAAsB,EAAE,sBAAsB,CAAC;IAE/D,OAAO,CAAC,YAAY,CAAqB;IAEzC,IAAW,WAAW,IAAI,QAAQ,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE,aAAa;IAS1F,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA0F5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,uBAAuB,IAAI,IAAI;IAI/B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM7C;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,iBAAiB;YAOX,cAAc;YAiCd,+BAA+B;CAkBhD"}
|
package/dist/esm/server.js
CHANGED
|
@@ -9,7 +9,7 @@ export class Server {
|
|
|
9
9
|
get mcpLogLevel() {
|
|
10
10
|
return this._mcpLogLevel;
|
|
11
11
|
}
|
|
12
|
-
constructor({ session, mcpServer, userConfig, telemetry }) {
|
|
12
|
+
constructor({ session, mcpServer, userConfig, telemetry, connectionErrorHandler }) {
|
|
13
13
|
this.tools = [];
|
|
14
14
|
this._mcpLogLevel = "debug";
|
|
15
15
|
this.subscriptions = new Set();
|
|
@@ -18,6 +18,7 @@ export class Server {
|
|
|
18
18
|
this.telemetry = telemetry;
|
|
19
19
|
this.mcpServer = mcpServer;
|
|
20
20
|
this.userConfig = userConfig;
|
|
21
|
+
this.connectionErrorHandler = connectionErrorHandler;
|
|
21
22
|
}
|
|
22
23
|
async connect(transport) {
|
|
23
24
|
// Resources are now reactive, so we register them ASAP so they can listen to events like
|
|
@@ -180,7 +181,9 @@ export class Server {
|
|
|
180
181
|
}
|
|
181
182
|
catch (error) {
|
|
182
183
|
console.error("Failed to connect to MongoDB instance using the connection string from the config: ", error);
|
|
183
|
-
|
|
184
|
+
// TODO: Confirm with team if we originally wanted to silence
|
|
185
|
+
// this error or have it crash the MCP server process.
|
|
186
|
+
// throw new Error("Failed to connect to MongoDB instance using the connection string from the config");
|
|
184
187
|
}
|
|
185
188
|
}
|
|
186
189
|
}
|
package/dist/esm/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,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,CAAS;IACjB,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8B9D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKxC,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,CAAS;IACjB,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8B9D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKxC,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAkC3C,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,SAAS,CAAC,wBAAwB,CAE9B,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,qBAAqB;CAU3B"}
|
|
@@ -41,60 +41,21 @@ export class MongoDBToolBase extends ToolBase {
|
|
|
41
41
|
}
|
|
42
42
|
handleError(error, args) {
|
|
43
43
|
if (error instanceof MongoDBError) {
|
|
44
|
-
const connectTools = this.server?.tools
|
|
45
|
-
.filter((t) => t.operationType === "connect")
|
|
46
|
-
.sort((a, b) => a.category.localeCompare(b.category)); // Sort Altas tools before MongoDB tools
|
|
47
|
-
// Find the first Atlas connect tool if available and suggest to the LLM to use it.
|
|
48
|
-
// Note: if we ever have multiple Atlas connect tools, we may want to refine this logic to select the most appropriate one.
|
|
49
|
-
const atlasConnectTool = connectTools?.find((t) => t.category === "atlas");
|
|
50
|
-
const llmConnectHint = atlasConnectTool
|
|
51
|
-
? `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.`
|
|
52
|
-
: "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.";
|
|
53
|
-
const connectToolsNames = connectTools?.map((t) => `"${t.name}"`).join(", ");
|
|
54
|
-
const connectionStatus = this.session.connectionManager.currentConnectionState;
|
|
55
|
-
const additionalPromptForConnectivity = [];
|
|
56
|
-
if (connectionStatus.tag === "connecting" && connectionStatus.oidcConnectionType) {
|
|
57
|
-
additionalPromptForConnectivity.push({
|
|
58
|
-
type: "text",
|
|
59
|
-
text: `The user needs to finish their OIDC connection by opening '${connectionStatus.oidcLoginUrl}' in the browser and use the following user code: '${connectionStatus.oidcUserCode}'`,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
additionalPromptForConnectivity.push({
|
|
64
|
-
type: "text",
|
|
65
|
-
text: connectToolsNames
|
|
66
|
-
? `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}`
|
|
67
|
-
: "There are no tools available to connect. Please update the configuration to include a connection string and restart the server.",
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
44
|
switch (error.code) {
|
|
71
45
|
case ErrorCodes.NotConnectedToMongoDB:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
{
|
|
86
|
-
type: "text",
|
|
87
|
-
text: "The configured connection string is not valid. Please check the connection string and confirm it points to a valid MongoDB instance.",
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
type: "text",
|
|
91
|
-
text: connectTools
|
|
92
|
-
? `Alternatively, you can use one of the following tools: ${connectToolsNames} to connect to a MongoDB instance. ${llmConnectHint}`
|
|
93
|
-
: "Please update the configuration to use a valid connection string and restart the server.",
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
isError: true,
|
|
97
|
-
};
|
|
46
|
+
case ErrorCodes.MisconfiguredConnectionString: {
|
|
47
|
+
const connectionError = error;
|
|
48
|
+
const outcome = this.server?.connectionErrorHandler(connectionError, {
|
|
49
|
+
availableTools: this.server?.tools ?? [],
|
|
50
|
+
connectionState: this.session.connectionManager.currentConnectionState,
|
|
51
|
+
});
|
|
52
|
+
if (outcome?.errorHandled) {
|
|
53
|
+
return outcome.result;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return super.handleError(error, args);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
98
59
|
case ErrorCodes.ForbiddenCollscan:
|
|
99
60
|
return {
|
|
100
61
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACrD,CAAC;AAEF,MAAM,OAAgB,eAAgB,SAAQ,QAAQ;IAAtD;;QAEW,aAAQ,GAAiB,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/tools/tool.js
CHANGED
|
@@ -100,7 +100,7 @@ export class ToolBase {
|
|
|
100
100
|
verifyAllowed() {
|
|
101
101
|
let errorClarification;
|
|
102
102
|
// Check read-only mode first
|
|
103
|
-
if (this.config.readOnly && !["read", "metadata"].includes(this.operationType)) {
|
|
103
|
+
if (this.config.readOnly && !["read", "metadata", "connect"].includes(this.operationType)) {
|
|
104
104
|
errorClarification = `read-only mode is enabled, its operation type, \`${this.operationType}\`,`;
|
|
105
105
|
}
|
|
106
106
|
else if (this.config.disabledTools.includes(this.category)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,20 @@ import { Server } from "../server.js";
|
|
|
3
3
|
import type { LoggerBase } from "../common/logger.js";
|
|
4
4
|
import { DeviceId } from "../helpers/deviceId.js";
|
|
5
5
|
import { type ConnectionManagerFactoryFn } from "../common/connectionManager.js";
|
|
6
|
+
import { type ConnectionErrorHandler } from "../common/connectionErrorHandler.js";
|
|
7
|
+
export type TransportRunnerConfig = {
|
|
8
|
+
userConfig: UserConfig;
|
|
9
|
+
createConnectionManager?: ConnectionManagerFactoryFn;
|
|
10
|
+
connectionErrorHandler?: ConnectionErrorHandler;
|
|
11
|
+
additionalLoggers?: LoggerBase[];
|
|
12
|
+
};
|
|
6
13
|
export declare abstract class TransportRunnerBase {
|
|
7
|
-
protected readonly userConfig: UserConfig;
|
|
8
|
-
private readonly createConnectionManager;
|
|
9
14
|
logger: LoggerBase;
|
|
10
15
|
deviceId: DeviceId;
|
|
11
|
-
protected
|
|
16
|
+
protected readonly userConfig: UserConfig;
|
|
17
|
+
private readonly createConnectionManager;
|
|
18
|
+
private readonly connectionErrorHandler;
|
|
19
|
+
protected constructor({ userConfig, createConnectionManager, connectionErrorHandler, additionalLoggers, }: TransportRunnerConfig);
|
|
12
20
|
protected setupServer(): Promise<Server>;
|
|
13
21
|
abstract start(): Promise<void>;
|
|
14
22
|
abstract closeTransport(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAA8B,KAAK,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EACH,KAAK,sBAAsB,EAE9B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,uBAAuB,CAAC,EAAE,0BAA0B,CAAC;IACrD,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;CACpC,CAAC;AAEF,8BAAsB,mBAAmB;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA6B;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,SAAS,aAAa,EAClB,UAAU,EACV,uBAAuB,EACvB,sBAAsB,EACtB,iBAAsB,GACzB,EAAE,qBAAqB;cAuBR,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IA0C9C,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
|
|
@@ -6,10 +6,13 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
6
6
|
import { CompositeLogger, ConsoleLogger, DiskLogger, McpLogger } from "../common/logger.js";
|
|
7
7
|
import { ExportsManager } from "../common/exportsManager.js";
|
|
8
8
|
import { DeviceId } from "../helpers/deviceId.js";
|
|
9
|
+
import { createMCPConnectionManager } from "../common/connectionManager.js";
|
|
10
|
+
import { connectionErrorHandler as defaultConnectionErrorHandler, } from "../common/connectionErrorHandler.js";
|
|
9
11
|
export class TransportRunnerBase {
|
|
10
|
-
constructor(userConfig, createConnectionManager, additionalLoggers) {
|
|
12
|
+
constructor({ userConfig, createConnectionManager, connectionErrorHandler, additionalLoggers = [], }) {
|
|
11
13
|
this.userConfig = userConfig;
|
|
12
|
-
this.createConnectionManager = createConnectionManager;
|
|
14
|
+
this.createConnectionManager = createConnectionManager ?? createMCPConnectionManager;
|
|
15
|
+
this.connectionErrorHandler = connectionErrorHandler ?? defaultConnectionErrorHandler;
|
|
13
16
|
const loggers = [...additionalLoggers];
|
|
14
17
|
if (this.userConfig.loggers.includes("stderr")) {
|
|
15
18
|
loggers.push(new ConsoleLogger());
|
|
@@ -50,6 +53,7 @@ export class TransportRunnerBase {
|
|
|
50
53
|
session,
|
|
51
54
|
telemetry,
|
|
52
55
|
userConfig: this.userConfig,
|
|
56
|
+
connectionErrorHandler: this.connectionErrorHandler,
|
|
53
57
|
});
|
|
54
58
|
// We need to create the MCP logger after the server is constructed
|
|
55
59
|
// because it needs the server instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
-
import { type
|
|
4
|
-
import { TransportRunnerBase } from "./base.js";
|
|
5
|
-
import { type UserConfig } from "../common/config.js";
|
|
6
|
-
import { type ConnectionManagerFactoryFn } from "../common/connectionManager.js";
|
|
3
|
+
import { TransportRunnerBase, type TransportRunnerConfig } from "./base.js";
|
|
7
4
|
export declare class EJsonReadBuffer {
|
|
8
5
|
private _buffer?;
|
|
9
6
|
append(chunk: Buffer): void;
|
|
@@ -13,7 +10,7 @@ export declare class EJsonReadBuffer {
|
|
|
13
10
|
export declare function createStdioTransport(): StdioServerTransport;
|
|
14
11
|
export declare class StdioRunner extends TransportRunnerBase {
|
|
15
12
|
private server;
|
|
16
|
-
constructor(
|
|
13
|
+
constructor(config: TransportRunnerConfig);
|
|
17
14
|
start(): Promise<void>;
|
|
18
15
|
closeTransport(): Promise<void>;
|
|
19
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/transports/stdio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/transports/stdio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAI5E,qBAAa,eAAe;IACxB,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,WAAW,IAAI,cAAc,GAAG,IAAI;IAiBpC,KAAK,IAAI,IAAI;CAGhB;AAQD,wBAAgB,oBAAoB,IAAI,oBAAoB,CAK3D;AAED,qBAAa,WAAY,SAAQ,mBAAmB;IAChD,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,EAAE,qBAAqB;IAInC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC"}
|