@1mcp/agent 0.10.3 → 0.11.0
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 +14 -0
- package/build/clients/clientManager.d.ts +3 -2
- package/build/clients/clientManager.d.ts.map +1 -1
- package/build/clients/clientManager.js +6 -2
- package/build/clients/clientManager.js.map +1 -1
- package/build/constants.d.ts +25 -1
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +31 -2
- package/build/constants.js.map +1 -1
- package/build/handlers/notificationHandlers.d.ts.map +1 -1
- package/build/handlers/notificationHandlers.js +36 -14
- package/build/handlers/notificationHandlers.js.map +1 -1
- package/build/handlers/requestHandlers.d.ts.map +1 -1
- package/build/handlers/requestHandlers.js +43 -1
- package/build/handlers/requestHandlers.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +43 -4
- package/build/index.js.map +1 -1
- package/build/middleware/loggingMiddleware.d.ts.map +1 -1
- package/build/middleware/loggingMiddleware.js +10 -6
- package/build/middleware/loggingMiddleware.js.map +1 -1
- package/build/server/auth/authManager.d.ts +109 -0
- package/build/server/auth/authManager.d.ts.map +1 -0
- package/build/server/auth/authManager.js +173 -0
- package/build/server/auth/authManager.js.map +1 -0
- package/build/server/auth/authMiddleware.d.ts +16 -0
- package/build/server/auth/authMiddleware.d.ts.map +1 -0
- package/build/server/auth/authMiddleware.js +45 -0
- package/build/server/auth/authMiddleware.js.map +1 -0
- package/build/server/auth/sessionManager.d.ts +196 -0
- package/build/server/auth/sessionManager.d.ts.map +1 -0
- package/build/server/auth/sessionManager.js +376 -0
- package/build/server/auth/sessionManager.js.map +1 -0
- package/build/server/config/serverConfig.d.ts +100 -0
- package/build/server/config/serverConfig.d.ts.map +1 -0
- package/build/server/config/serverConfig.js +117 -0
- package/build/server/config/serverConfig.js.map +1 -0
- package/build/server/expressServer.d.ts +60 -2
- package/build/server/expressServer.d.ts.map +1 -1
- package/build/server/expressServer.js +91 -153
- package/build/server/expressServer.js.map +1 -1
- package/build/server/routes/oauthRoutes.d.ts +14 -0
- package/build/server/routes/oauthRoutes.d.ts.map +1 -0
- package/build/server/routes/oauthRoutes.js +132 -0
- package/build/server/routes/oauthRoutes.js.map +1 -0
- package/build/server/routes/sseRoutes.d.ts +4 -0
- package/build/server/routes/sseRoutes.d.ts.map +1 -0
- package/build/server/routes/sseRoutes.js +64 -0
- package/build/server/routes/sseRoutes.js.map +1 -0
- package/build/server/routes/streamableHttpRoutes.d.ts +4 -0
- package/build/server/routes/streamableHttpRoutes.d.ts.map +1 -0
- package/build/server/routes/streamableHttpRoutes.js +94 -0
- package/build/server/routes/streamableHttpRoutes.js.map +1 -0
- package/build/types.d.ts +1 -0
- package/build/types.d.ts.map +1 -1
- package/build/utils/errorTypes.d.ts +4 -1
- package/build/utils/errorTypes.d.ts.map +1 -1
- package/build/utils/errorTypes.js +9 -1
- package/build/utils/errorTypes.js.map +1 -1
- package/package.json +9 -5
package/README.md
CHANGED
|
@@ -64,6 +64,10 @@ Available options:
|
|
|
64
64
|
- `--port, -P`: Change HTTP port (default: 3050)
|
|
65
65
|
- `--host, -H`: Change HTTP host (default: localhost)
|
|
66
66
|
- `--tags, -g`: Filter servers by tags (see Tags section below)
|
|
67
|
+
- `--pagination, -p`: Enable pagination for client/server lists (boolean, default: false)
|
|
68
|
+
- `--auth`: Enable authentication (OAuth 2.1) (boolean, default: false)
|
|
69
|
+
- `--session-ttl`: Session expiry time in minutes (number, default: 1440)
|
|
70
|
+
- `--session-storage-path`: Custom session storage directory path (string, default: undefined)
|
|
67
71
|
- `--help, -h`: Show help
|
|
68
72
|
|
|
69
73
|
Example with environment variables:
|
|
@@ -108,6 +112,10 @@ You can configure 1MCP using environment variables prefixed with `ONE_MCP_`:
|
|
|
108
112
|
- `ONE_MCP_HOST`: HTTP host (default: "localhost")
|
|
109
113
|
- `ONE_MCP_CONFIG`: Path to config file
|
|
110
114
|
- `ONE_MCP_TAGS`: Comma-separated list of tags to filter servers
|
|
115
|
+
- `ONE_MCP_PAGINATION`: Enable pagination for client/server lists (boolean, default: false)
|
|
116
|
+
- `ONE_MCP_AUTH`: Enable authentication (OAuth 2.1) (boolean, default: false)
|
|
117
|
+
- `ONE_MCP_SESSION_TTL`: Session expiry time in minutes (number, default: 1440)
|
|
118
|
+
- `ONE_MCP_SESSION_STORAGE_PATH`: Custom session storage directory path (string, default: undefined)
|
|
111
119
|
|
|
112
120
|
Example with environment variables:
|
|
113
121
|
```bash
|
|
@@ -291,3 +299,9 @@ pnpm inspector
|
|
|
291
299
|
```
|
|
292
300
|
|
|
293
301
|
The Inspector will provide a URL to access debugging tools in your browser.
|
|
302
|
+
|
|
303
|
+
## Debugging & Source Maps
|
|
304
|
+
|
|
305
|
+
This project uses [source-map-support](https://www.npmjs.com/package/source-map-support) to enhance stack traces. When you run the server, stack traces will reference the original TypeScript source files instead of the compiled JavaScript. This makes debugging much easier, as error locations and line numbers will match your source code.
|
|
306
|
+
|
|
307
|
+
No extra setup is required—this is enabled by default. If you see a stack trace, it will point to `.ts` files and the correct line numbers. 🗺️
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
2
|
-
import { ClientInfo, Clients, OperationOptions, ServerInfo } from '../types.js';
|
|
2
|
+
import { ClientInfo, Clients, OperationOptions, ServerInfo, ServerCapability } from '../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Creates client instances for all transports with retry logic
|
|
5
5
|
* @param transports Record of transport instances
|
|
@@ -28,8 +28,9 @@ export declare function executeOperation<T>(operation: () => Promise<T>, context
|
|
|
28
28
|
* @param clientName The name of the client to use
|
|
29
29
|
* @param operation The operation to execute
|
|
30
30
|
* @param options Operation options including timeout and retry settings
|
|
31
|
+
* @param requiredCapability The capability required for this operation
|
|
31
32
|
*/
|
|
32
|
-
export declare function executeClientOperation<T>(clients: Clients, clientName: string, operation: (clientInfo: ClientInfo) => Promise<T>, options?: OperationOptions): Promise<T>;
|
|
33
|
+
export declare function executeClientOperation<T>(clients: Clients, clientName: string, operation: (clientInfo: ClientInfo) => Promise<T>, options?: OperationOptions, requiredCapability?: ServerCapability): Promise<T>;
|
|
33
34
|
/**
|
|
34
35
|
* Executes a server operation with error handling and retry logic
|
|
35
36
|
* @param server The server to execute the operation on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientManager.d.ts","sourceRoot":"","sources":["../../src/clients/clientManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAM1E,OAAO,EAAgB,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"clientManager.d.ts","sourceRoot":"","sources":["../../src/clients/clientManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAM1E,OAAO,EAAgB,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhH;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAqC3F;AAoCD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAM1E;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,OAAO,GAAE,gBAAqB,EAC9B,kBAAkB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,CAAC,CAAC,CAQZ;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7C,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAEZ"}
|
|
@@ -2,7 +2,7 @@ import { ErrorCode } from '@modelcontextprotocol/sdk/types.js';
|
|
|
2
2
|
import createClient from '../client.js';
|
|
3
3
|
import logger from '../logger/logger.js';
|
|
4
4
|
import { CONNECTION_RETRY, MCP_SERVER_NAME } from '../constants.js';
|
|
5
|
-
import { ClientConnectionError, ClientNotFoundError, MCPError } from '../utils/errorTypes.js';
|
|
5
|
+
import { ClientConnectionError, ClientNotFoundError, MCPError, CapabilityError } from '../utils/errorTypes.js';
|
|
6
6
|
import { ClientStatus } from '../types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Creates client instances for all transports with retry logic
|
|
@@ -126,9 +126,13 @@ export async function executeOperation(operation, contextName, options = {}) {
|
|
|
126
126
|
* @param clientName The name of the client to use
|
|
127
127
|
* @param operation The operation to execute
|
|
128
128
|
* @param options Operation options including timeout and retry settings
|
|
129
|
+
* @param requiredCapability The capability required for this operation
|
|
129
130
|
*/
|
|
130
|
-
export async function executeClientOperation(clients, clientName, operation, options = {}) {
|
|
131
|
+
export async function executeClientOperation(clients, clientName, operation, options = {}, requiredCapability) {
|
|
131
132
|
const clientInfo = getClient(clients, clientName);
|
|
133
|
+
if (requiredCapability && !clientInfo.capabilities?.[requiredCapability]) {
|
|
134
|
+
throw new CapabilityError(clientName, String(requiredCapability));
|
|
135
|
+
}
|
|
132
136
|
return executeOperation(() => operation(clientInfo), `client ${clientName}`, options);
|
|
133
137
|
}
|
|
134
138
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientManager.js","sourceRoot":"","sources":["../../src/clients/clientManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"clientManager.js","sourceRoot":"","sources":["../../src/clients/clientManager.ts"],"names":[],"mappings":"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"}
|
package/build/constants.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare const MESSAGES_ENDPOINT = "/messages";
|
|
|
9
9
|
export declare const STREAMABLE_HTTP_ENDPOINT = "/mcp";
|
|
10
10
|
export declare const MCP_CONFIG_FILE = "mcp.json";
|
|
11
11
|
export declare const MCP_SERVER_NAME = "1mcp";
|
|
12
|
-
export declare const MCP_SERVER_VERSION = "0.
|
|
12
|
+
export declare const MCP_SERVER_VERSION = "0.11.0";
|
|
13
13
|
export declare const MCP_URI_SEPARATOR = "_1mcp_";
|
|
14
14
|
export declare const CONFIG_DIR_NAME = "1mcp";
|
|
15
15
|
export declare const DEFAULT_CONFIG: {
|
|
@@ -27,6 +27,30 @@ export declare const CONNECTION_RETRY: {
|
|
|
27
27
|
MAX_ATTEMPTS: number;
|
|
28
28
|
INITIAL_DELAY_MS: number;
|
|
29
29
|
};
|
|
30
|
+
export declare const AUTH_CONFIG: {
|
|
31
|
+
DEFAULT_ENABLED: boolean;
|
|
32
|
+
DEFAULT_SESSION_TTL_MINUTES: number;
|
|
33
|
+
DEFAULT_OAUTH_CODE_TTL_MS: number;
|
|
34
|
+
DEFAULT_OAUTH_TOKEN_TTL_MS: number;
|
|
35
|
+
SESSION_STORAGE_DIR: string;
|
|
36
|
+
SESSION_FILE_PREFIX: string;
|
|
37
|
+
SESSION_FILE_EXTENSION: string;
|
|
38
|
+
PREFIXES: {
|
|
39
|
+
SESSION_ID: string;
|
|
40
|
+
ACCESS_TOKEN: string;
|
|
41
|
+
AUTH_CODE: string;
|
|
42
|
+
CLIENT_ID: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export declare const RATE_LIMIT_CONFIG: {
|
|
46
|
+
OAUTH: {
|
|
47
|
+
WINDOW_MS: number;
|
|
48
|
+
MAX: number;
|
|
49
|
+
MESSAGE: {
|
|
50
|
+
error: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
};
|
|
30
54
|
export declare const MCP_SERVER_CAPABILITIES: ServerCapabilities;
|
|
31
55
|
export declare const MCP_CLIENT_CAPABILITIES: ClientCapabilities;
|
|
32
56
|
//# sourceMappingURL=constants.d.ts.map
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG5F,eAAO,MAAM,IAAI,OAAO,CAAC;AACzB,eAAO,MAAM,IAAI,cAAc,CAAC;AAGhC,eAAO,MAAM,YAAY,SAAS,CAAC;AACnC,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAG/C,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAY3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAGD,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG5F,eAAO,MAAM,IAAI,OAAO,CAAC;AACzB,eAAO,MAAM,IAAI,cAAc,CAAC;AAGhC,eAAO,MAAM,YAAY,SAAS,CAAC;AACnC,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAG/C,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAY3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAGD,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;CAevB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;CAM7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAYrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAUrC,CAAC"}
|
package/build/constants.js
CHANGED
|
@@ -11,7 +11,7 @@ export const STREAMABLE_HTTP_ENDPOINT = '/mcp';
|
|
|
11
11
|
// MCP constants
|
|
12
12
|
export const MCP_CONFIG_FILE = 'mcp.json';
|
|
13
13
|
export const MCP_SERVER_NAME = '1mcp';
|
|
14
|
-
export const MCP_SERVER_VERSION = '0.
|
|
14
|
+
export const MCP_SERVER_VERSION = '0.11.0';
|
|
15
15
|
export const MCP_URI_SEPARATOR = '_1mcp_';
|
|
16
16
|
// Global config paths
|
|
17
17
|
export const CONFIG_DIR_NAME = '1mcp';
|
|
@@ -42,8 +42,33 @@ export const CONNECTION_RETRY = {
|
|
|
42
42
|
MAX_ATTEMPTS: 3,
|
|
43
43
|
INITIAL_DELAY_MS: 1000,
|
|
44
44
|
};
|
|
45
|
+
// Authentication and session settings
|
|
46
|
+
export const AUTH_CONFIG = {
|
|
47
|
+
DEFAULT_ENABLED: false,
|
|
48
|
+
DEFAULT_SESSION_TTL_MINUTES: 24 * 60, // 24 hours
|
|
49
|
+
DEFAULT_OAUTH_CODE_TTL_MS: 60 * 1000, // 1 minute
|
|
50
|
+
DEFAULT_OAUTH_TOKEN_TTL_MS: 24 * 60 * 60 * 1000, // 24 hours
|
|
51
|
+
SESSION_STORAGE_DIR: 'sessions',
|
|
52
|
+
SESSION_FILE_PREFIX: 'session_',
|
|
53
|
+
SESSION_FILE_EXTENSION: '.json',
|
|
54
|
+
// Identifier prefixes for easy distinction
|
|
55
|
+
PREFIXES: {
|
|
56
|
+
SESSION_ID: 'sess-',
|
|
57
|
+
ACCESS_TOKEN: 'tk-',
|
|
58
|
+
AUTH_CODE: 'code-',
|
|
59
|
+
CLIENT_ID: 'client-',
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
// Rate limiting configuration for OAuth endpoints
|
|
63
|
+
export const RATE_LIMIT_CONFIG = {
|
|
64
|
+
OAUTH: {
|
|
65
|
+
WINDOW_MS: 60 * 1000, // 1 minute
|
|
66
|
+
MAX: 10, // max requests per window per IP
|
|
67
|
+
MESSAGE: { error: 'Too many requests, please try again later.' },
|
|
68
|
+
},
|
|
69
|
+
};
|
|
45
70
|
export const MCP_SERVER_CAPABILITIES = {
|
|
46
|
-
|
|
71
|
+
completions: {},
|
|
47
72
|
resources: {
|
|
48
73
|
listChanged: false,
|
|
49
74
|
},
|
|
@@ -53,6 +78,7 @@ export const MCP_SERVER_CAPABILITIES = {
|
|
|
53
78
|
prompts: {
|
|
54
79
|
listChanged: false,
|
|
55
80
|
},
|
|
81
|
+
logging: {},
|
|
56
82
|
};
|
|
57
83
|
export const MCP_CLIENT_CAPABILITIES = {
|
|
58
84
|
roots: {
|
|
@@ -61,5 +87,8 @@ export const MCP_CLIENT_CAPABILITIES = {
|
|
|
61
87
|
sampling: {
|
|
62
88
|
listChanged: false,
|
|
63
89
|
},
|
|
90
|
+
elicitation: {
|
|
91
|
+
listChanged: false,
|
|
92
|
+
},
|
|
64
93
|
};
|
|
65
94
|
//# sourceMappingURL=constants.js.map
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,uBAAuB;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC;AACzB,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,EAAE;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,SAAS,GACb,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC3D,CAAC,CAAC,GAAG,OAAO,YAAY,eAAe,EAAE;QACzC,CAAC,CAAC,GAAG,OAAO,oBAAoB,eAAe,EAAE,CAAC;IAEtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,GAAG,kBAAkB,EAAE,IAAI,eAAe,EAAE,CAAC;AACtD,CAAC;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACzD,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/notificationHandlers.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AAChE;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"notificationHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/notificationHandlers.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AAChE;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAsC/F;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAuC/F"}
|
|
@@ -21,13 +21,24 @@ export function setupClientToServerNotifications(clients, serverInfo) {
|
|
|
21
21
|
clientNotificationSchemas.forEach((schema) => {
|
|
22
22
|
clientInfo.client.setNotificationHandler(schema, withErrorHandling(async (notification) => {
|
|
23
23
|
logger.info(`Received notification in client: ${name} ${JSON.stringify(notification)}`);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
...notification
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
// Try to send notification, catch connection errors gracefully
|
|
25
|
+
try {
|
|
26
|
+
serverInfo.server.notification({
|
|
27
|
+
...notification,
|
|
28
|
+
params: {
|
|
29
|
+
...notification.params,
|
|
30
|
+
server: name,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
if (error instanceof Error && error.message.includes('Not connected')) {
|
|
36
|
+
logger.warn(`Server transport not connected. Dropping notification from ${name}`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
logger.error(`Failed to send notification from ${name}: ${error}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
31
42
|
}, `Error handling client notification from ${name}`));
|
|
32
43
|
});
|
|
33
44
|
}
|
|
@@ -52,13 +63,24 @@ export function setupServerToClientNotifications(clients, serverInfo) {
|
|
|
52
63
|
logger.warn(`Client ${name} is not connected. Notification not sent.`);
|
|
53
64
|
return;
|
|
54
65
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
...notification
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
66
|
+
// Try to send notification, catch connection errors gracefully
|
|
67
|
+
try {
|
|
68
|
+
clientInfo.client.notification({
|
|
69
|
+
...notification,
|
|
70
|
+
params: {
|
|
71
|
+
...notification.params,
|
|
72
|
+
client: name,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (error instanceof Error && error.message.includes('Not connected')) {
|
|
78
|
+
logger.warn(`Client ${name} transport not connected. Dropping notification.`);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
logger.error(`Failed to send notification to ${name}: ${error}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
62
84
|
}, `Error handling server notification to ${name}`));
|
|
63
85
|
});
|
|
64
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationHandlers.js","sourceRoot":"","sources":["../../src/handlers/notificationHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,iCAAiC,EACjC,qCAAqC,EACrC,iCAAiC,EACjC,mCAAmC,EACnC,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAuB,YAAY,EAAE,MAAM,aAAa,CAAC;AAChE;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAAgB,EAAE,UAAsB;IACvF,MAAM,yBAAyB,GAAG;QAChC,2BAA2B;QAC3B,0BAA0B;QAC1B,gCAAgC;QAChC,iCAAiC;QACjC,qCAAqC;QACrC,iCAAiC;QACjC,mCAAmC;KACpC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,yBAAyB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3C,UAAU,CAAC,MAAM,CAAC,sBAAsB,CACtC,MAAM,EACN,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"notificationHandlers.js","sourceRoot":"","sources":["../../src/handlers/notificationHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,iCAAiC,EACjC,qCAAqC,EACrC,iCAAiC,EACjC,mCAAmC,EACnC,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAuB,YAAY,EAAE,MAAM,aAAa,CAAC;AAChE;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAAgB,EAAE,UAAsB;IACvF,MAAM,yBAAyB,GAAG;QAChC,2BAA2B;QAC3B,0BAA0B;QAC1B,gCAAgC;QAChC,iCAAiC;QACjC,qCAAqC;QACrC,iCAAiC;QACjC,mCAAmC;KACpC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,yBAAyB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3C,UAAU,CAAC,MAAM,CAAC,sBAAsB,CACtC,MAAM,EACN,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAExF,+DAA+D;gBAC/D,IAAI,CAAC;oBACH,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;wBAC7B,GAAG,YAAY;wBACf,MAAM,EAAE;4BACN,GAAG,YAAY,CAAC,MAAM;4BACtB,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBACtE,MAAM,CAAC,IAAI,CAAC,8DAA8D,IAAI,EAAE,CAAC,CAAC;oBACpF,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,2CAA2C,IAAI,EAAE,CAAC,CACtD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAAgB,EAAE,UAAsB;IACvF,MAAM,yBAAyB,GAAG;QAChC,2BAA2B;QAC3B,0BAA0B;QAC1B,6BAA6B;QAC7B,kCAAkC;KACnC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,yBAAyB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3C,UAAU,CAAC,MAAM,CAAC,sBAAsB,CACtC,MAAM,EACN,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACxF,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,2CAA2C,CAAC,CAAC;oBACvE,OAAO;gBACT,CAAC;gBAED,+DAA+D;gBAC/D,IAAI,CAAC;oBACH,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;wBAC7B,GAAG,YAAY;wBACf,MAAM,EAAE;4BACN,GAAG,YAAY,CAAC,MAAM;4BACtB,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBACtE,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,kDAAkD,CAAC,CAAC;oBAChF,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,yCAAyC,IAAI,EAAE,CAAC,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/requestHandlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/requestHandlers.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoDlD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAqBtF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListResourceTemplatesRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, SetLevelRequestSchema, CallToolResultSchema, CreateMessageRequestSchema, ListRootsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
1
|
+
import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListResourceTemplatesRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, SetLevelRequestSchema, CallToolResultSchema, CreateMessageRequestSchema, ListRootsRequestSchema, ElicitRequestSchema, PingRequestSchema, CompleteRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { setLogLevel } from '../logger/logger.js';
|
|
3
3
|
import { MCP_URI_SEPARATOR } from '../constants.js';
|
|
4
4
|
import { executeClientOperation, executeServerOperation } from '../clients/clientManager.js';
|
|
@@ -12,11 +12,19 @@ import { handlePagination } from '../utils/pagination.js';
|
|
|
12
12
|
*/
|
|
13
13
|
function registerServerRequestHandlers(clients, serverInfo) {
|
|
14
14
|
Object.entries(clients).forEach(([_, clientInfo]) => {
|
|
15
|
+
clientInfo.client.setRequestHandler(PingRequestSchema, withErrorHandling(async () => {
|
|
16
|
+
return executeServerOperation(serverInfo, (_server) => _server.server.ping());
|
|
17
|
+
}, 'Error pinging'));
|
|
15
18
|
clientInfo.client.setRequestHandler(CreateMessageRequestSchema, withErrorHandling(async (request) => {
|
|
16
19
|
return executeServerOperation(serverInfo, (_server) => _server.server.createMessage(request.params, {
|
|
17
20
|
timeout: clientInfo.transport.timeout,
|
|
18
21
|
}));
|
|
19
22
|
}, 'Error creating message'));
|
|
23
|
+
clientInfo.client.setRequestHandler(ElicitRequestSchema, withErrorHandling(async (request) => {
|
|
24
|
+
return executeServerOperation(serverInfo, (_server) => _server.server.elicitInput(request.params, {
|
|
25
|
+
timeout: clientInfo.transport.timeout,
|
|
26
|
+
}));
|
|
27
|
+
}, 'Error eliciting input'));
|
|
20
28
|
clientInfo.client.setRequestHandler(ListRootsRequestSchema, withErrorHandling(async (request) => {
|
|
21
29
|
return executeServerOperation(serverInfo, (_server) => _server.server.listRoots(request.params, {
|
|
22
30
|
timeout: clientInfo.transport.timeout,
|
|
@@ -43,6 +51,8 @@ export function registerRequestHandlers(clients, serverInfo) {
|
|
|
43
51
|
registerToolHandlers(clients, serverInfo);
|
|
44
52
|
// Register prompt-related handlers
|
|
45
53
|
registerPromptHandlers(clients, serverInfo);
|
|
54
|
+
// Register completion-related handlers
|
|
55
|
+
registerCompletionHandlers(clients, serverInfo);
|
|
46
56
|
// Register server-specific request handlers
|
|
47
57
|
registerServerRequestHandlers(clients, serverInfo);
|
|
48
58
|
}
|
|
@@ -115,6 +125,8 @@ function registerToolHandlers(clients, serverInfo) {
|
|
|
115
125
|
name: `${clientInfo.name}${MCP_URI_SEPARATOR}${tool.name}`,
|
|
116
126
|
description: tool.description,
|
|
117
127
|
inputSchema: tool.inputSchema,
|
|
128
|
+
outputSchema: tool.outputSchema,
|
|
129
|
+
annotations: tool.annotations,
|
|
118
130
|
})) ?? [], serverInfo.enablePagination ?? false);
|
|
119
131
|
return {
|
|
120
132
|
tools: result.items,
|
|
@@ -154,4 +166,34 @@ function registerPromptHandlers(clients, serverInfo) {
|
|
|
154
166
|
return executeClientOperation(clients, clientName, (clientInfo) => clientInfo.client.getPrompt({ ...request.params, name: promptName }));
|
|
155
167
|
}, 'Error getting prompt'));
|
|
156
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Registers completion-related request handlers
|
|
171
|
+
* @param clients Record of client instances
|
|
172
|
+
* @param serverInfo The MCP server instance
|
|
173
|
+
*/
|
|
174
|
+
function registerCompletionHandlers(clients, serverInfo) {
|
|
175
|
+
serverInfo.server.setRequestHandler(CompleteRequestSchema, withErrorHandling(async (request) => {
|
|
176
|
+
const { ref } = request.params;
|
|
177
|
+
let clientName;
|
|
178
|
+
let updatedRef;
|
|
179
|
+
if (ref.type === 'ref/prompt') {
|
|
180
|
+
const { clientName: cn, resourceName } = parseUri(ref.name, MCP_URI_SEPARATOR);
|
|
181
|
+
clientName = cn;
|
|
182
|
+
updatedRef = { ...ref, name: resourceName };
|
|
183
|
+
}
|
|
184
|
+
else if (ref.type === 'ref/resource') {
|
|
185
|
+
const { clientName: cn, resourceName } = parseUri(ref.uri, MCP_URI_SEPARATOR);
|
|
186
|
+
clientName = cn;
|
|
187
|
+
updatedRef = { ...ref, uri: resourceName };
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
// This should be caught by the schema validation, but as a safeguard:
|
|
191
|
+
throw new Error(`Unsupported completion reference type: ${ref.type}`);
|
|
192
|
+
}
|
|
193
|
+
const params = { ...request.params, ref: updatedRef };
|
|
194
|
+
return executeClientOperation(clients, clientName, (clientInfo) => clientInfo.client.complete(params, {
|
|
195
|
+
timeout: clientInfo.transport.timeout,
|
|
196
|
+
}), {}, 'completions');
|
|
197
|
+
}, 'Error handling completion'));
|
|
198
|
+
}
|
|
157
199
|
//# sourceMappingURL=requestHandlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../src/handlers/requestHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,kCAAkC,EAClC,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EAKpB,0BAA0B,EAC1B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../src/handlers/requestHandlers.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,gCAAgC,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import 'source-map-support/register.js';
|
|
2
3
|
import yargs from 'yargs';
|
|
3
4
|
import { hideBin } from 'yargs/helpers';
|
|
4
5
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
@@ -7,6 +8,7 @@ import logger, { enableConsoleTransport } from './logger/logger.js';
|
|
|
7
8
|
import configReloadService from './services/configReloadService.js';
|
|
8
9
|
import { ConfigManager } from './config/configManager.js';
|
|
9
10
|
import { ExpressServer } from './server/expressServer.js';
|
|
11
|
+
import { ServerConfigManager } from './server/config/serverConfig.js';
|
|
10
12
|
import { PORT, HOST } from './constants.js';
|
|
11
13
|
// Parse command line arguments
|
|
12
14
|
const argv = yargs(hideBin(process.argv))
|
|
@@ -50,6 +52,21 @@ const argv = yargs(hideBin(process.argv))
|
|
|
50
52
|
type: 'boolean',
|
|
51
53
|
default: false,
|
|
52
54
|
},
|
|
55
|
+
auth: {
|
|
56
|
+
describe: 'Enable authentication (OAuth 2.1)',
|
|
57
|
+
type: 'boolean',
|
|
58
|
+
default: false,
|
|
59
|
+
},
|
|
60
|
+
'session-ttl': {
|
|
61
|
+
describe: 'Session expiry time in minutes',
|
|
62
|
+
type: 'number',
|
|
63
|
+
default: 24 * 60, // 24 hours
|
|
64
|
+
},
|
|
65
|
+
'session-storage-path': {
|
|
66
|
+
describe: 'Custom session storage directory path',
|
|
67
|
+
type: 'string',
|
|
68
|
+
default: undefined,
|
|
69
|
+
},
|
|
53
70
|
})
|
|
54
71
|
.help()
|
|
55
72
|
.alias('help', 'h')
|
|
@@ -57,11 +74,21 @@ const argv = yargs(hideBin(process.argv))
|
|
|
57
74
|
/**
|
|
58
75
|
* Set up graceful shutdown handling
|
|
59
76
|
*/
|
|
60
|
-
function setupGracefulShutdown(serverManager) {
|
|
77
|
+
function setupGracefulShutdown(serverManager, expressServer) {
|
|
61
78
|
const shutdown = async () => {
|
|
62
79
|
logger.info('Shutting down server...');
|
|
63
80
|
// Stop the configuration reload service
|
|
64
81
|
configReloadService.stop();
|
|
82
|
+
// Shutdown ExpressServer if it exists
|
|
83
|
+
if (expressServer) {
|
|
84
|
+
try {
|
|
85
|
+
expressServer.shutdown();
|
|
86
|
+
logger.info('ExpressServer shutdown complete');
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
logger.error(`Error shutting down ExpressServer: ${error}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
65
92
|
// Close all transports
|
|
66
93
|
for (const [sessionId, transport] of serverManager.getTransports().entries()) {
|
|
67
94
|
try {
|
|
@@ -89,10 +116,20 @@ async function main() {
|
|
|
89
116
|
enableConsoleTransport();
|
|
90
117
|
}
|
|
91
118
|
ConfigManager.getInstance(argv.config);
|
|
119
|
+
// Configure server settings from CLI arguments
|
|
120
|
+
const serverConfigManager = ServerConfigManager.getInstance();
|
|
121
|
+
serverConfigManager.updateConfig({
|
|
122
|
+
auth: {
|
|
123
|
+
enabled: argv['auth'],
|
|
124
|
+
sessionTtlMinutes: argv['session-ttl'],
|
|
125
|
+
sessionStoragePath: argv['session-storage-path'],
|
|
126
|
+
oauthCodeTtlMs: 60 * 1000, // 1 minute
|
|
127
|
+
oauthTokenTtlMs: argv['session-ttl'] * 60 * 1000, // Convert minutes to milliseconds
|
|
128
|
+
},
|
|
129
|
+
});
|
|
92
130
|
// Initialize server and get server manager with custom config path if provided
|
|
93
131
|
const serverManager = await setupServer();
|
|
94
|
-
|
|
95
|
-
setupGracefulShutdown(serverManager);
|
|
132
|
+
let expressServer;
|
|
96
133
|
switch (argv.transport) {
|
|
97
134
|
case 'stdio': {
|
|
98
135
|
// Use stdio transport
|
|
@@ -116,7 +153,7 @@ async function main() {
|
|
|
116
153
|
// eslint-disable-next-line no-fallthrough
|
|
117
154
|
case 'http': {
|
|
118
155
|
// Use HTTP/SSE transport
|
|
119
|
-
|
|
156
|
+
expressServer = new ExpressServer(serverManager);
|
|
120
157
|
expressServer.start(argv.port, argv.host);
|
|
121
158
|
break;
|
|
122
159
|
}
|
|
@@ -124,6 +161,8 @@ async function main() {
|
|
|
124
161
|
logger.error(`Invalid transport: ${argv.transport}`);
|
|
125
162
|
process.exit(1);
|
|
126
163
|
}
|
|
164
|
+
// Set up graceful shutdown handling
|
|
165
|
+
setupGracefulShutdown(serverManager, expressServer);
|
|
127
166
|
}
|
|
128
167
|
catch (error) {
|
|
129
168
|
logger.error('Server error:', error);
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,+BAA+B;AAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtC,KAAK,CAAC,qBAAqB,CAAC;KAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,0DAA0D;KACzE,OAAO,CAAC;IACP,SAAS,EAAE;QACT,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,uCAAuC;QACjD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QACjC,OAAO,EAAE,MAAM;KAChB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,2DAA2D;QACrE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,2DAA2D;QACrE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,MAAM,EAAE;QACN,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;KACnB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,0CAA0C;QACpD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;KACnB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf;CACF,CAAC;KACD,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,SAAS,EAAE,CAAC;AAEf;;GAEG;AACH,SAAS,qBAAqB,CAAC,aAA4B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggingMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/loggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAiJnE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"loggingMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/loggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAiJnE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAqC7D"}
|
|
@@ -119,13 +119,17 @@ export function enhanceServerWithLogging(server) {
|
|
|
119
119
|
// Override notification sending
|
|
120
120
|
server.notification = (notification) => {
|
|
121
121
|
logNotification(notification.method, notification.params);
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
122
|
+
// Try to send notification, catch connection errors gracefully
|
|
123
|
+
try {
|
|
124
|
+
return originalNotification(notification);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
if (error instanceof Error && error.message.includes('Not connected')) {
|
|
128
|
+
logger.warn('Attempted to send notification on disconnected transport');
|
|
129
|
+
return Promise.resolve();
|
|
130
|
+
}
|
|
131
|
+
throw error;
|
|
127
132
|
}
|
|
128
|
-
return originalNotification(notification);
|
|
129
133
|
};
|
|
130
134
|
}
|
|
131
135
|
//# sourceMappingURL=loggingMiddleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggingMiddleware.js","sourceRoot":"","sources":["../../src/middleware/loggingMiddleware.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loggingMiddleware.js","sourceRoot":"","sources":["../../src/middleware/loggingMiddleware.ts"],"names":[],"mappings":"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"}
|