@nestjs-mcp/server 0.4.0 → 1.0.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.
Files changed (44) hide show
  1. package/README.md +77 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/interfaces/context.interface.d.ts +10 -5
  6. package/dist/mcp-core.module.js +27 -8
  7. package/dist/mcp-core.module.js.map +1 -1
  8. package/dist/mcp.constants.d.ts +5 -3
  9. package/dist/mcp.constants.js +6 -4
  10. package/dist/mcp.constants.js.map +1 -1
  11. package/dist/mcp.types.d.ts +8 -1
  12. package/dist/services/logger.service.js +2 -1
  13. package/dist/services/logger.service.js.map +1 -1
  14. package/dist/services/registry.service.js +32 -20
  15. package/dist/services/registry.service.js.map +1 -1
  16. package/dist/services/session.manager.d.ts +5 -1
  17. package/dist/services/session.manager.js +21 -2
  18. package/dist/services/session.manager.js.map +1 -1
  19. package/dist/transports/sse/sse.service.d.ts +14 -3
  20. package/dist/transports/sse/sse.service.js +87 -9
  21. package/dist/transports/sse/sse.service.js.map +1 -1
  22. package/dist/transports/streamable/streamable.service.d.ts +13 -3
  23. package/dist/transports/streamable/streamable.service.js +101 -8
  24. package/dist/transports/streamable/streamable.service.js.map +1 -1
  25. package/dist/tsconfig.build.tsbuildinfo +1 -1
  26. package/dist/types/handler-args.types.d.ts +23 -0
  27. package/dist/types/handler-args.types.js +3 -0
  28. package/dist/types/handler-args.types.js.map +1 -0
  29. package/package.json +19 -19
  30. package/dist/classes/index.d.ts +0 -4
  31. package/dist/classes/index.js +0 -21
  32. package/dist/classes/index.js.map +0 -1
  33. package/dist/classes/prompt.args.d.ts +0 -8
  34. package/dist/classes/prompt.args.js +0 -16
  35. package/dist/classes/prompt.args.js.map +0 -1
  36. package/dist/classes/resource-template.args.d.ts +0 -8
  37. package/dist/classes/resource-template.args.js +0 -18
  38. package/dist/classes/resource-template.args.js.map +0 -1
  39. package/dist/classes/resource-uri.args.d.ts +0 -7
  40. package/dist/classes/resource-uri.args.js +0 -16
  41. package/dist/classes/resource-uri.args.js.map +0 -1
  42. package/dist/classes/tool.args.d.ts +0 -8
  43. package/dist/classes/tool.args.js +0 -16
  44. package/dist/classes/tool.args.js.map +0 -1
package/README.md CHANGED
@@ -51,6 +51,7 @@
51
51
  - [MCP Execution Context](#mcp-execution-context)
52
52
  - [Guards with Dependency Injection](#guards-with-dependency-injection)
53
53
  - [Session Management](#session-management)
54
+ - [Session Management Options](#session-management-options)
54
55
  - [Transport Options](#transport-options)
55
56
  - [Inspector Playground](#inspector-playground)
56
57
  - [Examples](#examples)
@@ -943,6 +944,82 @@ Disabling unused transports can slightly reduce the application's surface area a
943
944
 
944
945
  ---
945
946
 
947
+ ## Session Management Options
948
+
949
+ Configure session timeouts, cleanup intervals, and resource limits to optimize your server for production workloads.
950
+
951
+ **Configuration:**
952
+
953
+ ```typescript
954
+ import { Module } from '@nestjs/common';
955
+ import { McpModule } from '@nestjs-mcp/server';
956
+
957
+ @Module({
958
+ imports: [
959
+ McpModule.forRoot({
960
+ name: 'My Server',
961
+ version: '1.0.0',
962
+ session: {
963
+ sessionTimeoutMs: 1800000, // 30 minutes (default)
964
+ cleanupIntervalMs: 300000, // 5 minutes (default)
965
+ maxConcurrentSessions: 1000, // Max sessions (default)
966
+ },
967
+ }),
968
+ ],
969
+ })
970
+ export class AppModule {}
971
+ ```
972
+
973
+ **Configuration Options:**
974
+
975
+ | Option | Type | Default | Description |
976
+ | ------------------------- | -------- | --------------------- | ---------------------------------------------------- |
977
+ | `sessionTimeoutMs` | `number` | `1800000` (30 min) | Maximum inactivity time before session cleanup |
978
+ | `cleanupIntervalMs` | `number` | `300000` (5 min) | Frequency of cleanup job execution |
979
+ | `maxConcurrentSessions` | `number` | `1000` | Maximum concurrent sessions allowed |
980
+
981
+ **How It Works:**
982
+
983
+ - **Activity Tracking**: Each session's `lastActivity` timestamp updates on every request
984
+ - **Cleanup Job**: Runs every `cleanupIntervalMs` to close and remove inactive sessions
985
+ - **Session Limit**: New connections are rejected (503) when `maxConcurrentSessions` is reached
986
+
987
+ **Production Recommendations:**
988
+
989
+ - **High-traffic servers**: Increase `maxConcurrentSessions` (2000-5000) and decrease `cleanupIntervalMs` (2-3 min)
990
+ - **Low-memory environments**: Decrease `maxConcurrentSessions` (100-500) and `sessionTimeoutMs` (10-15 min)
991
+ - **Long-running workflows**: Increase `sessionTimeoutMs` (60-90 min)
992
+
993
+ **Example with Environment Variables:**
994
+
995
+ ```typescript
996
+ import { Module } from '@nestjs/common';
997
+ import { ConfigModule, ConfigService } from '@nestjs/config';
998
+ import { McpModule } from '@nestjs-mcp/server';
999
+
1000
+ @Module({
1001
+ imports: [
1002
+ ConfigModule.forRoot(),
1003
+ McpModule.forRootAsync({
1004
+ imports: [ConfigModule],
1005
+ inject: [ConfigService],
1006
+ useFactory: (config: ConfigService) => ({
1007
+ name: 'My Server',
1008
+ version: '1.0.0',
1009
+ session: {
1010
+ sessionTimeoutMs: config.get('MCP_SESSION_TIMEOUT', 1800000),
1011
+ cleanupIntervalMs: config.get('MCP_CLEANUP_INTERVAL', 300000),
1012
+ maxConcurrentSessions: config.get('MCP_MAX_SESSIONS', 1000),
1013
+ },
1014
+ }),
1015
+ }),
1016
+ ],
1017
+ })
1018
+ export class AppModule {}
1019
+ ```
1020
+
1021
+ ---
1022
+
946
1023
  ## Inspector Playground
947
1024
 
948
1025
  Use the Inspector Playground to interactively test and debug your MCP server endpoints in a browser UI. This tool, powered by [`@modelcontextprotocol/inspector`](https://www.npmjs.com/package/@modelcontextprotocol/inspector), allows you to:
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './mcp.module';
2
2
  export * from './mcp.types';
3
3
  export * from './interfaces';
4
- export * from './classes';
4
+ export * from './types/handler-args.types';
5
5
  export * from './services';
6
6
  export * from './decorators';
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./mcp.module"), exports);
18
18
  __exportStar(require("./mcp.types"), exports);
19
19
  __exportStar(require("./interfaces"), exports);
20
- __exportStar(require("./classes"), exports);
20
+ __exportStar(require("./types/handler-args.types"), exports);
21
21
  __exportStar(require("./services"), exports);
22
22
  __exportStar(require("./decorators"), exports);
23
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAC7B,8CAA4B;AAG5B,+CAA6B;AAG7B,4CAA0B;AAG1B,6CAA2B;AAG3B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAC7B,8CAA4B;AAG5B,+CAA6B;AAG7B,6DAA2C;AAG3C,6CAA2B;AAG3B,+CAA6B"}
@@ -1,6 +1,11 @@
1
- import { ExecutionContext } from '@nestjs/common';
2
- import { PromptHandlerArgs, ResourceTemplateHandlerArgs, ResourceUriHandlerArgs, ToolHandlerArgs } from '../classes';
3
- export interface McpExecutionContext extends ExecutionContext {
4
- args: ResourceUriHandlerArgs | ResourceTemplateHandlerArgs | PromptHandlerArgs | ToolHandlerArgs;
5
- getSessionId: () => string;
1
+ import type { Type } from '@nestjs/common';
2
+ import type { Request } from 'express';
3
+ import type { McpHandlerArgs } from '../types/handler-args.types';
4
+ export interface McpExecutionContext {
5
+ getType(): 'mcp';
6
+ getHandler(): (...args: any[]) => any;
7
+ getClass(): Type<any>;
8
+ getSessionId(): string;
9
+ getArgs<T = McpHandlerArgs>(): T;
10
+ getRequest<R = Request>(): R;
6
11
  }
@@ -97,7 +97,16 @@ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
97
97
  inject: [mcp_constants_1.MCP_MODULE_OPTIONS],
98
98
  },
99
99
  {
100
- provide: 'MCP_SERVER_OPTIONS',
100
+ provide: mcp_constants_1.MCP_SESSION_OPTIONS,
101
+ useFactory: (mcpOptions) => ({
102
+ sessionTimeoutMs: mcpOptions.session?.sessionTimeoutMs ?? 1800000,
103
+ cleanupIntervalMs: mcpOptions.session?.cleanupIntervalMs ?? 300000,
104
+ maxConcurrentSessions: mcpOptions.session?.maxConcurrentSessions ?? 1000,
105
+ }),
106
+ inject: [mcp_constants_1.MCP_MODULE_OPTIONS],
107
+ },
108
+ {
109
+ provide: mcp_constants_1.MCP_SERVER_OPTIONS,
101
110
  useFactory: (mcpOptions) => {
102
111
  const { serverInfo, serverOptions, loggingOptions } = McpCoreModule_1.buildServerConfig(mcpOptions);
103
112
  return {
@@ -122,7 +131,7 @@ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
122
131
  providers: [
123
132
  ...allProviders,
124
133
  {
125
- provide: 'MCP_SERVER_OPTIONS',
134
+ provide: mcp_constants_1.MCP_SERVER_OPTIONS,
126
135
  useValue: {
127
136
  serverInfo,
128
137
  options: serverOptions,
@@ -130,13 +139,21 @@ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
130
139
  },
131
140
  },
132
141
  {
133
- provide: 'MCP_LOGGING_OPTIONS',
142
+ provide: mcp_constants_1.MCP_LOGGING_OPTIONS,
134
143
  useValue: loggingOptions,
135
144
  },
136
145
  {
137
- provide: 'MCP_TRANSPORT_OPTIONS',
146
+ provide: mcp_constants_1.MCP_TRANSPORT_OPTIONS,
138
147
  useValue: options.transports,
139
148
  },
149
+ {
150
+ provide: mcp_constants_1.MCP_SESSION_OPTIONS,
151
+ useValue: {
152
+ sessionTimeoutMs: options.session?.sessionTimeoutMs ?? 1800000,
153
+ cleanupIntervalMs: options.session?.cleanupIntervalMs ?? 300000,
154
+ maxConcurrentSessions: options.session?.maxConcurrentSessions ?? 1000,
155
+ },
156
+ },
140
157
  ],
141
158
  global: true,
142
159
  };
@@ -144,14 +161,17 @@ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
144
161
  static forRootAsync(options) {
145
162
  const { imports = [] } = options;
146
163
  const asyncProviders = this.createAsyncProviders(options);
147
- const defaultControllers = McpCoreModule_1.getActiveTransportControllersAndProviders().controllers;
148
- const defaultProviders = McpCoreModule_1.getActiveTransportControllersAndProviders().providers;
164
+ const { controllers, providers } = McpCoreModule_1.getActiveTransportControllersAndProviders({
165
+ sse: { enabled: true },
166
+ streamable: { enabled: true },
167
+ });
149
168
  return {
150
169
  module: McpCoreModule_1,
151
170
  imports,
152
- controllers: defaultControllers,
171
+ controllers,
153
172
  providers: [
154
173
  ...asyncProviders,
174
+ ...providers,
155
175
  registry_service_1.RegistryService,
156
176
  discovery_service_1.DiscoveryService,
157
177
  logger_service_1.McpLoggerService,
@@ -160,7 +180,6 @@ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
160
180
  provide: async_hooks_1.AsyncLocalStorage,
161
181
  useValue: new async_hooks_1.AsyncLocalStorage(),
162
182
  },
163
- ...defaultProviders,
164
183
  ],
165
184
  global: true,
166
185
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-core.module.js","sourceRoot":"","sources":["../src/mcp-core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-core.module.js","sourceRoot":"","sources":["../src/mcp-core.module.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
- export declare const MCP_MODULE_OPTIONS = "MCP_MODULE_OPTIONS";
2
- export declare const MCP_LOGGING_OPTIONS = "MCP_LOGGING_OPTIONS";
3
- export declare const MCP_TRANSPORT_OPTIONS = "MCP_TRANSPORT_OPTIONS";
1
+ export declare const MCP_MODULE_OPTIONS: unique symbol;
2
+ export declare const MCP_SERVER_OPTIONS: unique symbol;
3
+ export declare const MCP_LOGGING_OPTIONS: unique symbol;
4
+ export declare const MCP_TRANSPORT_OPTIONS: unique symbol;
5
+ export declare const MCP_SESSION_OPTIONS: unique symbol;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MCP_TRANSPORT_OPTIONS = exports.MCP_LOGGING_OPTIONS = exports.MCP_MODULE_OPTIONS = void 0;
4
- exports.MCP_MODULE_OPTIONS = 'MCP_MODULE_OPTIONS';
5
- exports.MCP_LOGGING_OPTIONS = 'MCP_LOGGING_OPTIONS';
6
- exports.MCP_TRANSPORT_OPTIONS = 'MCP_TRANSPORT_OPTIONS';
3
+ exports.MCP_SESSION_OPTIONS = exports.MCP_TRANSPORT_OPTIONS = exports.MCP_LOGGING_OPTIONS = exports.MCP_SERVER_OPTIONS = exports.MCP_MODULE_OPTIONS = void 0;
4
+ exports.MCP_MODULE_OPTIONS = Symbol('MCP_MODULE_OPTIONS');
5
+ exports.MCP_SERVER_OPTIONS = Symbol('MCP_SERVER_OPTIONS');
6
+ exports.MCP_LOGGING_OPTIONS = Symbol('MCP_LOGGING_OPTIONS');
7
+ exports.MCP_TRANSPORT_OPTIONS = Symbol('MCP_TRANSPORT_OPTIONS');
8
+ exports.MCP_SESSION_OPTIONS = Symbol('MCP_SESSION_OPTIONS');
7
9
  //# sourceMappingURL=mcp.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.constants.js","sourceRoot":"","sources":["../src/mcp.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"mcp.constants.js","sourceRoot":"","sources":["../src/mcp.constants.ts"],"names":[],"mappings":";;;AAMa,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAGlD,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAGlD,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAGpD,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAGxD,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { StreamableHTTPServerTransportOptions } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
2
- import { ZodRawShapeCompat } from '@modelcontextprotocol/sdk/server/zod-compat.js';
2
+ import { ZodRawShapeCompat as SdkZodRawShapeCompat } from '@modelcontextprotocol/sdk/server/zod-compat.js';
3
3
  import { ProtocolOptions, RequestHandlerExtra as SdkRequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
4
4
  import { Implementation, ServerCapabilities, ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';
5
5
  import { Provider, Type } from '@nestjs/common';
6
+ export type ZodRawShapeCompat = SdkZodRawShapeCompat;
6
7
  export type PromptArgsRawShape = ZodRawShapeCompat;
7
8
  export type RequestHandlerExtra = SdkRequestHandlerExtra<ServerRequest, ServerNotification> & {
8
9
  headers: Record<string, string>;
@@ -21,6 +22,11 @@ export type McpLoggingOptions = {
21
22
  enabled?: boolean;
22
23
  level?: 'debug' | 'verbose' | 'log' | 'warn' | 'error';
23
24
  };
25
+ export type McpSessionOptions = {
26
+ sessionTimeoutMs?: number;
27
+ cleanupIntervalMs?: number;
28
+ maxConcurrentSessions?: number;
29
+ };
24
30
  export type McpModuleOptions = {
25
31
  imports?: Type<any>[];
26
32
  providers?: Provider[];
@@ -30,6 +36,7 @@ export type McpModuleOptions = {
30
36
  capabilities?: ServerCapabilities;
31
37
  protocolOptions?: ProtocolOptions;
32
38
  logging?: McpLoggingOptions;
39
+ session?: McpSessionOptions;
33
40
  transports?: McpModuleTransportOptions;
34
41
  };
35
42
  export type McpModuleTransportOptions = {
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.McpLoggerService = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const mcp_constants_1 = require("../mcp.constants");
17
18
  let McpLoggerService = class McpLoggerService {
18
19
  logger;
19
20
  options;
@@ -91,7 +92,7 @@ exports.McpLoggerService = McpLoggerService;
91
92
  exports.McpLoggerService = McpLoggerService = __decorate([
92
93
  (0, common_1.Injectable)(),
93
94
  __param(0, (0, common_1.Optional)()),
94
- __param(0, (0, common_1.Inject)('MCP_LOGGING_OPTIONS')),
95
+ __param(0, (0, common_1.Inject)(mcp_constants_1.MCP_LOGGING_OPTIONS)),
95
96
  __metadata("design:paramtypes", [Object])
96
97
  ], McpLoggerService);
97
98
  //# sourceMappingURL=logger.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../src/services/logger.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../src/services/logger.service.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@ exports.RegistryService = void 0;
13
13
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
14
14
  const common_1 = require("@nestjs/common");
15
15
  const core_1 = require("@nestjs/core");
16
- const classes_1 = require("../classes");
17
16
  const decorators_1 = require("../decorators");
18
17
  const discovery_service_1 = require("./discovery.service");
19
18
  const logger_service_1 = require("./logger.service");
@@ -54,16 +53,39 @@ let RegistryService = class RegistryService {
54
53
  switch (this.getDecoratorType(method)) {
55
54
  case 'RESOURCE':
56
55
  return args[0] instanceof URL
57
- ? classes_1.ResourceUriHandlerArgs.from(args[0], args[1])
58
- : classes_1.ResourceTemplateHandlerArgs.from(args[0], args[2], args[1]);
56
+ ? {
57
+ type: 'resource:uri',
58
+ uri: args[0],
59
+ extra: args[1],
60
+ }
61
+ : {
62
+ type: 'resource:template',
63
+ uri: args[0],
64
+ variables: args[1],
65
+ extra: args[2],
66
+ };
59
67
  case 'PROMPT':
60
68
  return args.length === 1
61
- ? classes_1.PromptHandlerArgs.from(args[0])
62
- : classes_1.PromptHandlerArgs.from(args[1], args[0]);
69
+ ? {
70
+ type: 'prompt',
71
+ extra: args[0],
72
+ }
73
+ : {
74
+ type: 'prompt',
75
+ args: args[0],
76
+ extra: args[1],
77
+ };
63
78
  case 'TOOL':
64
79
  return args.length === 1
65
- ? classes_1.ToolHandlerArgs.from(args[0])
66
- : classes_1.ToolHandlerArgs.from(args[1], args[0]);
80
+ ? {
81
+ type: 'tool',
82
+ extra: args[0],
83
+ }
84
+ : {
85
+ type: 'tool',
86
+ params: args[0],
87
+ extra: args[1],
88
+ };
67
89
  default:
68
90
  throw new Error(`Unknown decorator type for method ${method.name}`);
69
91
  }
@@ -97,22 +119,12 @@ let RegistryService = class RegistryService {
97
119
  return Promise.resolve();
98
120
  const handlerArgs = this.getHandlerArgs(methodKey, args);
99
121
  const context = {
100
- args: handlerArgs,
101
122
  getType: () => 'mcp',
102
123
  getClass: () => instance.constructor,
103
- getArgs: () => args,
104
- getArgByIndex: (index) => args[index],
105
- getSessionId: () => sessionId,
106
124
  getHandler: () => methodKey,
107
- switchToHttp: () => ({
108
- getRequest: () => request,
109
- getResponse: () => {
110
- throw new Error('Response not available in MCP context');
111
- },
112
- getNext: () => {
113
- throw new Error('Next not available in MCP context');
114
- },
115
- }),
125
+ getSessionId: () => sessionId,
126
+ getArgs: () => handlerArgs,
127
+ getRequest: () => request,
116
128
  };
117
129
  return (async () => {
118
130
  for (const Guard of allGuards) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/services/registry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/services/registry.service.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,15 @@ import { Request } from 'express';
4
4
  type Session = {
5
5
  transport: StreamableHTTPServerTransport | SSEServerTransport;
6
6
  request: Request;
7
+ lastActivity: number;
7
8
  };
8
9
  export declare class SessionManager {
9
10
  private sessions;
10
11
  getSession(sessionId: string): Session | undefined;
11
- setSession(sessionId: string, session: Session): void;
12
+ setSession(sessionId: string, session: Omit<Session, 'lastActivity'>): void;
12
13
  deleteSession(sessionId: string): void;
14
+ getActiveSessionCount(): number;
15
+ getInactiveSessions(timeoutMs: number): string[];
16
+ getAllSessionIds(): string[];
13
17
  }
14
18
  export {};
@@ -11,14 +11,33 @@ const common_1 = require("@nestjs/common");
11
11
  let SessionManager = class SessionManager {
12
12
  sessions = new Map();
13
13
  getSession(sessionId) {
14
- return this.sessions.get(sessionId);
14
+ const session = this.sessions.get(sessionId);
15
+ if (session) {
16
+ session.lastActivity = Date.now();
17
+ }
18
+ return session;
15
19
  }
16
20
  setSession(sessionId, session) {
17
- this.sessions.set(sessionId, session);
21
+ this.sessions.set(sessionId, {
22
+ ...session,
23
+ lastActivity: Date.now(),
24
+ });
18
25
  }
19
26
  deleteSession(sessionId) {
20
27
  this.sessions.delete(sessionId);
21
28
  }
29
+ getActiveSessionCount() {
30
+ return this.sessions.size;
31
+ }
32
+ getInactiveSessions(timeoutMs) {
33
+ const now = Date.now();
34
+ return Array.from(this.sessions.entries())
35
+ .filter(([_, session]) => now - session.lastActivity > timeoutMs)
36
+ .map(([sessionId]) => sessionId);
37
+ }
38
+ getAllSessionIds() {
39
+ return Array.from(this.sessions.keys());
40
+ }
22
41
  };
23
42
  exports.SessionManager = SessionManager;
24
43
  exports.SessionManager = SessionManager = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"session.manager.js","sourceRoot":"","sources":["../../src/services/session.manager.ts"],"names":[],"mappings":";;;;;;;;;AAEA,2CAA4C;AASrC,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEvC,UAAU,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEM,UAAU,CAAC,SAAiB,EAAE,OAAgB;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,aAAa,CAAC,SAAiB;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAdY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAc1B"}
1
+ {"version":3,"file":"session.manager.js","sourceRoot":"","sources":["../../src/services/session.manager.ts"],"names":[],"mappings":";;;;;;;;;AAEA,2CAA4C;AAUrC,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEvC,UAAU,CAAC,SAAiB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YAEZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,UAAU,CACf,SAAiB,EACjB,OAAsC;QAEtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;YAC3B,GAAG,OAAO;YACV,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAEM,aAAa,CAAC,SAAiB;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAEM,mBAAmB,CAAC,SAAiB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;aAChE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,gBAAgB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAxCY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAwC1B"}
@@ -1,17 +1,28 @@
1
1
  import { OnModuleInit } from '@nestjs/common';
2
2
  import { Request, Response } from 'express';
3
- import { McpServerOptions } from '../../mcp.types';
3
+ import { McpModuleTransportOptions, McpServerOptions, McpSessionOptions } from '../../mcp.types';
4
4
  import { McpLoggerService } from '../../services/logger.service';
5
5
  import { RegistryService } from '../../services/registry.service';
6
6
  import { SessionManager } from '../../services/session.manager';
7
7
  export declare class SseService implements OnModuleInit {
8
8
  private readonly options;
9
+ private readonly sessionOptions;
10
+ private readonly transportOptions;
9
11
  private readonly registry;
10
12
  private readonly logger;
11
13
  private readonly sessionManager;
12
- private server;
13
- constructor(options: McpServerOptions, registry: RegistryService, logger: McpLoggerService, sessionManager: SessionManager);
14
+ private readonly sessionTimeoutMs;
15
+ private readonly maxConcurrentSessions;
16
+ private readonly cleanupIntervalMs;
17
+ private readonly enabled;
18
+ private cleanupTimer?;
19
+ constructor(options: McpServerOptions, sessionOptions: McpSessionOptions, transportOptions: McpModuleTransportOptions, registry: RegistryService, logger: McpLoggerService, sessionManager: SessionManager);
14
20
  onModuleInit(): void;
21
+ onModuleDestroy(): void;
22
+ private startCleanupJob;
23
+ private stopCleanupJob;
24
+ private cleanupInactiveSessions;
25
+ private createServer;
15
26
  handleSse(req: Request, res: Response): Promise<void>;
16
27
  handleMessage(req: Request, res: Response): Promise<void>;
17
28
  }