@candide/nestjs-mcp-server 1.1.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 (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1065 -0
  3. package/dist/decorators/index.d.ts +5 -0
  4. package/dist/decorators/index.js +22 -0
  5. package/dist/decorators/index.js.map +1 -0
  6. package/dist/decorators/prompt.decorator.d.ts +15 -0
  7. package/dist/decorators/prompt.decorator.js +16 -0
  8. package/dist/decorators/prompt.decorator.js.map +1 -0
  9. package/dist/decorators/resolver.decorator.d.ts +2 -0
  10. package/dist/decorators/resolver.decorator.js +14 -0
  11. package/dist/decorators/resolver.decorator.js.map +1 -0
  12. package/dist/decorators/resource.decorator.d.ts +18 -0
  13. package/dist/decorators/resource.decorator.js +16 -0
  14. package/dist/decorators/resource.decorator.js.map +1 -0
  15. package/dist/decorators/tool.decorator.d.ts +30 -0
  16. package/dist/decorators/tool.decorator.js +16 -0
  17. package/dist/decorators/tool.decorator.js.map +1 -0
  18. package/dist/decorators/user-guard.decorator.d.ts +2 -0
  19. package/dist/decorators/user-guard.decorator.js +10 -0
  20. package/dist/decorators/user-guard.decorator.js.map +1 -0
  21. package/dist/index.d.ts +6 -0
  22. package/dist/index.js +23 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/interfaces/context.interface.d.ts +11 -0
  25. package/dist/interfaces/context.interface.js +3 -0
  26. package/dist/interfaces/context.interface.js.map +1 -0
  27. package/dist/interfaces/index.d.ts +1 -0
  28. package/dist/interfaces/index.js +18 -0
  29. package/dist/interfaces/index.js.map +1 -0
  30. package/dist/mcp-core.module.d.ts +11 -0
  31. package/dist/mcp-core.module.js +218 -0
  32. package/dist/mcp-core.module.js.map +1 -0
  33. package/dist/mcp.constants.d.ts +6 -0
  34. package/dist/mcp.constants.js +10 -0
  35. package/dist/mcp.constants.js.map +1 -0
  36. package/dist/mcp.module.d.ts +11 -0
  37. package/dist/mcp.module.js +40 -0
  38. package/dist/mcp.module.js.map +1 -0
  39. package/dist/mcp.types.d.ts +62 -0
  40. package/dist/mcp.types.js +3 -0
  41. package/dist/mcp.types.js.map +1 -0
  42. package/dist/services/discovery.service.d.ts +16 -0
  43. package/dist/services/discovery.service.js +85 -0
  44. package/dist/services/discovery.service.js.map +1 -0
  45. package/dist/services/index.d.ts +3 -0
  46. package/dist/services/index.js +20 -0
  47. package/dist/services/index.js.map +1 -0
  48. package/dist/services/logger.service.d.ts +16 -0
  49. package/dist/services/logger.service.js +98 -0
  50. package/dist/services/logger.service.js.map +1 -0
  51. package/dist/services/registry.service.d.ts +23 -0
  52. package/dist/services/registry.service.js +284 -0
  53. package/dist/services/registry.service.js.map +1 -0
  54. package/dist/services/session.manager.d.ts +18 -0
  55. package/dist/services/session.manager.js +46 -0
  56. package/dist/services/session.manager.js.map +1 -0
  57. package/dist/transports/sse/index.d.ts +2 -0
  58. package/dist/transports/sse/index.js +19 -0
  59. package/dist/transports/sse/index.js.map +1 -0
  60. package/dist/transports/sse/sse.controller.d.ts +3 -0
  61. package/dist/transports/sse/sse.controller.js +61 -0
  62. package/dist/transports/sse/sse.controller.js.map +1 -0
  63. package/dist/transports/sse/sse.service.d.ts +29 -0
  64. package/dist/transports/sse/sse.service.js +174 -0
  65. package/dist/transports/sse/sse.service.js.map +1 -0
  66. package/dist/transports/streamable/index.d.ts +2 -0
  67. package/dist/transports/streamable/index.js +19 -0
  68. package/dist/transports/streamable/index.js.map +1 -0
  69. package/dist/transports/streamable/streamable.controller.d.ts +3 -0
  70. package/dist/transports/streamable/streamable.controller.js +66 -0
  71. package/dist/transports/streamable/streamable.controller.js.map +1 -0
  72. package/dist/transports/streamable/streamable.service.d.ts +30 -0
  73. package/dist/transports/streamable/streamable.service.js +238 -0
  74. package/dist/transports/streamable/streamable.service.js.map +1 -0
  75. package/dist/tsconfig.build.tsbuildinfo +1 -0
  76. package/dist/types/handler-args.types.d.ts +23 -0
  77. package/dist/types/handler-args.types.js +3 -0
  78. package/dist/types/handler-args.types.js.map +1 -0
  79. package/package.json +151 -0
@@ -0,0 +1,5 @@
1
+ export * from './prompt.decorator';
2
+ export * from './resolver.decorator';
3
+ export * from './resource.decorator';
4
+ export * from './tool.decorator';
5
+ export * from './user-guard.decorator';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./prompt.decorator"), exports);
18
+ __exportStar(require("./resolver.decorator"), exports);
19
+ __exportStar(require("./resource.decorator"), exports);
20
+ __exportStar(require("./tool.decorator"), exports);
21
+ __exportStar(require("./user-guard.decorator"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,yDAAuC"}
@@ -0,0 +1,15 @@
1
+ import { PromptArgsRawShape } from '../mcp.types';
2
+ export interface PromptBaseOptions {
3
+ name: string;
4
+ }
5
+ export interface PromptWithDescriptionOptions extends PromptBaseOptions {
6
+ description: string;
7
+ }
8
+ export interface PromptWithArgsSchemaOptions extends PromptBaseOptions {
9
+ argsSchema: PromptArgsRawShape;
10
+ }
11
+ export interface PromptWithDescriptionAndArgsSchemaOptions extends PromptWithDescriptionOptions, PromptWithArgsSchemaOptions {
12
+ }
13
+ export type PromptOptions = PromptBaseOptions | PromptWithDescriptionOptions | PromptWithArgsSchemaOptions | PromptWithDescriptionAndArgsSchemaOptions;
14
+ export declare const MCP_PROMPT = "__mcp_prompt__";
15
+ export declare function Prompt(options: PromptOptions): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_PROMPT = void 0;
4
+ exports.Prompt = Prompt;
5
+ const common_1 = require("@nestjs/common");
6
+ exports.MCP_PROMPT = '__mcp_prompt__';
7
+ function Prompt(options) {
8
+ return function (target, propertyKey, descriptor) {
9
+ (0, common_1.SetMetadata)(exports.MCP_PROMPT, {
10
+ ...options,
11
+ methodName: propertyKey,
12
+ })(target, propertyKey, descriptor);
13
+ return descriptor;
14
+ };
15
+ }
16
+ //# sourceMappingURL=prompt.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.decorator.js","sourceRoot":"","sources":["../../src/decorators/prompt.decorator.ts"],"names":[],"mappings":";;;AA+CA,wBAaC;AA5DD,2CAA6C;AA0BhC,QAAA,UAAU,GAAG,gBAAgB,CAAC;AAqB3C,SAAgB,MAAM,CAAC,OAAsB;IAC3C,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,IAAA,oBAAW,EAAC,kBAAU,EAAE;YACtB,GAAG,OAAO;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEpC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const MCP_RESOLVER = "__mcp_resolver__";
2
+ export declare function Resolver(workspace?: string): ClassDecorator;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_RESOLVER = void 0;
4
+ exports.Resolver = Resolver;
5
+ const common_1 = require("@nestjs/common");
6
+ const common_2 = require("@nestjs/common");
7
+ exports.MCP_RESOLVER = '__mcp_resolver__';
8
+ function Resolver(workspace) {
9
+ return function (target) {
10
+ (0, common_1.Injectable)()(target);
11
+ (0, common_2.SetMetadata)(exports.MCP_RESOLVER, workspace || true)(target);
12
+ };
13
+ }
14
+ //# sourceMappingURL=resolver.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.decorator.js","sourceRoot":"","sources":["../../src/decorators/resolver.decorator.ts"],"names":[],"mappings":";;;AAkBA,4BAKC;AAvBD,2CAA4C;AAE5C,2CAA6C;AAKhC,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAW/C,SAAgB,QAAQ,CAAC,SAAkB;IACzC,OAAO,UAAU,MAAW;QAC1B,IAAA,mBAAU,GAAE,CAAC,MAAM,CAAC,CAAC;QACrB,IAAA,oBAAW,EAAC,oBAAY,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface ResourceBaseOptions {
2
+ name: string;
3
+ }
4
+ export interface ResourceUriOptions extends ResourceBaseOptions {
5
+ uri: string;
6
+ }
7
+ export interface ResourceUriWithMetadataOptions extends ResourceUriOptions {
8
+ metadata: Record<string, any>;
9
+ }
10
+ export interface ResourceTemplateOptions extends ResourceBaseOptions {
11
+ template: string;
12
+ }
13
+ export interface ResourceTemplateWithMetadataOptions extends ResourceTemplateOptions {
14
+ metadata: Record<string, any>;
15
+ }
16
+ export type ResourceOptions = ResourceUriOptions | ResourceUriWithMetadataOptions | ResourceTemplateOptions | ResourceTemplateWithMetadataOptions;
17
+ export declare const MCP_RESOURCE = "__mcp_resource__";
18
+ export declare function Resource(options: ResourceOptions): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_RESOURCE = void 0;
4
+ exports.Resource = Resource;
5
+ const common_1 = require("@nestjs/common");
6
+ exports.MCP_RESOURCE = '__mcp_resource__';
7
+ function Resource(options) {
8
+ return function (target, propertyKey, descriptor) {
9
+ (0, common_1.SetMetadata)(exports.MCP_RESOURCE, {
10
+ ...options,
11
+ methodName: propertyKey,
12
+ })(target, propertyKey, descriptor);
13
+ return descriptor;
14
+ };
15
+ }
16
+ //# sourceMappingURL=resource.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.decorator.js","sourceRoot":"","sources":["../../src/decorators/resource.decorator.ts"],"names":[],"mappings":";;;AAqDA,4BAYC;AAjED,2CAA6C;AA4BhC,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAyB/C,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,IAAA,oBAAW,EAAC,oBAAY,EAAE;YACxB,GAAG,OAAO;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { ToolAnnotations } from '@modelcontextprotocol/sdk/types';
2
+ import { ZodRawShapeCompat } from '@modelcontextprotocol/sdk/server/zod-compat.js';
3
+ export interface ToolBaseOptions {
4
+ name: string;
5
+ }
6
+ export interface ToolWithDescriptionOptions extends ToolBaseOptions {
7
+ description: string;
8
+ }
9
+ export interface ToolWithParamsSchemaOptions extends ToolBaseOptions {
10
+ paramsSchema: ZodRawShapeCompat;
11
+ }
12
+ export interface ToolWithParamsSchemaAndDescriptionOptions extends ToolWithParamsSchemaOptions {
13
+ description: string;
14
+ }
15
+ export interface ToolWithAnnotationsOptions extends ToolBaseOptions {
16
+ annotations: ToolAnnotations;
17
+ }
18
+ export interface ToolWithAnnotationsAndDescriptionOptions extends ToolWithAnnotationsOptions {
19
+ description: string;
20
+ }
21
+ export interface ToolWithParamsSchemaAndAnnotationsOptions extends ToolBaseOptions {
22
+ paramsSchema: ZodRawShapeCompat;
23
+ annotations: ToolAnnotations;
24
+ }
25
+ export interface ToolWithParamsSchemaAndAnnotationsAndDescriptionOptions extends ToolWithParamsSchemaAndAnnotationsOptions {
26
+ description: string;
27
+ }
28
+ export type ToolOptions = ToolBaseOptions | ToolWithDescriptionOptions | ToolWithParamsSchemaOptions | ToolWithParamsSchemaAndDescriptionOptions | ToolWithAnnotationsOptions | ToolWithAnnotationsAndDescriptionOptions | ToolWithParamsSchemaAndAnnotationsOptions | ToolWithParamsSchemaAndAnnotationsAndDescriptionOptions;
29
+ export declare const MCP_TOOL = "__mcp_tool__";
30
+ export declare function Tool(options: ToolOptions): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_TOOL = void 0;
4
+ exports.Tool = Tool;
5
+ const common_1 = require("@nestjs/common");
6
+ exports.MCP_TOOL = '__mcp_tool__';
7
+ function Tool(options) {
8
+ return function (target, propertyKey, descriptor) {
9
+ (0, common_1.SetMetadata)(exports.MCP_TOOL, {
10
+ ...options,
11
+ methodName: propertyKey,
12
+ })(target, propertyKey, descriptor);
13
+ return descriptor;
14
+ };
15
+ }
16
+ //# sourceMappingURL=tool.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.decorator.js","sourceRoot":"","sources":["../../src/decorators/tool.decorator.ts"],"names":[],"mappings":";;;AAiEA,oBAaC;AA5ED,2CAA6C;AA6ChC,QAAA,QAAQ,GAAG,cAAc,CAAC;AAkBvC,SAAgB,IAAI,CAAC,OAAoB;IACvC,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,IAAA,oBAAW,EAAC,gBAAQ,EAAE;YACpB,GAAG,OAAO;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEpC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const MCP_GUARDS = "__mcp_guards__";
2
+ export declare function UseGuards(...guards: any[]): ClassDecorator & MethodDecorator;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_GUARDS = void 0;
4
+ exports.UseGuards = UseGuards;
5
+ const common_1 = require("@nestjs/common");
6
+ exports.MCP_GUARDS = '__mcp_guards__';
7
+ function UseGuards(...guards) {
8
+ return (0, common_1.SetMetadata)(exports.MCP_GUARDS, guards);
9
+ }
10
+ //# sourceMappingURL=user-guard.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-guard.decorator.js","sourceRoot":"","sources":["../../src/decorators/user-guard.decorator.ts"],"names":[],"mappings":";;;AAiBA,8BAEC;AAnBD,2CAA6C;AAKhC,QAAA,UAAU,GAAG,gBAAgB,CAAC;AAY3C,SAAgB,SAAS,CAAC,GAAG,MAAa;IACxC,OAAO,IAAA,oBAAW,EAAC,kBAAU,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './mcp.module';
2
+ export * from './mcp.types';
3
+ export * from './interfaces';
4
+ export * from './types/handler-args.types';
5
+ export * from './services';
6
+ export * from './decorators';
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./mcp.module"), exports);
18
+ __exportStar(require("./mcp.types"), exports);
19
+ __exportStar(require("./interfaces"), exports);
20
+ __exportStar(require("./types/handler-args.types"), exports);
21
+ __exportStar(require("./services"), exports);
22
+ __exportStar(require("./decorators"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,11 @@
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;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=context.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.interface.js","sourceRoot":"","sources":["../../src/interfaces/context.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './context.interface';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./context.interface"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
@@ -0,0 +1,11 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { McpFeatureOptions, McpModuleAsyncOptions, McpModuleOptions } from './mcp.types';
3
+ export declare class McpCoreModule {
4
+ private static getActiveTransportControllersAndProviders;
5
+ private static buildServerConfig;
6
+ private static createAsyncOptionsProvider;
7
+ private static createAsyncProviders;
8
+ static forRoot(options: McpModuleOptions): DynamicModule;
9
+ static forRootAsync(options: McpModuleAsyncOptions): DynamicModule;
10
+ static forFeature(_options?: McpFeatureOptions): DynamicModule;
11
+ }
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var McpCoreModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.McpCoreModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const core_1 = require("@nestjs/core");
13
+ const async_hooks_1 = require("async_hooks");
14
+ const mcp_constants_1 = require("./mcp.constants");
15
+ const discovery_service_1 = require("./services/discovery.service");
16
+ const logger_service_1 = require("./services/logger.service");
17
+ const registry_service_1 = require("./services/registry.service");
18
+ const session_manager_1 = require("./services/session.manager");
19
+ const sse_1 = require("./transports/sse");
20
+ const streamable_1 = require("./transports/streamable");
21
+ let McpCoreModule = McpCoreModule_1 = class McpCoreModule {
22
+ static getActiveTransportControllersAndProviders(transports, endpoints) {
23
+ const controllers = new Set();
24
+ const providers = new Set();
25
+ const STREAMABLE_TRANSPORT = {
26
+ controller: (0, streamable_1.createStreamableController)(endpoints?.mcpEndpoint || 'mcp'),
27
+ service: streamable_1.StreamableService,
28
+ };
29
+ const SSE_TRANSPORT = {
30
+ controller: (0, sse_1.createSseController)(endpoints?.sseEndpoint || 'sse', endpoints?.messagesEndpoint || 'messages'),
31
+ service: sse_1.SseService,
32
+ };
33
+ const defaultTransports = {
34
+ streamable: { enabled: true },
35
+ sse: { enabled: true },
36
+ };
37
+ const config = {
38
+ streamable: {
39
+ ...defaultTransports.streamable,
40
+ ...(transports?.streamable ?? {}),
41
+ },
42
+ sse: {
43
+ ...defaultTransports.sse,
44
+ ...(transports?.sse ?? {}),
45
+ },
46
+ };
47
+ if (config.streamable.enabled) {
48
+ controllers.add(STREAMABLE_TRANSPORT.controller);
49
+ providers.add(STREAMABLE_TRANSPORT.service);
50
+ }
51
+ if (config.sse.enabled) {
52
+ controllers.add(SSE_TRANSPORT.controller);
53
+ providers.add(SSE_TRANSPORT.service);
54
+ }
55
+ return {
56
+ controllers: Array.from(controllers),
57
+ providers: Array.from(providers),
58
+ };
59
+ }
60
+ static buildServerConfig(options) {
61
+ const serverInfo = {
62
+ name: options.name,
63
+ version: options.version,
64
+ };
65
+ const serverOptions = {
66
+ instructions: options?.instructions,
67
+ capabilities: options?.capabilities,
68
+ ...(options?.protocolOptions || {}),
69
+ };
70
+ const loggingOptions = {
71
+ enabled: options.logging?.enabled !== false,
72
+ level: options.logging?.level || 'verbose',
73
+ };
74
+ return { serverInfo, serverOptions, loggingOptions };
75
+ }
76
+ static createAsyncOptionsProvider(options) {
77
+ return {
78
+ provide: mcp_constants_1.MCP_MODULE_OPTIONS,
79
+ useFactory: options.useFactory,
80
+ inject: options.inject || [],
81
+ };
82
+ }
83
+ static createAsyncProviders(options) {
84
+ return [
85
+ this.createAsyncOptionsProvider(options),
86
+ {
87
+ provide: mcp_constants_1.MCP_LOGGING_OPTIONS,
88
+ useFactory: (mcpOptions) => ({
89
+ enabled: mcpOptions.logging?.enabled !== false,
90
+ level: mcpOptions.logging?.level || 'verbose',
91
+ }),
92
+ inject: [mcp_constants_1.MCP_MODULE_OPTIONS],
93
+ },
94
+ {
95
+ provide: mcp_constants_1.MCP_TRANSPORT_OPTIONS,
96
+ useFactory: (mcpOptions) => mcpOptions.transports,
97
+ inject: [mcp_constants_1.MCP_MODULE_OPTIONS],
98
+ },
99
+ {
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,
110
+ useFactory: (mcpOptions) => {
111
+ const { serverInfo, serverOptions, loggingOptions } = McpCoreModule_1.buildServerConfig(mcpOptions);
112
+ return {
113
+ serverInfo,
114
+ options: serverOptions,
115
+ logging: loggingOptions,
116
+ };
117
+ },
118
+ inject: [mcp_constants_1.MCP_MODULE_OPTIONS],
119
+ },
120
+ ];
121
+ }
122
+ static forRoot(options) {
123
+ const imports = options.imports || [];
124
+ const { controllers, providers } = this.getActiveTransportControllersAndProviders(options.transports, {
125
+ mcpEndpoint: options.mcpEndpoint,
126
+ sseEndpoint: options.sseEndpoint,
127
+ messagesEndpoint: options.messagesEndpoint,
128
+ });
129
+ const allProviders = [...(options.providers || []), ...providers];
130
+ const { serverInfo, serverOptions, loggingOptions } = this.buildServerConfig(options);
131
+ return {
132
+ module: McpCoreModule_1,
133
+ imports,
134
+ controllers,
135
+ providers: [
136
+ ...allProviders,
137
+ {
138
+ provide: mcp_constants_1.MCP_SERVER_OPTIONS,
139
+ useValue: {
140
+ serverInfo,
141
+ options: serverOptions,
142
+ logging: loggingOptions,
143
+ },
144
+ },
145
+ {
146
+ provide: mcp_constants_1.MCP_LOGGING_OPTIONS,
147
+ useValue: loggingOptions,
148
+ },
149
+ {
150
+ provide: mcp_constants_1.MCP_TRANSPORT_OPTIONS,
151
+ useValue: options.transports,
152
+ },
153
+ {
154
+ provide: mcp_constants_1.MCP_SESSION_OPTIONS,
155
+ useValue: {
156
+ sessionTimeoutMs: options.session?.sessionTimeoutMs ?? 1800000,
157
+ cleanupIntervalMs: options.session?.cleanupIntervalMs ?? 300000,
158
+ maxConcurrentSessions: options.session?.maxConcurrentSessions ?? 1000,
159
+ },
160
+ },
161
+ {
162
+ provide: mcp_constants_1.MCP_WORKSPACE,
163
+ useValue: options.workspace ?? null,
164
+ },
165
+ ],
166
+ global: true,
167
+ };
168
+ }
169
+ static forRootAsync(options) {
170
+ const { imports = [] } = options;
171
+ const asyncProviders = this.createAsyncProviders(options);
172
+ const { controllers, providers } = McpCoreModule_1.getActiveTransportControllersAndProviders({
173
+ sse: { enabled: true },
174
+ streamable: { enabled: true },
175
+ });
176
+ return {
177
+ module: McpCoreModule_1,
178
+ imports,
179
+ controllers,
180
+ providers: [
181
+ ...asyncProviders,
182
+ ...providers,
183
+ registry_service_1.RegistryService,
184
+ discovery_service_1.DiscoveryService,
185
+ logger_service_1.McpLoggerService,
186
+ session_manager_1.SessionManager,
187
+ {
188
+ provide: async_hooks_1.AsyncLocalStorage,
189
+ useValue: new async_hooks_1.AsyncLocalStorage(),
190
+ },
191
+ ],
192
+ global: true,
193
+ };
194
+ }
195
+ static forFeature(_options) {
196
+ return {
197
+ module: McpCoreModule_1,
198
+ };
199
+ }
200
+ };
201
+ exports.McpCoreModule = McpCoreModule;
202
+ exports.McpCoreModule = McpCoreModule = McpCoreModule_1 = __decorate([
203
+ (0, common_1.Module)({
204
+ imports: [core_1.DiscoveryModule],
205
+ providers: [
206
+ registry_service_1.RegistryService,
207
+ discovery_service_1.DiscoveryService,
208
+ {
209
+ provide: async_hooks_1.AsyncLocalStorage,
210
+ useValue: new async_hooks_1.AsyncLocalStorage(),
211
+ },
212
+ logger_service_1.McpLoggerService,
213
+ session_manager_1.SessionManager,
214
+ ],
215
+ exports: [session_manager_1.SessionManager],
216
+ })
217
+ ], McpCoreModule);
218
+ //# sourceMappingURL=mcp-core.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-core.module.js","sourceRoot":"","sources":["../src/mcp-core.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
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;
6
+ export declare const MCP_WORKSPACE: unique symbol;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_WORKSPACE = 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');
9
+ exports.MCP_WORKSPACE = Symbol('MCP_WORKSPACE');
10
+ //# sourceMappingURL=mcp.constants.js.map
@@ -0,0 +1 @@
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;AAGpD,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { McpFeatureOptions, McpModuleOptions } from './mcp.types';
3
+ export declare class McpModule {
4
+ static forRoot(options: McpModuleOptions): DynamicModule;
5
+ static forRootAsync(options: {
6
+ imports?: any[];
7
+ useFactory: (...args: any[]) => Promise<McpModuleOptions> | McpModuleOptions;
8
+ inject?: any[];
9
+ }): DynamicModule;
10
+ static forFeature(options?: McpFeatureOptions): DynamicModule;
11
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var McpModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.McpModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const mcp_core_module_1 = require("./mcp-core.module");
13
+ let McpModule = McpModule_1 = class McpModule {
14
+ static forRoot(options) {
15
+ return {
16
+ module: McpModule_1,
17
+ imports: [mcp_core_module_1.McpCoreModule.forRoot(options)],
18
+ };
19
+ }
20
+ static forRootAsync(options) {
21
+ return {
22
+ module: McpModule_1,
23
+ imports: [mcp_core_module_1.McpCoreModule.forRootAsync(options)],
24
+ };
25
+ }
26
+ static forFeature(options) {
27
+ const coreFeatureModule = mcp_core_module_1.McpCoreModule.forFeature(options);
28
+ return {
29
+ module: McpModule_1,
30
+ imports: coreFeatureModule.imports ?? [],
31
+ providers: coreFeatureModule.providers,
32
+ exports: coreFeatureModule.exports,
33
+ };
34
+ }
35
+ };
36
+ exports.McpModule = McpModule;
37
+ exports.McpModule = McpModule = McpModule_1 = __decorate([
38
+ (0, common_1.Module)({})
39
+ ], McpModule);
40
+ //# sourceMappingURL=mcp.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../src/mcp.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAEvD,uDAAkD;AAI3C,IAAM,SAAS,iBAAf,MAAM,SAAS;IAIpB,MAAM,CAAC,OAAO,CAAC,OAAyB;QACtC,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE,CAAC,+BAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC1C,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,YAAY,CAAC,OAMnB;QACC,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE,CAAC,+BAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC/C,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,UAAU,CAAC,OAA2B;QAC3C,MAAM,iBAAiB,GAAG,+BAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE,iBAAiB,CAAC,OAAO,IAAI,EAAE;YACxC,SAAS,EAAE,iBAAiB,CAAC,SAAS;YACtC,OAAO,EAAE,iBAAiB,CAAC,OAAO;SACnC,CAAC;IACJ,CAAC;CACF,CAAA;AAvCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,SAAS,CAuCrB"}