@nestjs-mcp/server 0.1.2-rc.0 → 0.2.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 CHANGED
@@ -8,6 +8,7 @@
8
8
  [![Known Vulnerabilities](https://snyk.io/test/github/adrian-d-hidalgo/nestjs-mcp-server/badge.svg)](https://snyk.io/test/github/adrian-d-hidalgo/nestjs-mcp-server)
9
9
  [![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)
10
10
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](./CONTRIBUTING.md)
11
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)
11
12
 
12
13
  ---
13
14
 
@@ -40,6 +41,7 @@
40
41
  - [Prompt Decorator](#prompt-decorator)
41
42
  - [Resource Decorator](#resource-decorator)
42
43
  - [Tool Decorator](#tool-decorator)
44
+ - [RequestHandlerExtra Parameter](#requesthandlerextra-argument)
43
45
  - [Guards](#guards)
44
46
  - [Global-level guards](#global-level-guards)
45
47
  - [Resolver-level guards](#resolver-level-guards)
@@ -496,6 +498,68 @@ export class MyTools {
496
498
  }
497
499
  ```
498
500
 
501
+ ### RequestHandlerExtra Argument
502
+
503
+ All MCP capability methods (`@Prompt`, `@Resource`, `@Tool`) always receive a `RequestHandlerExtra` object as their last parameter. This object extends the original type from `@modelcontextprotocol/sdk` and provides essential context about the current MCP request.
504
+
505
+ **Properties from SDK:**
506
+
507
+ - `signal`: An `AbortSignal` used to communicate if the request was cancelled
508
+ - `authInfo`: Optional information about a validated access token
509
+ - `sessionId`: The session ID from the transport, if available
510
+ - `sendNotification`: Function to send a notification related to the current request
511
+ - `sendRequest`: Function to send a request related to the current request
512
+
513
+ **Extended Properties:**
514
+
515
+ - `headers`: HTTP headers from the original request (added by @nestjs-mcp/server)
516
+
517
+ **Usage Example:**
518
+
519
+ ```ts
520
+ import { Tool, Resolver, SessionManager } from '@nestjs-mcp/server';
521
+ import { RequestHandlerExtra } from '@nestjs-mcp/server';
522
+ import { CallToolResult } from '@modelcontextprotocol/sdk/types';
523
+
524
+ @Resolver('auth')
525
+ export class AuthResolver {
526
+ @Tool({
527
+ name: 'authenticate_user',
528
+ description: 'Authenticates a user with credentials',
529
+ // ...other options
530
+ })
531
+ authenticateUser(
532
+ params: { username: string; password: string },
533
+ extra: RequestHandlerExtra, // Always the last parameter
534
+ ): CallToolResult {
535
+ // Access the session ID
536
+ console.log(`Request received in session: ${extra.sessionId}`);
537
+
538
+ // Access request headers (extended property)
539
+ const authHeader = extra.headers.authorization;
540
+ const userAgent = extra.headers['user-agent'];
541
+ console.log(`Request from: ${userAgent}`);
542
+
543
+ // Check if request was cancelled
544
+ if (extra.signal.aborted) {
545
+ return {
546
+ content: [{ type: 'text', text: 'Request was cancelled' }],
547
+ };
548
+ }
549
+
550
+ // Implement authentication logic
551
+ return {
552
+ content: [{ type: 'text', text: 'Authentication successful' }],
553
+ };
554
+ }
555
+ }
556
+ ```
557
+
558
+ **Important Notes:**
559
+
560
+ - `extra` is always the last parameter in any method decorated with `@Resource`, `@Prompt`, or `@Tool`
561
+ - The `headers` property is an extension added by @nestjs-mcp/server to access HTTP headers directly
562
+
499
563
  ---
500
564
 
501
565
  ## Guards
@@ -856,3 +920,5 @@ MIT — see [LICENSE](./LICENSE) for details.
856
920
  ## Contributions
857
921
 
858
922
  Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines, reporting issues, and pull request rules.
923
+
924
+ Before contributing, please read our [Code of Conduct](./CODE_OF_CONDUCT.md) to understand the expectations for behavior in our community.
@@ -51,7 +51,9 @@ export interface TemplateCallbacks {
51
51
  [variable: string]: CompleteResourceTemplateCallback;
52
52
  };
53
53
  }
54
- export type RequestHandlerExtra = SdkRequestHandlerExtra<ServerRequest, ServerNotification>;
54
+ export type RequestHandlerExtra = SdkRequestHandlerExtra<ServerRequest, ServerNotification> & {
55
+ headers: Record<string, string>;
56
+ };
55
57
  export declare class ResourceUriHandlerParams {
56
58
  readonly uri: URL;
57
59
  readonly extra: RequestHandlerExtra;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.interface.js","sourceRoot":"","sources":["../../src/interfaces/capabilities.interface.ts"],"names":[],"mappings":";;;AAiHA,MAAa,wBAAwB;IACnB,GAAG,CAAM;IACT,KAAK,CAAsB;IAE3C,YAAoB,GAAQ,EAAE,KAA0B;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAQ,EAAE,KAA0B;QAC9C,OAAO,IAAI,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;CACF;AAZD,4DAYC;AAED,MAAa,6BAA6B;IACxB,GAAG,CAAM;IACT,SAAS,CAA0B;IACnC,KAAK,CAAsB;IAE3C,YACE,GAAQ,EACR,KAA0B,EAC1B,SAAkC;QAElC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAQ,EACR,KAA0B,EAC1B,SAAkC;QAElC,OAAO,IAAI,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;CACF;AAtBD,sEAsBC;AAED,MAAa,mBAAmB;IAGd,IAAI,CAEN;IACE,KAAK,CAAsB;IAE3C,YACE,KAA0B,EAC1B,IAEa;QAEb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,KAA0B,EAC1B,IAEa;QAEb,OAAO,IAAI,mBAAmB,CAAO,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACF;AA1BD,kDA0BC;AAED,MAAa,iBAAiB;IAGZ,IAAI,CAEN;IACE,KAAK,CAAsB;IAE3C,YACE,KAA0B,EAC1B,IAEa;QAEb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,KAA0B,EAC1B,IAEa;QAEb,OAAO,IAAI,iBAAiB,CAAO,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AA1BD,8CA0BC"}
1
+ {"version":3,"file":"capabilities.interface.js","sourceRoot":"","sources":["../../src/interfaces/capabilities.interface.ts"],"names":[],"mappings":";;;AAmHA,MAAa,wBAAwB;IACnB,GAAG,CAAM;IACT,KAAK,CAAsB;IAE3C,YAAoB,GAAQ,EAAE,KAA0B;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAQ,EAAE,KAA0B;QAC9C,OAAO,IAAI,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;CACF;AAZD,4DAYC;AAED,MAAa,6BAA6B;IACxB,GAAG,CAAM;IACT,SAAS,CAA0B;IACnC,KAAK,CAAsB;IAE3C,YACE,GAAQ,EACR,KAA0B,EAC1B,SAAkC;QAElC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAQ,EACR,KAA0B,EAC1B,SAAkC;QAElC,OAAO,IAAI,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;CACF;AAtBD,sEAsBC;AAED,MAAa,mBAAmB;IAGd,IAAI,CAEN;IACE,KAAK,CAAsB;IAE3C,YACE,KAA0B,EAC1B,IAEa;QAEb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,KAA0B,EAC1B,IAEa;QAEb,OAAO,IAAI,mBAAmB,CAAO,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACF;AA1BD,kDA0BC;AAED,MAAa,iBAAiB;IAGZ,IAAI,CAEN;IACE,KAAK,CAAsB;IAE3C,YACE,KAA0B,EAC1B,IAEa;QAEb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,KAA0B,EAC1B,IAEa;QAEb,OAAO,IAAI,iBAAiB,CAAO,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AA1BD,8CA0BC"}
@@ -1,2 +1,3 @@
1
+ export * from './capabilities.interface';
1
2
  export * from './context.interface';
2
3
  export * from './mcp-server-options.interface';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./capabilities.interface"), exports);
17
18
  __exportStar(require("./context.interface"), exports);
18
19
  __exportStar(require("./mcp-server-options.interface"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,iEAA+C"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../src/mcp.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../src/mcp.module.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ let RegistryService = class RegistryService {
70
70
  throw new Error(`Unknown decorator type for method ${method.name}`);
71
71
  }
72
72
  }
73
- runGuards(instance, methodName, args) {
73
+ runGuards(instance, methodName, sessionId, request, args) {
74
74
  const classConstructor = instance.constructor;
75
75
  const classGuards = Reflect.getMetadata(capabilities_decorators_1.MCP_GUARDS, classConstructor) || [];
76
76
  const prototype = Object.getPrototypeOf(instance);
@@ -82,14 +82,6 @@ let RegistryService = class RegistryService {
82
82
  if (!allGuards.length)
83
83
  return Promise.resolve();
84
84
  const handlerArgs = this.getHandlerArgs(methodKey, args);
85
- const { sessionId } = handlerArgs.extra;
86
- if (!sessionId) {
87
- throw new Error('Session not found');
88
- }
89
- const session = this.sessionManager.getSession(sessionId);
90
- if (!session) {
91
- throw new Error('Session not found');
92
- }
93
85
  const context = {
94
86
  args: handlerArgs,
95
87
  getType: () => 'mcp',
@@ -99,7 +91,7 @@ let RegistryService = class RegistryService {
99
91
  getSessionId: () => sessionId,
100
92
  getHandler: () => methodKey,
101
93
  switchToHttp: () => ({
102
- getRequest: () => session.request,
94
+ getRequest: () => request,
103
95
  getResponse: () => {
104
96
  throw new Error('Response not available in MCP context');
105
97
  },
@@ -123,7 +115,20 @@ let RegistryService = class RegistryService {
123
115
  throw new Error(`Class "${instance.constructor.name}" must be decorated with @Resolver to use @Prompt, @Tool, or @Resource.`);
124
116
  }
125
117
  const methodName = handler.name;
126
- await this.runGuards(instance, methodName, args);
118
+ const { sessionId } = args[args.length - 1];
119
+ if (!sessionId) {
120
+ throw new common_1.UnauthorizedException('Session ID is required');
121
+ }
122
+ const session = this.sessionManager.getSession(sessionId);
123
+ if (!session) {
124
+ throw new common_1.ForbiddenException('Session not found');
125
+ }
126
+ args[args.length - 1] = {
127
+ ...args[args.length - 1],
128
+ headers: session.request.headers,
129
+ body: session.request.body,
130
+ };
131
+ await this.runGuards(instance, methodName, sessionId, session.request, args);
127
132
  return handler(...args);
128
133
  }
129
134
  registerResources(server) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"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"}