@modelcontextprotocol/sdk 1.9.0 → 1.10.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.
Files changed (144) hide show
  1. package/README.md +321 -28
  2. package/dist/cjs/client/index.d.ts.map +1 -1
  3. package/dist/cjs/client/index.js +5 -0
  4. package/dist/cjs/client/index.js.map +1 -1
  5. package/dist/cjs/client/streamableHttp.d.ts +124 -0
  6. package/dist/cjs/client/streamableHttp.d.ts.map +1 -0
  7. package/dist/cjs/client/streamableHttp.js +353 -0
  8. package/dist/cjs/client/streamableHttp.js.map +1 -0
  9. package/dist/cjs/examples/client/simpleStreamableHttp.d.ts +2 -0
  10. package/dist/cjs/examples/client/simpleStreamableHttp.d.ts.map +1 -0
  11. package/dist/cjs/examples/client/simpleStreamableHttp.js +448 -0
  12. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -0
  13. package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.d.ts +2 -0
  14. package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.d.ts.map +1 -0
  15. package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js +168 -0
  16. package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js.map +1 -0
  17. package/dist/cjs/examples/server/jsonResponseStreamableHttp.d.ts +2 -0
  18. package/dist/cjs/examples/server/jsonResponseStreamableHttp.d.ts.map +1 -0
  19. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +139 -0
  20. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -0
  21. package/dist/cjs/examples/server/simpleSseServer.d.ts +2 -0
  22. package/dist/cjs/examples/server/simpleSseServer.d.ts.map +1 -0
  23. package/dist/cjs/examples/server/simpleSseServer.js +148 -0
  24. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -0
  25. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.d.ts +2 -0
  26. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.d.ts.map +1 -0
  27. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +149 -0
  28. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -0
  29. package/dist/cjs/examples/server/simpleStreamableHttp.d.ts +2 -0
  30. package/dist/cjs/examples/server/simpleStreamableHttp.d.ts.map +1 -0
  31. package/dist/cjs/examples/server/simpleStreamableHttp.js +250 -0
  32. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -0
  33. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.d.ts +2 -0
  34. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.d.ts.map +1 -0
  35. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +229 -0
  36. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -0
  37. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.d.ts +2 -0
  38. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.d.ts.map +1 -0
  39. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +112 -0
  40. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -0
  41. package/dist/cjs/examples/shared/inMemoryEventStore.d.ts +31 -0
  42. package/dist/cjs/examples/shared/inMemoryEventStore.d.ts.map +1 -0
  43. package/dist/cjs/examples/shared/inMemoryEventStore.js +69 -0
  44. package/dist/cjs/examples/shared/inMemoryEventStore.js.map +1 -0
  45. package/dist/cjs/inMemory.d.ts +13 -3
  46. package/dist/cjs/inMemory.d.ts.map +1 -1
  47. package/dist/cjs/inMemory.js +9 -7
  48. package/dist/cjs/inMemory.js.map +1 -1
  49. package/dist/cjs/server/auth/types.d.ts +5 -0
  50. package/dist/cjs/server/auth/types.d.ts.map +1 -1
  51. package/dist/cjs/server/mcp.d.ts +100 -19
  52. package/dist/cjs/server/mcp.d.ts.map +1 -1
  53. package/dist/cjs/server/mcp.js +154 -12
  54. package/dist/cjs/server/mcp.js.map +1 -1
  55. package/dist/cjs/server/sse.d.ts +10 -3
  56. package/dist/cjs/server/sse.d.ts.map +1 -1
  57. package/dist/cjs/server/sse.js +13 -4
  58. package/dist/cjs/server/sse.js.map +1 -1
  59. package/dist/cjs/server/streamableHttp.d.ts +146 -0
  60. package/dist/cjs/server/streamableHttp.d.ts.map +1 -0
  61. package/dist/cjs/server/streamableHttp.js +538 -0
  62. package/dist/cjs/server/streamableHttp.js.map +1 -0
  63. package/dist/cjs/shared/protocol.d.ts +31 -5
  64. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  65. package/dist/cjs/shared/protocol.js +23 -15
  66. package/dist/cjs/shared/protocol.js.map +1 -1
  67. package/dist/cjs/shared/transport.d.ts +32 -3
  68. package/dist/cjs/shared/transport.d.ts.map +1 -1
  69. package/dist/cjs/types.d.ts +6 -0
  70. package/dist/cjs/types.d.ts.map +1 -1
  71. package/dist/cjs/types.js +14 -2
  72. package/dist/cjs/types.js.map +1 -1
  73. package/dist/esm/client/index.d.ts.map +1 -1
  74. package/dist/esm/client/index.js +5 -0
  75. package/dist/esm/client/index.js.map +1 -1
  76. package/dist/esm/client/streamableHttp.d.ts +124 -0
  77. package/dist/esm/client/streamableHttp.d.ts.map +1 -0
  78. package/dist/esm/client/streamableHttp.js +348 -0
  79. package/dist/esm/client/streamableHttp.js.map +1 -0
  80. package/dist/esm/examples/client/simpleStreamableHttp.d.ts +2 -0
  81. package/dist/esm/examples/client/simpleStreamableHttp.d.ts.map +1 -0
  82. package/dist/esm/examples/client/simpleStreamableHttp.js +446 -0
  83. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -0
  84. package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.d.ts +2 -0
  85. package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.d.ts.map +1 -0
  86. package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js +166 -0
  87. package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js.map +1 -0
  88. package/dist/esm/examples/server/jsonResponseStreamableHttp.d.ts +2 -0
  89. package/dist/esm/examples/server/jsonResponseStreamableHttp.d.ts.map +1 -0
  90. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +134 -0
  91. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -0
  92. package/dist/esm/examples/server/simpleSseServer.d.ts +2 -0
  93. package/dist/esm/examples/server/simpleSseServer.d.ts.map +1 -0
  94. package/dist/esm/examples/server/simpleSseServer.js +143 -0
  95. package/dist/esm/examples/server/simpleSseServer.js.map +1 -0
  96. package/dist/esm/examples/server/simpleStatelessStreamableHttp.d.ts +2 -0
  97. package/dist/esm/examples/server/simpleStatelessStreamableHttp.d.ts.map +1 -0
  98. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +144 -0
  99. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -0
  100. package/dist/esm/examples/server/simpleStreamableHttp.d.ts +2 -0
  101. package/dist/esm/examples/server/simpleStreamableHttp.d.ts.map +1 -0
  102. package/dist/esm/examples/server/simpleStreamableHttp.js +245 -0
  103. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -0
  104. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.d.ts +2 -0
  105. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.d.ts.map +1 -0
  106. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +224 -0
  107. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -0
  108. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.d.ts +2 -0
  109. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.d.ts.map +1 -0
  110. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +107 -0
  111. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -0
  112. package/dist/esm/examples/shared/inMemoryEventStore.d.ts +31 -0
  113. package/dist/esm/examples/shared/inMemoryEventStore.d.ts.map +1 -0
  114. package/dist/esm/examples/shared/inMemoryEventStore.js +65 -0
  115. package/dist/esm/examples/shared/inMemoryEventStore.js.map +1 -0
  116. package/dist/esm/inMemory.d.ts +13 -3
  117. package/dist/esm/inMemory.d.ts.map +1 -1
  118. package/dist/esm/inMemory.js +9 -7
  119. package/dist/esm/inMemory.js.map +1 -1
  120. package/dist/esm/server/auth/types.d.ts +5 -0
  121. package/dist/esm/server/auth/types.d.ts.map +1 -1
  122. package/dist/esm/server/mcp.d.ts +100 -19
  123. package/dist/esm/server/mcp.d.ts.map +1 -1
  124. package/dist/esm/server/mcp.js +154 -12
  125. package/dist/esm/server/mcp.js.map +1 -1
  126. package/dist/esm/server/sse.d.ts +10 -3
  127. package/dist/esm/server/sse.d.ts.map +1 -1
  128. package/dist/esm/server/sse.js +13 -4
  129. package/dist/esm/server/sse.js.map +1 -1
  130. package/dist/esm/server/streamableHttp.d.ts +146 -0
  131. package/dist/esm/server/streamableHttp.d.ts.map +1 -0
  132. package/dist/esm/server/streamableHttp.js +531 -0
  133. package/dist/esm/server/streamableHttp.js.map +1 -0
  134. package/dist/esm/shared/protocol.d.ts +31 -5
  135. package/dist/esm/shared/protocol.d.ts.map +1 -1
  136. package/dist/esm/shared/protocol.js +24 -16
  137. package/dist/esm/shared/protocol.js.map +1 -1
  138. package/dist/esm/shared/transport.d.ts +32 -3
  139. package/dist/esm/shared/transport.d.ts.map +1 -1
  140. package/dist/esm/types.d.ts +6 -0
  141. package/dist/esm/types.d.ts.map +1 -1
  142. package/dist/esm/types.js +6 -0
  143. package/dist/esm/types.js.map +1 -1
  144. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/server/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/server/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { IncomingMessage, ServerResponse } from "node:http";
2
2
  import { Transport } from "../shared/transport.js";
3
3
  import { JSONRPCMessage } from "../types.js";
4
+ import { AuthInfo } from "./auth/types.js";
4
5
  /**
5
6
  * Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.
6
7
  *
@@ -13,7 +14,9 @@ export declare class SSEServerTransport implements Transport {
13
14
  private _sessionId;
14
15
  onclose?: () => void;
15
16
  onerror?: (error: Error) => void;
16
- onmessage?: (message: JSONRPCMessage) => void;
17
+ onmessage?: (message: JSONRPCMessage, extra?: {
18
+ authInfo?: AuthInfo;
19
+ }) => void;
17
20
  /**
18
21
  * Creates a new SSE server transport, which will direct the client to POST messages to the relative or absolute URL identified by `_endpoint`.
19
22
  */
@@ -29,11 +32,15 @@ export declare class SSEServerTransport implements Transport {
29
32
  *
30
33
  * This should be called when a POST request is made to send a message to the server.
31
34
  */
32
- handlePostMessage(req: IncomingMessage, res: ServerResponse, parsedBody?: unknown): Promise<void>;
35
+ handlePostMessage(req: IncomingMessage & {
36
+ auth?: AuthInfo;
37
+ }, res: ServerResponse, parsedBody?: unknown): Promise<void>;
33
38
  /**
34
39
  * Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different than HTTP POST.
35
40
  */
36
- handleMessage(message: unknown): Promise<void>;
41
+ handleMessage(message: unknown, extra?: {
42
+ authInfo?: AuthInfo;
43
+ }): Promise<void>;
37
44
  close(): Promise<void>;
38
45
  send(message: JSONRPCMessage): Promise<void>;
39
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAMnE;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAYhD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAE9C;;OAEG;gBAEO,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc;IAK7B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB5B;;;;OAIG;IACG,iBAAiB,CACrB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;IAkChB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK3C;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAYhD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,IAAI,CAAC;IAE/E;;OAEG;gBAEO,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc;IAK7B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B;;;;OAIG;IACG,iBAAiB,CACrB,GAAG,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAC1C,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;IAmChB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF"}
@@ -2,6 +2,7 @@ import { randomUUID } from "node:crypto";
2
2
  import { JSONRPCMessageSchema } from "../types.js";
3
3
  import getRawBody from "raw-body";
4
4
  import contentType from "content-type";
5
+ import { URL } from 'url';
5
6
  const MAXIMUM_MESSAGE_SIZE = "4mb";
6
7
  /**
7
8
  * Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.
@@ -32,7 +33,14 @@ export class SSEServerTransport {
32
33
  Connection: "keep-alive",
33
34
  });
34
35
  // Send the endpoint event
35
- this.res.write(`event: endpoint\ndata: ${encodeURI(this._endpoint)}?sessionId=${this._sessionId}\n\n`);
36
+ // Use a dummy base URL because this._endpoint is relative.
37
+ // This allows using URL/URLSearchParams for robust parameter handling.
38
+ const dummyBase = 'http://localhost'; // Any valid base works
39
+ const endpointUrl = new URL(this._endpoint, dummyBase);
40
+ endpointUrl.searchParams.set('sessionId', this._sessionId);
41
+ // Reconstruct the relative URL string (pathname + search + hash)
42
+ const relativeUrlWithSession = endpointUrl.pathname + endpointUrl.search + endpointUrl.hash;
43
+ this.res.write(`event: endpoint\ndata: ${relativeUrlWithSession}\n\n`);
36
44
  this._sseResponse = this.res;
37
45
  this.res.on("close", () => {
38
46
  var _a;
@@ -52,6 +60,7 @@ export class SSEServerTransport {
52
60
  res.writeHead(500).end(message);
53
61
  throw new Error(message);
54
62
  }
63
+ const authInfo = req.auth;
55
64
  let body;
56
65
  try {
57
66
  const ct = contentType.parse((_a = req.headers["content-type"]) !== null && _a !== void 0 ? _a : "");
@@ -69,7 +78,7 @@ export class SSEServerTransport {
69
78
  return;
70
79
  }
71
80
  try {
72
- await this.handleMessage(typeof body === 'string' ? JSON.parse(body) : body);
81
+ await this.handleMessage(typeof body === 'string' ? JSON.parse(body) : body, { authInfo });
73
82
  }
74
83
  catch (_d) {
75
84
  res.writeHead(400).end(`Invalid message: ${body}`);
@@ -80,7 +89,7 @@ export class SSEServerTransport {
80
89
  /**
81
90
  * Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different than HTTP POST.
82
91
  */
83
- async handleMessage(message) {
92
+ async handleMessage(message, extra) {
84
93
  var _a, _b;
85
94
  let parsedMessage;
86
95
  try {
@@ -90,7 +99,7 @@ export class SSEServerTransport {
90
99
  (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
91
100
  throw error;
92
101
  }
93
- (_b = this.onmessage) === null || _b === void 0 ? void 0 : _b.call(this, parsedMessage);
102
+ (_b = this.onmessage) === null || _b === void 0 ? void 0 : _b.call(this, parsedMessage, extra);
94
103
  }
95
104
  async close() {
96
105
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ import { IncomingMessage, ServerResponse } from "node:http";
2
+ import { Transport } from "../shared/transport.js";
3
+ import { JSONRPCMessage, RequestId } from "../types.js";
4
+ export type StreamId = string;
5
+ export type EventId = string;
6
+ /**
7
+ * Interface for resumability support via event storage
8
+ */
9
+ export interface EventStore {
10
+ /**
11
+ * Stores an event for later retrieval
12
+ * @param streamId ID of the stream the event belongs to
13
+ * @param message The JSON-RPC message to store
14
+ * @returns The generated event ID for the stored event
15
+ */
16
+ storeEvent(streamId: StreamId, message: JSONRPCMessage): Promise<EventId>;
17
+ replayEventsAfter(lastEventId: EventId, { send }: {
18
+ send: (eventId: EventId, message: JSONRPCMessage) => Promise<void>;
19
+ }): Promise<StreamId>;
20
+ }
21
+ /**
22
+ * Configuration options for StreamableHTTPServerTransport
23
+ */
24
+ export interface StreamableHTTPServerTransportOptions {
25
+ /**
26
+ * Function that generates a session ID for the transport.
27
+ * The session ID SHOULD be globally unique and cryptographically secure (e.g., a securely generated UUID, a JWT, or a cryptographic hash)
28
+ *
29
+ * Return undefined to disable session management.
30
+ */
31
+ sessionIdGenerator: (() => string) | undefined;
32
+ /**
33
+ * A callback for session initialization events
34
+ * This is called when the server initializes a new session.
35
+ * Useful in cases when you need to register multiple mcp sessions
36
+ * and need to keep track of them.
37
+ * @param sessionId The generated session ID
38
+ */
39
+ onsessioninitialized?: (sessionId: string) => void;
40
+ /**
41
+ * If true, the server will return JSON responses instead of starting an SSE stream.
42
+ * This can be useful for simple request/response scenarios without streaming.
43
+ * Default is false (SSE streams are preferred).
44
+ */
45
+ enableJsonResponse?: boolean;
46
+ /**
47
+ * Event store for resumability support
48
+ * If provided, resumability will be enabled, allowing clients to reconnect and resume messages
49
+ */
50
+ eventStore?: EventStore;
51
+ }
52
+ /**
53
+ * Server transport for Streamable HTTP: this implements the MCP Streamable HTTP transport specification.
54
+ * It supports both SSE streaming and direct HTTP responses.
55
+ *
56
+ * Usage example:
57
+ *
58
+ * ```typescript
59
+ * // Stateful mode - server sets the session ID
60
+ * const statefulTransport = new StreamableHTTPServerTransport({
61
+ * sessionId: randomUUID(),
62
+ * });
63
+ *
64
+ * // Stateless mode - explicitly set session ID to undefined
65
+ * const statelessTransport = new StreamableHTTPServerTransport({
66
+ * sessionId: undefined,
67
+ * });
68
+ *
69
+ * // Using with pre-parsed request body
70
+ * app.post('/mcp', (req, res) => {
71
+ * transport.handleRequest(req, res, req.body);
72
+ * });
73
+ * ```
74
+ *
75
+ * In stateful mode:
76
+ * - Session ID is generated and included in response headers
77
+ * - Session ID is always included in initialization responses
78
+ * - Requests with invalid session IDs are rejected with 404 Not Found
79
+ * - Non-initialization requests without a session ID are rejected with 400 Bad Request
80
+ * - State is maintained in-memory (connections, message history)
81
+ *
82
+ * In stateless mode:
83
+ * - Session ID is only included in initialization responses
84
+ * - No session validation is performed
85
+ */
86
+ export declare class StreamableHTTPServerTransport implements Transport {
87
+ private sessionIdGenerator;
88
+ private _started;
89
+ private _streamMapping;
90
+ private _requestToStreamMapping;
91
+ private _requestResponseMap;
92
+ private _initialized;
93
+ private _enableJsonResponse;
94
+ private _standaloneSseStreamId;
95
+ private _eventStore?;
96
+ private _onsessioninitialized?;
97
+ sessionId?: string | undefined;
98
+ onclose?: () => void;
99
+ onerror?: (error: Error) => void;
100
+ onmessage?: (message: JSONRPCMessage) => void;
101
+ constructor(options: StreamableHTTPServerTransportOptions);
102
+ /**
103
+ * Starts the transport. This is required by the Transport interface but is a no-op
104
+ * for the Streamable HTTP transport as connections are managed per-request.
105
+ */
106
+ start(): Promise<void>;
107
+ /**
108
+ * Handles an incoming HTTP request, whether GET or POST
109
+ */
110
+ handleRequest(req: IncomingMessage, res: ServerResponse, parsedBody?: unknown): Promise<void>;
111
+ /**
112
+ * Handles GET requests for SSE stream
113
+ */
114
+ private handleGetRequest;
115
+ /**
116
+ * Replays events that would have been sent after the specified event ID
117
+ * Only used when resumability is enabled
118
+ */
119
+ private replayEvents;
120
+ /**
121
+ * Writes an event to the SSE stream with proper formatting
122
+ */
123
+ private writeSSEEvent;
124
+ /**
125
+ * Handles unsupported requests (PUT, PATCH, etc.)
126
+ */
127
+ private handleUnsupportedRequest;
128
+ /**
129
+ * Handles POST requests containing JSON-RPC messages
130
+ */
131
+ private handlePostRequest;
132
+ /**
133
+ * Handles DELETE requests to terminate sessions
134
+ */
135
+ private handleDeleteRequest;
136
+ /**
137
+ * Validates session ID for non-initialization requests
138
+ * Returns true if the session is valid, false otherwise
139
+ */
140
+ private validateSession;
141
+ close(): Promise<void>;
142
+ send(message: JSONRPCMessage, options?: {
143
+ relatedRequestId?: RequestId;
144
+ }): Promise<void>;
145
+ }
146
+ //# sourceMappingURL=streamableHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAA4E,cAAc,EAAwB,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxJ,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1E,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAChD,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KACnE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAE/C;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,6BAA8B,YAAW,SAAS;IAE7D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,uBAAuB,CAAqC;IACpE,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAA8B;IAE5D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;gBAElC,OAAO,EAAE,oCAAoC;IAOzD;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnG;;OAEG;YACW,gBAAgB;IAqE9B;;;OAGG;YACW,YAAY;IA8B1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;YACW,wBAAwB;IAatC;;OAEG;YACW,iBAAiB;IAiK/B;;OAEG;YACW,mBAAmB;IAQjC;;;OAGG;IACH,OAAO,CAAC,eAAe;IA2DjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAgG/F"}