@modelcontextprotocol/sdk 1.25.3 → 1.27.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 (73) hide show
  1. package/dist/cjs/client/auth-extensions.d.ts +12 -0
  2. package/dist/cjs/client/auth-extensions.d.ts.map +1 -1
  3. package/dist/cjs/client/auth-extensions.js +6 -3
  4. package/dist/cjs/client/auth-extensions.js.map +1 -1
  5. package/dist/cjs/client/auth.d.ts +79 -1
  6. package/dist/cjs/client/auth.d.ts.map +1 -1
  7. package/dist/cjs/client/auth.js +93 -16
  8. package/dist/cjs/client/auth.js.map +1 -1
  9. package/dist/cjs/examples/client/simpleStreamableHttp.js +62 -23
  10. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  11. package/dist/cjs/examples/server/elicitationFormExample.js +250 -244
  12. package/dist/cjs/examples/server/elicitationFormExample.js.map +1 -1
  13. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js +31 -27
  14. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js.map +1 -1
  15. package/dist/cjs/examples/server/simpleStreamableHttp.js +89 -0
  16. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  17. package/dist/cjs/examples/server/ssePollingExample.js +58 -53
  18. package/dist/cjs/examples/server/ssePollingExample.js.map +1 -1
  19. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +33 -21
  20. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  21. package/dist/cjs/experimental/tasks/server.d.ts +88 -1
  22. package/dist/cjs/experimental/tasks/server.d.ts.map +1 -1
  23. package/dist/cjs/experimental/tasks/server.js +157 -0
  24. package/dist/cjs/experimental/tasks/server.js.map +1 -1
  25. package/dist/cjs/server/sse.d.ts.map +1 -1
  26. package/dist/cjs/server/sse.js +8 -1
  27. package/dist/cjs/server/sse.js.map +1 -1
  28. package/dist/cjs/server/webStandardStreamableHttp.d.ts +1 -0
  29. package/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
  30. package/dist/cjs/server/webStandardStreamableHttp.js +10 -2
  31. package/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
  32. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  33. package/dist/cjs/shared/protocol.js +13 -0
  34. package/dist/cjs/shared/protocol.js.map +1 -1
  35. package/dist/cjs/types.d.ts +4 -0
  36. package/dist/cjs/types.d.ts.map +1 -1
  37. package/dist/esm/client/auth-extensions.d.ts +12 -0
  38. package/dist/esm/client/auth-extensions.d.ts.map +1 -1
  39. package/dist/esm/client/auth-extensions.js +6 -3
  40. package/dist/esm/client/auth-extensions.js.map +1 -1
  41. package/dist/esm/client/auth.d.ts +79 -1
  42. package/dist/esm/client/auth.d.ts.map +1 -1
  43. package/dist/esm/client/auth.js +92 -16
  44. package/dist/esm/client/auth.js.map +1 -1
  45. package/dist/esm/examples/client/simpleStreamableHttp.js +62 -23
  46. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  47. package/dist/esm/examples/server/elicitationFormExample.js +250 -244
  48. package/dist/esm/examples/server/elicitationFormExample.js.map +1 -1
  49. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js +31 -27
  50. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js.map +1 -1
  51. package/dist/esm/examples/server/simpleStreamableHttp.js +89 -0
  52. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  53. package/dist/esm/examples/server/ssePollingExample.js +58 -53
  54. package/dist/esm/examples/server/ssePollingExample.js.map +1 -1
  55. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +33 -21
  56. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  57. package/dist/esm/experimental/tasks/server.d.ts +88 -1
  58. package/dist/esm/experimental/tasks/server.d.ts.map +1 -1
  59. package/dist/esm/experimental/tasks/server.js +157 -0
  60. package/dist/esm/experimental/tasks/server.js.map +1 -1
  61. package/dist/esm/server/sse.d.ts.map +1 -1
  62. package/dist/esm/server/sse.js +8 -1
  63. package/dist/esm/server/sse.js.map +1 -1
  64. package/dist/esm/server/webStandardStreamableHttp.d.ts +1 -0
  65. package/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
  66. package/dist/esm/server/webStandardStreamableHttp.js +10 -2
  67. package/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
  68. package/dist/esm/shared/protocol.d.ts.map +1 -1
  69. package/dist/esm/shared/protocol.js +13 -0
  70. package/dist/esm/shared/protocol.js.map +1 -1
  71. package/dist/esm/types.d.ts +4 -0
  72. package/dist/esm/types.d.ts.map +1 -1
  73. package/package.json +16 -6
@@ -37,23 +37,24 @@ const node_server_1 = require("@hono/node-server");
37
37
  const z = __importStar(require("zod/v4"));
38
38
  const mcp_js_1 = require("../../server/mcp.js");
39
39
  const webStandardStreamableHttp_js_1 = require("../../server/webStandardStreamableHttp.js");
40
- // Create the MCP server
41
- const server = new mcp_js_1.McpServer({
42
- name: 'hono-webstandard-mcp-server',
43
- version: '1.0.0'
44
- });
45
- // Register a simple greeting tool
46
- server.registerTool('greet', {
47
- title: 'Greeting Tool',
48
- description: 'A simple greeting tool',
49
- inputSchema: { name: z.string().describe('Name to greet') }
50
- }, async ({ name }) => {
51
- return {
52
- content: [{ type: 'text', text: `Hello, ${name}! (from Hono + WebStandard transport)` }]
53
- };
54
- });
55
- // Create a stateless transport (no options = no session management)
56
- const transport = new webStandardStreamableHttp_js_1.WebStandardStreamableHTTPServerTransport();
40
+ // Factory function to create a new MCP server per request (stateless mode)
41
+ const getServer = () => {
42
+ const server = new mcp_js_1.McpServer({
43
+ name: 'hono-webstandard-mcp-server',
44
+ version: '1.0.0'
45
+ });
46
+ // Register a simple greeting tool
47
+ server.registerTool('greet', {
48
+ title: 'Greeting Tool',
49
+ description: 'A simple greeting tool',
50
+ inputSchema: { name: z.string().describe('Name to greet') }
51
+ }, async ({ name }) => {
52
+ return {
53
+ content: [{ type: 'text', text: `Hello, ${name}! (from Hono + WebStandard transport)` }]
54
+ };
55
+ });
56
+ return server;
57
+ };
57
58
  // Create the Hono app
58
59
  const app = new hono_1.Hono();
59
60
  // Enable CORS for all origins
@@ -65,17 +66,20 @@ app.use('*', (0, cors_1.cors)({
65
66
  }));
66
67
  // Health check endpoint
67
68
  app.get('/health', c => c.json({ status: 'ok' }));
68
- // MCP endpoint
69
- app.all('/mcp', c => transport.handleRequest(c.req.raw));
69
+ // MCP endpoint - create a fresh transport and server per request (stateless)
70
+ app.all('/mcp', async (c) => {
71
+ const transport = new webStandardStreamableHttp_js_1.WebStandardStreamableHTTPServerTransport();
72
+ const server = getServer();
73
+ await server.connect(transport);
74
+ return transport.handleRequest(c.req.raw);
75
+ });
70
76
  // Start the server
71
77
  const PORT = process.env.MCP_PORT ? parseInt(process.env.MCP_PORT, 10) : 3000;
72
- server.connect(transport).then(() => {
73
- console.log(`Starting Hono MCP server on port ${PORT}`);
74
- console.log(`Health check: http://localhost:${PORT}/health`);
75
- console.log(`MCP endpoint: http://localhost:${PORT}/mcp`);
76
- (0, node_server_1.serve)({
77
- fetch: app.fetch,
78
- port: PORT
79
- });
78
+ console.log(`Starting Hono MCP server on port ${PORT}`);
79
+ console.log(`Health check: http://localhost:${PORT}/health`);
80
+ console.log(`MCP endpoint: http://localhost:${PORT}/mcp`);
81
+ (0, node_server_1.serve)({
82
+ fetch: app.fetch,
83
+ port: PORT
80
84
  });
81
85
  //# sourceMappingURL=honoWebStandardStreamableHttp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"honoWebStandardStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/honoWebStandardStreamableHttp.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+BAA4B;AAC5B,oCAAiC;AACjC,mDAA0C;AAC1C,0CAA4B;AAC5B,gDAAgD;AAChD,4FAAqG;AAGrG,wBAAwB;AACxB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IACzB,IAAI,EAAE,6BAA6B;IACnC,OAAO,EAAE,OAAO;CACnB,CAAC,CAAC;AAEH,kCAAkC;AAClC,MAAM,CAAC,YAAY,CACf,OAAO,EACP;IACI,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;CAC9D,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAA2B,EAAE;IACxC,OAAO;QACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,IAAI,uCAAuC,EAAE,CAAC;KAC3F,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,oEAAoE;AACpE,MAAM,SAAS,GAAG,IAAI,uEAAwC,EAAE,CAAC;AAEjE,sBAAsB;AACtB,MAAM,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;AAEvB,8BAA8B;AAC9B,GAAG,CAAC,GAAG,CACH,GAAG,EACH,IAAA,WAAI,EAAC;IACD,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;IAClD,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,CAAC;IACzF,aAAa,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;CAC5D,CAAC,CACL,CAAC;AAEF,wBAAwB;AACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAElD,eAAe;AACf,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzD,mBAAmB;AACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE9E,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IAChC,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,SAAS,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,MAAM,CAAC,CAAC;IAE1D,IAAA,mBAAK,EAAC;QACF,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,IAAI;KACb,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"honoWebStandardStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/honoWebStandardStreamableHttp.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+BAA4B;AAC5B,oCAAiC;AACjC,mDAA0C;AAC1C,0CAA4B;AAC5B,gDAAgD;AAChD,4FAAqG;AAGrG,2EAA2E;AAC3E,MAAM,SAAS,GAAG,GAAG,EAAE;IACnB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QACzB,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,OAAO;KACnB,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,CAAC,YAAY,CACf,OAAO,EACP;QACI,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;KAC9D,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAA2B,EAAE;QACxC,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,IAAI,uCAAuC,EAAE,CAAC;SAC3F,CAAC;IACN,CAAC,CACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,sBAAsB;AACtB,MAAM,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;AAEvB,8BAA8B;AAC9B,GAAG,CAAC,GAAG,CACH,GAAG,EACH,IAAA,WAAI,EAAC;IACD,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;IAClD,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,CAAC;IACzF,aAAa,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;CAC5D,CAAC,CACL,CAAC;AAEF,wBAAwB;AACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAElD,6EAA6E;AAC7E,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACtB,MAAM,SAAS,GAAG,IAAI,uEAAwC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE9E,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;AACxD,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,SAAS,CAAC,CAAC;AAC7D,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,MAAM,CAAC,CAAC;AAE1D,IAAA,mBAAK,EAAC;IACF,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,IAAI,EAAE,IAAI;CACb,CAAC,CAAC"}
@@ -252,6 +252,95 @@ const getServer = () => {
252
252
  };
253
253
  }
254
254
  });
255
+ // Register a tool that demonstrates bidirectional task support:
256
+ // Server creates a task, then elicits input from client using elicitInputStream
257
+ // Using the experimental tasks API - WARNING: may change without notice
258
+ server.experimental.tasks.registerToolTask('collect-user-info-task', {
259
+ title: 'Collect Info with Task',
260
+ description: 'Collects user info via elicitation with task support using elicitInputStream',
261
+ inputSchema: {
262
+ infoType: z.enum(['contact', 'preferences']).describe('Type of information to collect').default('contact')
263
+ }
264
+ }, {
265
+ async createTask({ infoType }, { taskStore: createTaskStore, taskRequestedTtl }) {
266
+ // Create the server-side task
267
+ const task = await createTaskStore.createTask({
268
+ ttl: taskRequestedTtl
269
+ });
270
+ // Perform async work that makes a nested elicitation request using elicitInputStream
271
+ (async () => {
272
+ try {
273
+ const message = infoType === 'contact' ? 'Please provide your contact information' : 'Please set your preferences';
274
+ // Define schemas with proper typing for PrimitiveSchemaDefinition
275
+ const contactSchema = {
276
+ type: 'object',
277
+ properties: {
278
+ name: { type: 'string', title: 'Full Name', description: 'Your full name' },
279
+ email: { type: 'string', title: 'Email', description: 'Your email address' }
280
+ },
281
+ required: ['name', 'email']
282
+ };
283
+ const preferencesSchema = {
284
+ type: 'object',
285
+ properties: {
286
+ theme: { type: 'string', title: 'Theme', enum: ['light', 'dark', 'auto'] },
287
+ notifications: { type: 'boolean', title: 'Enable Notifications', default: true }
288
+ },
289
+ required: ['theme']
290
+ };
291
+ const requestedSchema = infoType === 'contact' ? contactSchema : preferencesSchema;
292
+ // Use elicitInputStream to elicit input from client
293
+ // This demonstrates the streaming elicitation API
294
+ // Access via server.server to get the underlying Server instance
295
+ const stream = server.server.experimental.tasks.elicitInputStream({
296
+ mode: 'form',
297
+ message,
298
+ requestedSchema
299
+ });
300
+ let elicitResult;
301
+ for await (const msg of stream) {
302
+ if (msg.type === 'result') {
303
+ elicitResult = msg.result;
304
+ }
305
+ else if (msg.type === 'error') {
306
+ throw msg.error;
307
+ }
308
+ }
309
+ if (!elicitResult) {
310
+ throw new Error('No result received from elicitation');
311
+ }
312
+ let resultText;
313
+ if (elicitResult.action === 'accept') {
314
+ resultText = `Collected ${infoType} info: ${JSON.stringify(elicitResult.content, null, 2)}`;
315
+ }
316
+ else if (elicitResult.action === 'decline') {
317
+ resultText = `User declined to provide ${infoType} information`;
318
+ }
319
+ else {
320
+ resultText = 'User cancelled the request';
321
+ }
322
+ await taskStore.storeTaskResult(task.taskId, 'completed', {
323
+ content: [{ type: 'text', text: resultText }]
324
+ });
325
+ }
326
+ catch (error) {
327
+ console.error('Error in collect-user-info-task:', error);
328
+ await taskStore.storeTaskResult(task.taskId, 'failed', {
329
+ content: [{ type: 'text', text: `Error: ${error}` }],
330
+ isError: true
331
+ });
332
+ }
333
+ })();
334
+ return { task };
335
+ },
336
+ async getTask(_args, { taskId, taskStore: getTaskStore }) {
337
+ return await getTaskStore.getTask(taskId);
338
+ },
339
+ async getTaskResult(_args, { taskId, taskStore: getResultTaskStore }) {
340
+ const result = await getResultTaskStore.getTaskResult(taskId);
341
+ return result;
342
+ }
343
+ });
255
344
  // Register a simple prompt with title
256
345
  server.registerPrompt('greeting-template', {
257
346
  title: 'Greeting Template', // Display name for UI
@@ -1 +1 @@
1
- {"version":3,"file":"simpleStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/simpleStreamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/simpleStreamableHttp.ts"],"names":[],"mappings":"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"}
@@ -9,58 +9,62 @@ const express_js_1 = require("../../server/express.js");
9
9
  const streamableHttp_js_1 = require("../../server/streamableHttp.js");
10
10
  const inMemoryEventStore_js_1 = require("../shared/inMemoryEventStore.js");
11
11
  const cors_1 = __importDefault(require("cors"));
12
- // Create the MCP server
13
- const server = new mcp_js_1.McpServer({
14
- name: 'sse-polling-example',
15
- version: '1.0.0'
16
- }, {
17
- capabilities: { logging: {} }
18
- });
19
- // Register a long-running tool that demonstrates server-initiated disconnect
20
- server.tool('long-task', 'A long-running task that sends progress updates. Server will disconnect mid-task to demonstrate polling.', {}, async (_args, extra) => {
21
- const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
22
- console.log(`[${extra.sessionId}] Starting long-task...`);
23
- // Send first progress notification
24
- await server.sendLoggingMessage({
25
- level: 'info',
26
- data: 'Progress: 25% - Starting work...'
27
- }, extra.sessionId);
28
- await sleep(1000);
29
- // Send second progress notification
30
- await server.sendLoggingMessage({
31
- level: 'info',
32
- data: 'Progress: 50% - Halfway there...'
33
- }, extra.sessionId);
34
- await sleep(1000);
35
- // Server decides to disconnect the client to free resources
36
- // Client will reconnect via GET with Last-Event-ID after the transport's retryInterval
37
- // Use extra.closeSSEStream callback - available when eventStore is configured
38
- if (extra.closeSSEStream) {
39
- console.log(`[${extra.sessionId}] Closing SSE stream to trigger client polling...`);
40
- extra.closeSSEStream();
41
- }
42
- // Continue processing while client is disconnected
43
- // Events are stored in eventStore and will be replayed on reconnect
44
- await sleep(500);
45
- await server.sendLoggingMessage({
46
- level: 'info',
47
- data: 'Progress: 75% - Almost done (sent while client disconnected)...'
48
- }, extra.sessionId);
49
- await sleep(500);
50
- await server.sendLoggingMessage({
51
- level: 'info',
52
- data: 'Progress: 100% - Complete!'
53
- }, extra.sessionId);
54
- console.log(`[${extra.sessionId}] Task complete`);
55
- return {
56
- content: [
57
- {
58
- type: 'text',
59
- text: 'Long task completed successfully!'
60
- }
61
- ]
62
- };
63
- });
12
+ // Factory to create a new MCP server per session.
13
+ // Each session needs its own server+transport pair to avoid cross-session contamination.
14
+ const getServer = () => {
15
+ const server = new mcp_js_1.McpServer({
16
+ name: 'sse-polling-example',
17
+ version: '1.0.0'
18
+ }, {
19
+ capabilities: { logging: {} }
20
+ });
21
+ // Register a long-running tool that demonstrates server-initiated disconnect
22
+ server.tool('long-task', 'A long-running task that sends progress updates. Server will disconnect mid-task to demonstrate polling.', {}, async (_args, extra) => {
23
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
24
+ console.log(`[${extra.sessionId}] Starting long-task...`);
25
+ // Send first progress notification
26
+ await server.sendLoggingMessage({
27
+ level: 'info',
28
+ data: 'Progress: 25% - Starting work...'
29
+ }, extra.sessionId);
30
+ await sleep(1000);
31
+ // Send second progress notification
32
+ await server.sendLoggingMessage({
33
+ level: 'info',
34
+ data: 'Progress: 50% - Halfway there...'
35
+ }, extra.sessionId);
36
+ await sleep(1000);
37
+ // Server decides to disconnect the client to free resources
38
+ // Client will reconnect via GET with Last-Event-ID after the transport's retryInterval
39
+ // Use extra.closeSSEStream callback - available when eventStore is configured
40
+ if (extra.closeSSEStream) {
41
+ console.log(`[${extra.sessionId}] Closing SSE stream to trigger client polling...`);
42
+ extra.closeSSEStream();
43
+ }
44
+ // Continue processing while client is disconnected
45
+ // Events are stored in eventStore and will be replayed on reconnect
46
+ await sleep(500);
47
+ await server.sendLoggingMessage({
48
+ level: 'info',
49
+ data: 'Progress: 75% - Almost done (sent while client disconnected)...'
50
+ }, extra.sessionId);
51
+ await sleep(500);
52
+ await server.sendLoggingMessage({
53
+ level: 'info',
54
+ data: 'Progress: 100% - Complete!'
55
+ }, extra.sessionId);
56
+ console.log(`[${extra.sessionId}] Task complete`);
57
+ return {
58
+ content: [
59
+ {
60
+ type: 'text',
61
+ text: 'Long task completed successfully!'
62
+ }
63
+ ]
64
+ };
65
+ });
66
+ return server;
67
+ };
64
68
  // Set up Express app
65
69
  const app = (0, express_js_1.createMcpExpressApp)();
66
70
  app.use((0, cors_1.default)());
@@ -83,7 +87,8 @@ app.all('/mcp', async (req, res) => {
83
87
  transports.set(id, transport);
84
88
  }
85
89
  });
86
- // Connect the MCP server to the transport
90
+ // Create a new server per session and connect it to the transport
91
+ const server = getServer();
87
92
  await server.connect(transport);
88
93
  }
89
94
  await transport.handleRequest(req, res, req.body);
@@ -1 +1 @@
1
- {"version":3,"file":"ssePollingExample.js","sourceRoot":"","sources":["../../../../src/examples/server/ssePollingExample.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssePollingExample.js","sourceRoot":"","sources":["../../../../src/examples/server/ssePollingExample.ts"],"names":[],"mappings":"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"}
@@ -5,26 +5,35 @@ const mcp_js_1 = require("../../server/mcp.js");
5
5
  const streamableHttp_js_1 = require("../../server/streamableHttp.js");
6
6
  const types_js_1 = require("../../types.js");
7
7
  const express_js_1 = require("../../server/express.js");
8
- // Create an MCP server with implementation details
9
- const server = new mcp_js_1.McpServer({
10
- name: 'resource-list-changed-notification-server',
11
- version: '1.0.0'
12
- });
13
- // Store transports by session ID to send notifications
14
- const transports = {};
15
- const addResource = (name, content) => {
16
- const uri = `https://mcp-example.com/dynamic/${encodeURIComponent(name)}`;
17
- server.registerResource(name, uri, { mimeType: 'text/plain', description: `Dynamic resource: ${name}` }, async () => {
18
- return {
19
- contents: [{ uri, text: content }]
20
- };
8
+ // Factory to create a new MCP server per session.
9
+ // Each session needs its own server+transport pair to avoid cross-session contamination.
10
+ const getServer = () => {
11
+ const server = new mcp_js_1.McpServer({
12
+ name: 'resource-list-changed-notification-server',
13
+ version: '1.0.0'
21
14
  });
15
+ const addResource = (name, content) => {
16
+ const uri = `https://mcp-example.com/dynamic/${encodeURIComponent(name)}`;
17
+ server.registerResource(name, uri, { mimeType: 'text/plain', description: `Dynamic resource: ${name}` }, async () => {
18
+ return {
19
+ contents: [{ uri, text: content }]
20
+ };
21
+ });
22
+ };
23
+ addResource('example-resource', 'Initial content for example-resource');
24
+ // Periodically add new resources to demonstrate notifications
25
+ const resourceChangeInterval = setInterval(() => {
26
+ const name = (0, node_crypto_1.randomUUID)();
27
+ addResource(name, `Content for ${name}`);
28
+ }, 5000);
29
+ // Clean up the interval when the server closes
30
+ server.server.onclose = () => {
31
+ clearInterval(resourceChangeInterval);
32
+ };
33
+ return server;
22
34
  };
23
- addResource('example-resource', 'Initial content for example-resource');
24
- const resourceChangeInterval = setInterval(() => {
25
- const name = (0, node_crypto_1.randomUUID)();
26
- addResource(name, `Content for ${name}`);
27
- }, 5000); // Change resources every 5 seconds for testing
35
+ // Store transports by session ID to send notifications
36
+ const transports = {};
28
37
  const app = (0, express_js_1.createMcpExpressApp)();
29
38
  app.post('/mcp', async (req, res) => {
30
39
  console.log('Received MCP request:', req.body);
@@ -47,7 +56,8 @@ app.post('/mcp', async (req, res) => {
47
56
  transports[sessionId] = transport;
48
57
  }
49
58
  });
50
- // Connect the transport to the MCP server
59
+ // Create a new server per session and connect it to the transport
60
+ const server = getServer();
51
61
  await server.connect(transport);
52
62
  // Handle the request - the onsessioninitialized callback will store the transport
53
63
  await transport.handleRequest(req, res, req.body);
@@ -105,8 +115,10 @@ app.listen(PORT, error => {
105
115
  // Handle server shutdown
106
116
  process.on('SIGINT', async () => {
107
117
  console.log('Shutting down server...');
108
- clearInterval(resourceChangeInterval);
109
- await server.close();
118
+ for (const sessionId in transports) {
119
+ await transports[sessionId].close();
120
+ delete transports[sessionId];
121
+ }
110
122
  process.exit(0);
111
123
  });
112
124
  //# sourceMappingURL=standaloneSseWithGetStreamableHttp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standaloneSseWithGetStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/standaloneSseWithGetStreamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standaloneSseWithGetStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/standaloneSseWithGetStreamableHttp.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import type { Server } from '../../server/index.js';
8
8
  import type { RequestOptions } from '../../shared/protocol.js';
9
9
  import type { ResponseMessage } from '../../shared/responseMessage.js';
10
10
  import type { AnySchema, SchemaOutput } from '../../server/zod-compat.js';
11
- import type { ServerRequest, Notification, Request, Result, GetTaskResult, ListTasksResult, CancelTaskResult } from '../../types.js';
11
+ import type { ServerRequest, Notification, Request, Result, GetTaskResult, ListTasksResult, CancelTaskResult, CreateMessageRequestParams, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult } from '../../types.js';
12
12
  /**
13
13
  * Experimental task features for low-level MCP servers.
14
14
  *
@@ -39,6 +39,93 @@ export declare class ExperimentalServerTasks<RequestT extends Request = Request,
39
39
  * @experimental
40
40
  */
41
41
  requestStream<T extends AnySchema>(request: ServerRequest | RequestT, resultSchema: T, options?: RequestOptions): AsyncGenerator<ResponseMessage<SchemaOutput<T>>, void, void>;
42
+ /**
43
+ * Sends a sampling request and returns an AsyncGenerator that yields response messages.
44
+ * The generator is guaranteed to end with either a 'result' or 'error' message.
45
+ *
46
+ * For task-augmented requests, yields 'taskCreated' and 'taskStatus' messages
47
+ * before the final result.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const stream = server.experimental.tasks.createMessageStream({
52
+ * messages: [{ role: 'user', content: { type: 'text', text: 'Hello' } }],
53
+ * maxTokens: 100
54
+ * }, {
55
+ * onprogress: (progress) => {
56
+ * // Handle streaming tokens via progress notifications
57
+ * console.log('Progress:', progress.message);
58
+ * }
59
+ * });
60
+ *
61
+ * for await (const message of stream) {
62
+ * switch (message.type) {
63
+ * case 'taskCreated':
64
+ * console.log('Task created:', message.task.taskId);
65
+ * break;
66
+ * case 'taskStatus':
67
+ * console.log('Task status:', message.task.status);
68
+ * break;
69
+ * case 'result':
70
+ * console.log('Final result:', message.result);
71
+ * break;
72
+ * case 'error':
73
+ * console.error('Error:', message.error);
74
+ * break;
75
+ * }
76
+ * }
77
+ * ```
78
+ *
79
+ * @param params - The sampling request parameters
80
+ * @param options - Optional request options (timeout, signal, task creation params, onprogress, etc.)
81
+ * @returns AsyncGenerator that yields ResponseMessage objects
82
+ *
83
+ * @experimental
84
+ */
85
+ createMessageStream(params: CreateMessageRequestParams, options?: RequestOptions): AsyncGenerator<ResponseMessage<CreateMessageResult>, void, void>;
86
+ /**
87
+ * Sends an elicitation request and returns an AsyncGenerator that yields response messages.
88
+ * The generator is guaranteed to end with either a 'result' or 'error' message.
89
+ *
90
+ * For task-augmented requests (especially URL-based elicitation), yields 'taskCreated'
91
+ * and 'taskStatus' messages before the final result.
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const stream = server.experimental.tasks.elicitInputStream({
96
+ * mode: 'url',
97
+ * message: 'Please authenticate',
98
+ * elicitationId: 'auth-123',
99
+ * url: 'https://example.com/auth'
100
+ * }, {
101
+ * task: { ttl: 300000 } // Task-augmented for long-running auth flow
102
+ * });
103
+ *
104
+ * for await (const message of stream) {
105
+ * switch (message.type) {
106
+ * case 'taskCreated':
107
+ * console.log('Task created:', message.task.taskId);
108
+ * break;
109
+ * case 'taskStatus':
110
+ * console.log('Task status:', message.task.status);
111
+ * break;
112
+ * case 'result':
113
+ * console.log('User action:', message.result.action);
114
+ * break;
115
+ * case 'error':
116
+ * console.error('Error:', message.error);
117
+ * break;
118
+ * }
119
+ * }
120
+ * ```
121
+ *
122
+ * @param params - The elicitation request parameters
123
+ * @param options - Optional request options (timeout, signal, task creation params, etc.)
124
+ * @returns AsyncGenerator that yields ResponseMessage objects
125
+ *
126
+ * @experimental
127
+ */
128
+ elicitInputStream(params: ElicitRequestFormParams | ElicitRequestURLParams, options?: RequestOptions): AsyncGenerator<ResponseMessage<ElicitResult>, void, void>;
42
129
  /**
43
130
  * Gets the current status of a task.
44
131
  *