@candide/nestjs-mcp-server 1.1.1 → 1.3.1
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/mcp-core.module.js +7 -0
- package/dist/mcp-core.module.js.map +1 -1
- package/dist/mcp.types.d.ts +1 -0
- package/dist/services/discovery.service.d.ts +3 -0
- package/dist/services/discovery.service.js +4 -0
- package/dist/services/discovery.service.js.map +1 -1
- package/dist/services/registry.service.d.ts +4 -0
- package/dist/services/registry.service.js +66 -21
- package/dist/services/registry.service.js.map +1 -1
- package/dist/transports/streamable/streamable.service.d.ts +1 -0
- package/dist/transports/streamable/streamable.service.js +25 -2
- package/dist/transports/streamable/streamable.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
package/dist/mcp-core.module.js
CHANGED
|
@@ -117,6 +117,11 @@ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
|
|
|
117
117
|
},
|
|
118
118
|
inject: [mcp_constants_1.MCP_MODULE_OPTIONS],
|
|
119
119
|
},
|
|
120
|
+
{
|
|
121
|
+
provide: mcp_constants_1.MCP_WORKSPACE,
|
|
122
|
+
useFactory: (mcpOptions) => mcpOptions.workspace ?? null,
|
|
123
|
+
inject: [mcp_constants_1.MCP_MODULE_OPTIONS],
|
|
124
|
+
},
|
|
120
125
|
];
|
|
121
126
|
}
|
|
122
127
|
static forRoot(options) {
|
|
@@ -182,6 +187,7 @@ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
|
|
|
182
187
|
...providers,
|
|
183
188
|
registry_service_1.RegistryService,
|
|
184
189
|
discovery_service_1.DiscoveryService,
|
|
190
|
+
core_1.Reflector,
|
|
185
191
|
logger_service_1.McpLoggerService,
|
|
186
192
|
session_manager_1.SessionManager,
|
|
187
193
|
{
|
|
@@ -205,6 +211,7 @@ exports.McpCoreModule = McpCoreModule = McpCoreModule_1 = __decorate([
|
|
|
205
211
|
providers: [
|
|
206
212
|
registry_service_1.RegistryService,
|
|
207
213
|
discovery_service_1.DiscoveryService,
|
|
214
|
+
core_1.Reflector,
|
|
208
215
|
{
|
|
209
216
|
provide: async_hooks_1.AsyncLocalStorage,
|
|
210
217
|
useValue: new async_hooks_1.AsyncLocalStorage(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-core.module.js","sourceRoot":"","sources":["../src/mcp-core.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"mcp-core.module.js","sourceRoot":"","sources":["../src/mcp-core.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAuE;AACvE,uCAA0D;AAC1D,6CAAgD;AAEhD,mDAOyB;AASzB,oEAAgE;AAChE,8DAA6D;AAC7D,kEAA8D;AAC9D,gEAA4D;AAC5D,0CAAmE;AACnE,wDAGiC;AAiB1B,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAIhB,MAAM,CAAC,yCAAyC,CACtD,UAAsC,EACtC,SAIC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAa,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAY,CAAC;QAGtC,MAAM,oBAAoB,GAAG;YAC3B,UAAU,EAAE,IAAA,uCAA0B,EAAC,SAAS,EAAE,WAAW,IAAI,KAAK,CAAC;YACvE,OAAO,EAAE,8BAAiB;SAC3B,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,UAAU,EAAE,IAAA,yBAAmB,EAC7B,SAAS,EAAE,WAAW,IAAI,KAAK,EAC/B,SAAS,EAAE,gBAAgB,IAAI,UAAU,CAC1C;YACD,OAAO,EAAE,gBAAU;SACpB,CAAC;QAGF,MAAM,iBAAiB,GAA8B;YACnD,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YAC7B,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACvB,CAAC;QAGF,MAAM,MAAM,GAAG;YACb,UAAU,EAAE;gBACV,GAAG,iBAAiB,CAAC,UAAU;gBAC/B,GAAG,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC;aAClC;YACD,GAAG,EAAE;gBACH,GAAG,iBAAiB,CAAC,GAAG;gBACxB,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC;aAC3B;SACF,CAAC;QAGF,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACjD,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACvB,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SACjC,CAAC;IACJ,CAAC;IAKO,MAAM,CAAC,iBAAiB,CAAC,OAAyB;QACxD,MAAM,UAAU,GAAmB;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QACF,MAAM,aAAa,GAAkB;YACnC,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE,CAAC;SACpC,CAAC;QACF,MAAM,cAAc,GAAsB;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK;YAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS;SAC3C,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;IACvD,CAAC;IAKO,MAAM,CAAC,0BAA0B,CACvC,OAA8B;QAE9B,OAAO;YACL,OAAO,EAAE,kCAAkB;YAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IAKO,MAAM,CAAC,oBAAoB,CACjC,OAA8B;QAE9B,OAAO;YACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACxC;gBACE,OAAO,EAAE,mCAAmB;gBAC5B,UAAU,EAAE,CAAC,UAA4B,EAAE,EAAE,CAAC,CAAC;oBAC7C,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK;oBAC9C,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS;iBAC9C,CAAC;gBACF,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B;YACD;gBACE,OAAO,EAAE,qCAAqB;gBAC9B,UAAU,EAAE,CAAC,UAA4B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU;gBACnE,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B;YACD;gBACE,OAAO,EAAE,mCAAmB;gBAC5B,UAAU,EAAE,CAAC,UAA4B,EAAE,EAAE,CAAC,CAAC;oBAC7C,gBAAgB,EAAE,UAAU,CAAC,OAAO,EAAE,gBAAgB,IAAI,OAAO;oBACjE,iBAAiB,EAAE,UAAU,CAAC,OAAO,EAAE,iBAAiB,IAAI,MAAM;oBAClE,qBAAqB,EACnB,UAAU,CAAC,OAAO,EAAE,qBAAqB,IAAI,IAAI;iBACpD,CAAC;gBACF,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B;YACD;gBACE,OAAO,EAAE,kCAAkB;gBAC3B,UAAU,EAAE,CAAC,UAA4B,EAAE,EAAE;oBAC3C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GACjD,eAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBAC9C,OAAO;wBACL,UAAU;wBACV,OAAO,EAAE,aAAa;wBACtB,OAAO,EAAE,cAAc;qBACxB,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B;YACD;gBACE,OAAO,EAAE,6BAAa;gBACtB,UAAU,EAAE,CAAC,UAA4B,EAAE,EAAE,CAC3C,UAAU,CAAC,SAAS,IAAI,IAAI;gBAC9B,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B;SACF,CAAC;IACJ,CAAC;IAQD,MAAM,CAAC,OAAO,CAAC,OAAyB;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAC9B,IAAI,CAAC,yCAAyC,CAAC,OAAO,CAAC,UAAU,EAAE;YACjE,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;QACL,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;QAClE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GACjD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO;YACP,WAAW;YACX,SAAS,EAAE;gBACT,GAAG,YAAY;gBACf;oBACE,OAAO,EAAE,kCAAkB;oBAC3B,QAAQ,EAAE;wBACR,UAAU;wBACV,OAAO,EAAE,aAAa;wBACtB,OAAO,EAAE,cAAc;qBACxB;iBACF;gBACD;oBACE,OAAO,EAAE,mCAAmB;oBAC5B,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,OAAO,EAAE,qCAAqB;oBAC9B,QAAQ,EAAE,OAAO,CAAC,UAAU;iBAC7B;gBACD;oBACE,OAAO,EAAE,mCAAmB;oBAC5B,QAAQ,EAAE;wBACR,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,IAAI,OAAO;wBAC9D,iBAAiB,EAAE,OAAO,CAAC,OAAO,EAAE,iBAAiB,IAAI,MAAM;wBAC/D,qBAAqB,EACnB,OAAO,CAAC,OAAO,EAAE,qBAAqB,IAAI,IAAI;qBACjD;iBACF;gBACD;oBACE,OAAO,EAAE,6BAAa;oBACtB,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;iBACpC;aACF;YACD,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IASD,MAAM,CAAC,YAAY,CAAC,OAA8B;QAChD,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAK1D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAC9B,eAAa,CAAC,yCAAyC,CAAC;YACtD,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACtB,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC9B,CAAC,CAAC;QAEL,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO;YACP,WAAW;YACX,SAAS,EAAE;gBACT,GAAG,cAAc;gBACjB,GAAG,SAAS;gBACZ,kCAAe;gBACf,oCAAgB;gBAChB,gBAAS;gBACT,iCAAgB;gBAChB,gCAAc;gBACd;oBACE,OAAO,EAAE,+BAAiB;oBAC1B,QAAQ,EAAE,IAAI,+BAAiB,EAAE;iBAClC;aACF;YACD,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAWD,MAAM,CAAC,UAAU,CAAC,QAA4B;QAC5C,OAAO;YACL,MAAM,EAAE,eAAa;SACtB,CAAC;IACJ,CAAC;CACF,CAAA;AAtQY,sCAAa;wBAAb,aAAa;IAfzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAe,CAAC;QAC1B,SAAS,EAAE;YACT,kCAAe;YACf,oCAAgB;YAChB,gBAAS;YACT;gBACE,OAAO,EAAE,+BAAiB;gBAC1B,QAAQ,EAAE,IAAI,+BAAiB,EAAE;aAClC;YACD,iCAAgB;YAChB,gCAAc;SACf;QACD,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAsQzB"}
|
package/dist/mcp.types.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ export type McpModuleTransportOptions = {
|
|
|
48
48
|
enabled: boolean;
|
|
49
49
|
options?: Omit<StreamableHTTPServerTransportOptions, 'onsessioninitialized' | 'sessionIdGenerator'> & {
|
|
50
50
|
sessionIdGenerator?: () => string | undefined;
|
|
51
|
+
stateless?: boolean;
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
54
|
sse?: {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
1
2
|
import { MetadataScanner, DiscoveryService as NestDiscoveryService, Reflector } from '@nestjs/core';
|
|
2
3
|
import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
|
|
3
4
|
export interface MethodWithMetadata<T = unknown> {
|
|
@@ -5,6 +6,8 @@ export interface MethodWithMetadata<T = unknown> {
|
|
|
5
6
|
metadata: T;
|
|
6
7
|
handler: (...args: any[]) => any;
|
|
7
8
|
instance: object;
|
|
9
|
+
isStatic: boolean;
|
|
10
|
+
metatype: Type<unknown> | undefined;
|
|
8
11
|
}
|
|
9
12
|
export declare class DiscoveryService {
|
|
10
13
|
private readonly discoveryService;
|
|
@@ -44,6 +44,8 @@ let DiscoveryService = class DiscoveryService {
|
|
|
44
44
|
if (!instancePrototype) {
|
|
45
45
|
return [];
|
|
46
46
|
}
|
|
47
|
+
const isStatic = provider.isDependencyTreeStatic();
|
|
48
|
+
const metatype = provider.metatype;
|
|
47
49
|
const methodNames = this.metadataScanner.getAllMethodNames(instancePrototype);
|
|
48
50
|
const result = [];
|
|
49
51
|
for (const methodName of methodNames) {
|
|
@@ -69,6 +71,8 @@ let DiscoveryService = class DiscoveryService {
|
|
|
69
71
|
metadata: metadata,
|
|
70
72
|
handler,
|
|
71
73
|
instance,
|
|
74
|
+
isStatic,
|
|
75
|
+
metatype,
|
|
72
76
|
});
|
|
73
77
|
}
|
|
74
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.service.js","sourceRoot":"","sources":["../../src/services/discovery.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"discovery.service.js","sourceRoot":"","sources":["../../src/services/discovery.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { ModuleRef, Reflector } from '@nestjs/core';
|
|
3
|
+
import { Request } from 'express';
|
|
3
4
|
import { DiscoveryService } from './discovery.service';
|
|
4
5
|
import { McpLoggerService } from './logger.service';
|
|
5
6
|
import { SessionManager } from './session.manager';
|
|
@@ -9,12 +10,15 @@ export declare class RegistryService {
|
|
|
9
10
|
private readonly reflector;
|
|
10
11
|
private readonly sessionManager;
|
|
11
12
|
private readonly moduleRef;
|
|
13
|
+
private static readonly requestContext;
|
|
14
|
+
static runInRequestContext<T>(req: Request, fn: () => T): T;
|
|
12
15
|
constructor(discoveryService: DiscoveryService, logger: McpLoggerService, reflector: Reflector, sessionManager: SessionManager, moduleRef: ModuleRef);
|
|
13
16
|
registerAll(server: McpServer, workspace?: string): void;
|
|
14
17
|
private matchesWorkspace;
|
|
15
18
|
private getDecoratorType;
|
|
16
19
|
private getHandlerArgs;
|
|
17
20
|
private resolveGuard;
|
|
21
|
+
private getRequestContextId;
|
|
18
22
|
private runGuards;
|
|
19
23
|
private wrappedHandler;
|
|
20
24
|
private registerResources;
|
|
@@ -8,21 +8,29 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var RegistryService_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.RegistryService = void 0;
|
|
14
|
+
const async_hooks_1 = require("async_hooks");
|
|
13
15
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
14
16
|
const common_1 = require("@nestjs/common");
|
|
15
17
|
const core_1 = require("@nestjs/core");
|
|
18
|
+
const request_constants_1 = require("@nestjs/core/router/request/request-constants");
|
|
16
19
|
const decorators_1 = require("../decorators");
|
|
17
20
|
const discovery_service_1 = require("./discovery.service");
|
|
18
21
|
const logger_service_1 = require("./logger.service");
|
|
19
22
|
const session_manager_1 = require("./session.manager");
|
|
20
23
|
let RegistryService = class RegistryService {
|
|
24
|
+
static { RegistryService_1 = this; }
|
|
21
25
|
discoveryService;
|
|
22
26
|
logger;
|
|
23
27
|
reflector;
|
|
24
28
|
sessionManager;
|
|
25
29
|
moduleRef;
|
|
30
|
+
static requestContext = new async_hooks_1.AsyncLocalStorage();
|
|
31
|
+
static runInRequestContext(req, fn) {
|
|
32
|
+
return RegistryService_1.requestContext.run(req, fn);
|
|
33
|
+
}
|
|
26
34
|
constructor(discoveryService, logger, reflector, sessionManager, moduleRef) {
|
|
27
35
|
this.discoveryService = discoveryService;
|
|
28
36
|
this.logger = logger;
|
|
@@ -96,12 +104,16 @@ let RegistryService = class RegistryService {
|
|
|
96
104
|
throw new Error(`Unknown decorator type for method ${method.name}`);
|
|
97
105
|
}
|
|
98
106
|
}
|
|
99
|
-
async resolveGuard(Guard) {
|
|
107
|
+
async resolveGuard(Guard, contextId) {
|
|
100
108
|
if (typeof Guard !== 'function') {
|
|
101
109
|
return Guard;
|
|
102
110
|
}
|
|
103
111
|
try {
|
|
104
|
-
return
|
|
112
|
+
return contextId
|
|
113
|
+
? await this.moduleRef.resolve(Guard, contextId, {
|
|
114
|
+
strict: false,
|
|
115
|
+
})
|
|
116
|
+
: this.moduleRef.get(Guard, { strict: false });
|
|
105
117
|
}
|
|
106
118
|
catch {
|
|
107
119
|
try {
|
|
@@ -112,7 +124,19 @@ let RegistryService = class RegistryService {
|
|
|
112
124
|
}
|
|
113
125
|
}
|
|
114
126
|
}
|
|
115
|
-
|
|
127
|
+
getRequestContextId(request) {
|
|
128
|
+
const contextId = core_1.ContextIdFactory.getByRequest(request);
|
|
129
|
+
if (!(request_constants_1.REQUEST_CONTEXT_ID in request)) {
|
|
130
|
+
Object.defineProperty(request, request_constants_1.REQUEST_CONTEXT_ID, {
|
|
131
|
+
value: contextId,
|
|
132
|
+
enumerable: false,
|
|
133
|
+
configurable: true,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
this.moduleRef.registerRequestByContextId(request, contextId);
|
|
137
|
+
return contextId;
|
|
138
|
+
}
|
|
139
|
+
runGuards(instance, methodName, sessionId, request, args, contextId) {
|
|
116
140
|
const classConstructor = instance.constructor;
|
|
117
141
|
const classGuards = Reflect.getMetadata(decorators_1.MCP_GUARDS, classConstructor) || [];
|
|
118
142
|
const prototype = Object.getPrototypeOf(instance);
|
|
@@ -134,43 +158,64 @@ let RegistryService = class RegistryService {
|
|
|
134
158
|
};
|
|
135
159
|
return (async () => {
|
|
136
160
|
for (const Guard of allGuards) {
|
|
137
|
-
const guardInstance = await this.resolveGuard(Guard);
|
|
161
|
+
const guardInstance = await this.resolveGuard(Guard, contextId);
|
|
138
162
|
const allowed = await guardInstance.canActivate(context);
|
|
139
163
|
if (!allowed)
|
|
140
164
|
throw new Error(`Access denied by guard on ${methodName}`);
|
|
141
165
|
}
|
|
142
166
|
})();
|
|
143
167
|
}
|
|
144
|
-
async wrappedHandler(instance, handler, args) {
|
|
168
|
+
async wrappedHandler(instance, handler, args, isStatic, metatype) {
|
|
145
169
|
const isResolver = Reflect.hasMetadata(decorators_1.MCP_RESOLVER, instance.constructor);
|
|
146
170
|
if (!isResolver) {
|
|
147
171
|
throw new Error(`Class "${instance.constructor.name}" must be decorated with @Resolver to use @Prompt, @Tool, or @Resource.`);
|
|
148
172
|
}
|
|
149
173
|
const methodName = handler.name;
|
|
150
174
|
const { sessionId } = args[args.length - 1];
|
|
151
|
-
|
|
152
|
-
|
|
175
|
+
let headers;
|
|
176
|
+
let body;
|
|
177
|
+
let request;
|
|
178
|
+
if (sessionId) {
|
|
179
|
+
const session = this.sessionManager.getSession(sessionId);
|
|
180
|
+
if (!session) {
|
|
181
|
+
throw new common_1.ForbiddenException('Session not found');
|
|
182
|
+
}
|
|
183
|
+
headers = session.request.headers;
|
|
184
|
+
body = session.request.body;
|
|
185
|
+
request = session.request;
|
|
153
186
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
187
|
+
else {
|
|
188
|
+
const req = RegistryService_1.requestContext.getStore();
|
|
189
|
+
if (!req) {
|
|
190
|
+
throw new common_1.UnauthorizedException('No request context available. Ensure stateless mode is enabled.');
|
|
191
|
+
}
|
|
192
|
+
headers = req.headers;
|
|
193
|
+
body = req.body;
|
|
194
|
+
request = req;
|
|
157
195
|
}
|
|
158
196
|
args[args.length - 1] = {
|
|
159
197
|
...args[args.length - 1],
|
|
160
|
-
headers
|
|
161
|
-
body
|
|
198
|
+
headers,
|
|
199
|
+
body,
|
|
162
200
|
};
|
|
163
|
-
|
|
164
|
-
|
|
201
|
+
const contextId = this.getRequestContextId(request);
|
|
202
|
+
await this.runGuards(instance, methodName, sessionId ?? 'stateless', request, args, contextId);
|
|
203
|
+
if (!isStatic && metatype) {
|
|
204
|
+
const freshInstance = await this.moduleRef.resolve(metatype, contextId, {
|
|
205
|
+
strict: false,
|
|
206
|
+
});
|
|
207
|
+
return freshInstance[handler.name](...args);
|
|
208
|
+
}
|
|
209
|
+
return instance[methodName](...args);
|
|
165
210
|
}
|
|
166
211
|
registerResources(server, workspace) {
|
|
167
212
|
const resourceMethods = this.discoveryService.getAllMethodsWithMetadata(decorators_1.MCP_RESOURCE);
|
|
168
213
|
for (const method of resourceMethods) {
|
|
169
|
-
const { metadata, handler, instance } = method;
|
|
214
|
+
const { metadata, handler, instance, isStatic, metatype } = method;
|
|
170
215
|
if (!this.matchesWorkspace(instance, workspace))
|
|
171
216
|
continue;
|
|
172
217
|
this.logger.log(`Resource "${metadata?.name || 'unnamed'}" found.`, 'resources');
|
|
173
|
-
const wrappedHandler = (...args) => this.wrappedHandler(instance, handler, args);
|
|
218
|
+
const wrappedHandler = (...args) => this.wrappedHandler(instance, handler, args, isStatic, metatype);
|
|
174
219
|
try {
|
|
175
220
|
if ('template' in metadata) {
|
|
176
221
|
if ('metadata' in metadata) {
|
|
@@ -200,11 +245,11 @@ let RegistryService = class RegistryService {
|
|
|
200
245
|
registerPrompts(server, workspace) {
|
|
201
246
|
const promptMethods = this.discoveryService.getAllMethodsWithMetadata(decorators_1.MCP_PROMPT);
|
|
202
247
|
for (const method of promptMethods) {
|
|
203
|
-
const { metadata, handler, instance } = method;
|
|
248
|
+
const { metadata, handler, instance, isStatic, metatype } = method;
|
|
204
249
|
if (!this.matchesWorkspace(instance, workspace))
|
|
205
250
|
continue;
|
|
206
251
|
this.logger.log(`Prompt "${metadata?.name || 'unnamed'}" found.`, 'prompts');
|
|
207
|
-
const wrappedHandler = (...args) => this.wrappedHandler(instance, handler, args);
|
|
252
|
+
const wrappedHandler = (...args) => this.wrappedHandler(instance, handler, args, isStatic, metatype);
|
|
208
253
|
try {
|
|
209
254
|
if ('description' in metadata && 'argsSchema' in metadata) {
|
|
210
255
|
server.prompt(metadata.name, metadata.description, metadata.argsSchema, wrappedHandler);
|
|
@@ -230,11 +275,11 @@ let RegistryService = class RegistryService {
|
|
|
230
275
|
registerTools(server, workspace) {
|
|
231
276
|
const toolMethods = this.discoveryService.getAllMethodsWithMetadata(decorators_1.MCP_TOOL);
|
|
232
277
|
for (const method of toolMethods) {
|
|
233
|
-
const { metadata, handler, instance } = method;
|
|
278
|
+
const { metadata, handler, instance, isStatic, metatype } = method;
|
|
234
279
|
if (!this.matchesWorkspace(instance, workspace))
|
|
235
280
|
continue;
|
|
236
281
|
this.logger.log(`Tool "${metadata?.name || 'unnamed'}" found.`, 'tools');
|
|
237
|
-
const wrappedHandler = (...args) => this.wrappedHandler(instance, handler, args);
|
|
282
|
+
const wrappedHandler = (...args) => this.wrappedHandler(instance, handler, args, isStatic, metatype);
|
|
238
283
|
try {
|
|
239
284
|
if ('paramsSchema' in metadata &&
|
|
240
285
|
'annotations' in metadata &&
|
|
@@ -273,7 +318,7 @@ let RegistryService = class RegistryService {
|
|
|
273
318
|
}
|
|
274
319
|
};
|
|
275
320
|
exports.RegistryService = RegistryService;
|
|
276
|
-
exports.RegistryService = RegistryService = __decorate([
|
|
321
|
+
exports.RegistryService = RegistryService = RegistryService_1 = __decorate([
|
|
277
322
|
(0, common_1.Injectable)(),
|
|
278
323
|
__metadata("design:paramtypes", [discovery_service_1.DiscoveryService,
|
|
279
324
|
logger_service_1.McpLoggerService,
|
|
@@ -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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"}
|
|
@@ -16,6 +16,7 @@ export declare class StreamableService implements OnModuleInit {
|
|
|
16
16
|
private readonly maxConcurrentSessions;
|
|
17
17
|
private readonly cleanupIntervalMs;
|
|
18
18
|
private readonly enabled;
|
|
19
|
+
private readonly stateless;
|
|
19
20
|
private cleanupTimer?;
|
|
20
21
|
constructor(options: McpServerOptions, transportOptions: McpModuleTransportOptions, sessionOptions: McpSessionOptions, workspace: string | null, registry: RegistryService, logger: McpLoggerService, sessionManager: SessionManager);
|
|
21
22
|
onModuleInit(): void;
|
|
@@ -34,6 +34,7 @@ let StreamableService = class StreamableService {
|
|
|
34
34
|
maxConcurrentSessions;
|
|
35
35
|
cleanupIntervalMs;
|
|
36
36
|
enabled;
|
|
37
|
+
stateless;
|
|
37
38
|
cleanupTimer;
|
|
38
39
|
constructor(options, transportOptions, sessionOptions, workspace, registry, logger, sessionManager) {
|
|
39
40
|
this.options = options;
|
|
@@ -44,6 +45,7 @@ let StreamableService = class StreamableService {
|
|
|
44
45
|
this.logger = logger;
|
|
45
46
|
this.sessionManager = sessionManager;
|
|
46
47
|
this.enabled = transportOptions?.streamable?.enabled !== false;
|
|
48
|
+
this.stateless = transportOptions?.streamable?.options?.stateless ?? false;
|
|
47
49
|
this.sessionTimeoutMs = sessionOptions.sessionTimeoutMs ?? 1800000;
|
|
48
50
|
this.maxConcurrentSessions = sessionOptions.maxConcurrentSessions ?? 1000;
|
|
49
51
|
this.cleanupIntervalMs = sessionOptions.cleanupIntervalMs ?? 300000;
|
|
@@ -53,6 +55,10 @@ let StreamableService = class StreamableService {
|
|
|
53
55
|
this.logger.log('Streamable transport disabled', 'MCP_SERVER');
|
|
54
56
|
return;
|
|
55
57
|
}
|
|
58
|
+
if (this.stateless) {
|
|
59
|
+
this.logger.log('MCP STREAMABLE initialization completed (stateless mode)');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
56
62
|
this.logger.log('MCP STREAMEABLE initialization completed');
|
|
57
63
|
this.startCleanupJob();
|
|
58
64
|
}
|
|
@@ -105,9 +111,25 @@ let StreamableService = class StreamableService {
|
|
|
105
111
|
});
|
|
106
112
|
return;
|
|
107
113
|
}
|
|
114
|
+
const { options } = this.transportOptions?.streamable || {};
|
|
115
|
+
if (this.stateless) {
|
|
116
|
+
const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
117
|
+
sessionIdGenerator: undefined,
|
|
118
|
+
enableJsonResponse: options?.enableJsonResponse,
|
|
119
|
+
});
|
|
120
|
+
const server = this.createServer();
|
|
121
|
+
await server.connect(transport);
|
|
122
|
+
try {
|
|
123
|
+
await registry_service_1.RegistryService.runInRequestContext(req, () => transport.handleRequest(req, res, req.body));
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
await transport.close();
|
|
127
|
+
await server.close();
|
|
128
|
+
}
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
108
131
|
const sessionId = req.headers['mcp-session-id'];
|
|
109
132
|
let transport;
|
|
110
|
-
const { options } = this.transportOptions?.streamable || {};
|
|
111
133
|
if (!sessionId &&
|
|
112
134
|
this.sessionManager.getActiveSessionCount() >= this.maxConcurrentSessions) {
|
|
113
135
|
this.logger.warn(`Maximum concurrent sessions reached: ${this.maxConcurrentSessions}`, 'STREAMABLE');
|
|
@@ -154,7 +176,8 @@ let StreamableService = class StreamableService {
|
|
|
154
176
|
await server.connect(transport);
|
|
155
177
|
}
|
|
156
178
|
catch (error) {
|
|
157
|
-
|
|
179
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
180
|
+
this.logger.error('Failed to create or connect server', errorMessage, 'STREAMABLE');
|
|
158
181
|
await transport.close();
|
|
159
182
|
res.status(500).json({
|
|
160
183
|
jsonrpc: '2.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamable.service.js","sourceRoot":"","sources":["../../../src/transports/streamable/streamable.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oEAAoE;AACpE,0FAAmG;AACnG,iEAAyE;AACzE,2CAAkE;AAClE,mCAAoC;AAGpC,uDAK6B;AAM7B,kEAAiE;AACjE,sEAAkE;AAClE,oEAAgE;
|
|
1
|
+
{"version":3,"file":"streamable.service.js","sourceRoot":"","sources":["../../../src/transports/streamable/streamable.service.ts"],"names":[],"mappings":"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"}
|