@modelcontextprotocol/sdk 1.20.1 → 1.21.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 (87) hide show
  1. package/dist/cjs/client/auth.d.ts +21 -6
  2. package/dist/cjs/client/auth.d.ts.map +1 -1
  3. package/dist/cjs/client/auth.js +11 -0
  4. package/dist/cjs/client/auth.js.map +1 -1
  5. package/dist/cjs/client/index.d.ts +42 -4
  6. package/dist/cjs/client/index.d.ts.map +1 -1
  7. package/dist/cjs/client/index.js +17 -18
  8. package/dist/cjs/client/index.js.map +1 -1
  9. package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
  10. package/dist/cjs/examples/client/simpleStreamableHttp.js +3 -6
  11. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  12. package/dist/cjs/examples/server/elicitationExample.d.ts +2 -0
  13. package/dist/cjs/examples/server/elicitationExample.d.ts.map +1 -0
  14. package/dist/cjs/examples/server/elicitationExample.js +437 -0
  15. package/dist/cjs/examples/server/elicitationExample.js.map +1 -0
  16. package/dist/cjs/server/auth/handlers/metadata.js +1 -1
  17. package/dist/cjs/server/auth/handlers/metadata.js.map +1 -1
  18. package/dist/cjs/server/index.d.ts +34 -2
  19. package/dist/cjs/server/index.d.ts.map +1 -1
  20. package/dist/cjs/server/index.js +9 -12
  21. package/dist/cjs/server/index.js.map +1 -1
  22. package/dist/cjs/server/mcp.d.ts +7 -0
  23. package/dist/cjs/server/mcp.d.ts.map +1 -1
  24. package/dist/cjs/server/mcp.js +47 -49
  25. package/dist/cjs/server/mcp.js.map +1 -1
  26. package/dist/cjs/shared/auth.d.ts +1 -0
  27. package/dist/cjs/shared/auth.d.ts.map +1 -1
  28. package/dist/cjs/validation/ajv-provider.d.ts +53 -0
  29. package/dist/cjs/validation/ajv-provider.d.ts.map +1 -0
  30. package/dist/cjs/validation/ajv-provider.js +95 -0
  31. package/dist/cjs/validation/ajv-provider.js.map +1 -0
  32. package/dist/cjs/validation/cfworker-provider.d.ts +52 -0
  33. package/dist/cjs/validation/cfworker-provider.d.ts.map +1 -0
  34. package/dist/cjs/validation/cfworker-provider.js +71 -0
  35. package/dist/cjs/validation/cfworker-provider.js.map +1 -0
  36. package/dist/cjs/validation/index.d.ts +29 -0
  37. package/dist/cjs/validation/index.d.ts.map +1 -0
  38. package/dist/cjs/validation/index.js +30 -0
  39. package/dist/cjs/validation/index.js.map +1 -0
  40. package/dist/cjs/validation/types.d.ts +55 -0
  41. package/dist/cjs/validation/types.d.ts.map +1 -0
  42. package/dist/cjs/validation/types.js +3 -0
  43. package/dist/cjs/validation/types.js.map +1 -0
  44. package/dist/esm/client/auth.d.ts +21 -6
  45. package/dist/esm/client/auth.d.ts.map +1 -1
  46. package/dist/esm/client/auth.js +11 -1
  47. package/dist/esm/client/auth.js.map +1 -1
  48. package/dist/esm/client/index.d.ts +42 -4
  49. package/dist/esm/client/index.d.ts.map +1 -1
  50. package/dist/esm/client/index.js +18 -16
  51. package/dist/esm/client/index.js.map +1 -1
  52. package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
  53. package/dist/esm/examples/client/simpleStreamableHttp.js +2 -2
  54. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  55. package/dist/esm/examples/server/elicitationExample.d.ts +2 -0
  56. package/dist/esm/examples/server/elicitationExample.d.ts.map +1 -0
  57. package/dist/esm/examples/server/elicitationExample.js +432 -0
  58. package/dist/esm/examples/server/elicitationExample.js.map +1 -0
  59. package/dist/esm/server/auth/handlers/metadata.js +1 -1
  60. package/dist/esm/server/auth/handlers/metadata.js.map +1 -1
  61. package/dist/esm/server/index.d.ts +34 -2
  62. package/dist/esm/server/index.d.ts.map +1 -1
  63. package/dist/esm/server/index.js +10 -10
  64. package/dist/esm/server/index.js.map +1 -1
  65. package/dist/esm/server/mcp.d.ts +7 -0
  66. package/dist/esm/server/mcp.d.ts.map +1 -1
  67. package/dist/esm/server/mcp.js +47 -49
  68. package/dist/esm/server/mcp.js.map +1 -1
  69. package/dist/esm/shared/auth.d.ts +1 -0
  70. package/dist/esm/shared/auth.d.ts.map +1 -1
  71. package/dist/esm/validation/ajv-provider.d.ts +53 -0
  72. package/dist/esm/validation/ajv-provider.d.ts.map +1 -0
  73. package/dist/esm/validation/ajv-provider.js +88 -0
  74. package/dist/esm/validation/ajv-provider.js.map +1 -0
  75. package/dist/esm/validation/cfworker-provider.d.ts +52 -0
  76. package/dist/esm/validation/cfworker-provider.d.ts.map +1 -0
  77. package/dist/esm/validation/cfworker-provider.js +67 -0
  78. package/dist/esm/validation/cfworker-provider.js.map +1 -0
  79. package/dist/esm/validation/index.d.ts +29 -0
  80. package/dist/esm/validation/index.d.ts.map +1 -0
  81. package/dist/esm/validation/index.js +29 -0
  82. package/dist/esm/validation/index.js.map +1 -0
  83. package/dist/esm/validation/types.d.ts +55 -0
  84. package/dist/esm/validation/types.d.ts.map +1 -0
  85. package/dist/esm/validation/types.js +2 -0
  86. package/dist/esm/validation/types.js.map +1 -0
  87. package/package.json +25 -3
@@ -0,0 +1,432 @@
1
+ // Run with: npx tsx src/examples/server/elicitationExample.ts
2
+ //
3
+ // This example demonstrates how to use elicitation to collect structured user input
4
+ // with JSON Schema validation via a local HTTP server with SSE streaming.
5
+ // Elicitation allows servers to request user input through the client interface
6
+ // with schema-based validation.
7
+ import { randomUUID } from 'node:crypto';
8
+ import cors from 'cors';
9
+ import express from 'express';
10
+ import { McpServer } from '../../server/mcp.js';
11
+ import { StreamableHTTPServerTransport } from '../../server/streamableHttp.js';
12
+ import { isInitializeRequest } from '../../types.js';
13
+ // Create MCP server - it will automatically use AjvJsonSchemaValidator with sensible defaults
14
+ // The validator supports format validation (email, date, etc.) if ajv-formats is installed
15
+ const mcpServer = new McpServer({
16
+ name: 'elicitation-example-server',
17
+ version: '1.0.0'
18
+ }, {
19
+ capabilities: {}
20
+ });
21
+ /**
22
+ * Example 1: Simple user registration tool
23
+ * Collects username, email, and password from the user
24
+ */
25
+ mcpServer.registerTool('register_user', {
26
+ description: 'Register a new user account by collecting their information',
27
+ inputSchema: {}
28
+ }, async () => {
29
+ try {
30
+ // Request user information through elicitation
31
+ const result = await mcpServer.server.elicitInput({
32
+ message: 'Please provide your registration information:',
33
+ requestedSchema: {
34
+ type: 'object',
35
+ properties: {
36
+ username: {
37
+ type: 'string',
38
+ title: 'Username',
39
+ description: 'Your desired username (3-20 characters)',
40
+ minLength: 3,
41
+ maxLength: 20
42
+ },
43
+ email: {
44
+ type: 'string',
45
+ title: 'Email',
46
+ description: 'Your email address',
47
+ format: 'email'
48
+ },
49
+ password: {
50
+ type: 'string',
51
+ title: 'Password',
52
+ description: 'Your password (min 8 characters)',
53
+ minLength: 8
54
+ },
55
+ newsletter: {
56
+ type: 'boolean',
57
+ title: 'Newsletter',
58
+ description: 'Subscribe to newsletter?',
59
+ default: false
60
+ }
61
+ },
62
+ required: ['username', 'email', 'password']
63
+ }
64
+ });
65
+ // Handle the different possible actions
66
+ if (result.action === 'accept' && result.content) {
67
+ const { username, email, newsletter } = result.content;
68
+ return {
69
+ content: [
70
+ {
71
+ type: 'text',
72
+ text: `Registration successful!\n\nUsername: ${username}\nEmail: ${email}\nNewsletter: ${newsletter ? 'Yes' : 'No'}`
73
+ }
74
+ ]
75
+ };
76
+ }
77
+ else if (result.action === 'decline') {
78
+ return {
79
+ content: [
80
+ {
81
+ type: 'text',
82
+ text: 'Registration cancelled by user.'
83
+ }
84
+ ]
85
+ };
86
+ }
87
+ else {
88
+ return {
89
+ content: [
90
+ {
91
+ type: 'text',
92
+ text: 'Registration was cancelled.'
93
+ }
94
+ ]
95
+ };
96
+ }
97
+ }
98
+ catch (error) {
99
+ return {
100
+ content: [
101
+ {
102
+ type: 'text',
103
+ text: `Registration failed: ${error instanceof Error ? error.message : String(error)}`
104
+ }
105
+ ],
106
+ isError: true
107
+ };
108
+ }
109
+ });
110
+ /**
111
+ * Example 2: Multi-step workflow with multiple elicitation requests
112
+ * Demonstrates how to collect information in multiple steps
113
+ */
114
+ mcpServer.registerTool('create_event', {
115
+ description: 'Create a calendar event by collecting event details',
116
+ inputSchema: {}
117
+ }, async () => {
118
+ try {
119
+ // Step 1: Collect basic event information
120
+ const basicInfo = await mcpServer.server.elicitInput({
121
+ message: 'Step 1: Enter basic event information',
122
+ requestedSchema: {
123
+ type: 'object',
124
+ properties: {
125
+ title: {
126
+ type: 'string',
127
+ title: 'Event Title',
128
+ description: 'Name of the event',
129
+ minLength: 1
130
+ },
131
+ description: {
132
+ type: 'string',
133
+ title: 'Description',
134
+ description: 'Event description (optional)'
135
+ }
136
+ },
137
+ required: ['title']
138
+ }
139
+ });
140
+ if (basicInfo.action !== 'accept' || !basicInfo.content) {
141
+ return {
142
+ content: [{ type: 'text', text: 'Event creation cancelled.' }]
143
+ };
144
+ }
145
+ // Step 2: Collect date and time
146
+ const dateTime = await mcpServer.server.elicitInput({
147
+ message: 'Step 2: Enter date and time',
148
+ requestedSchema: {
149
+ type: 'object',
150
+ properties: {
151
+ date: {
152
+ type: 'string',
153
+ title: 'Date',
154
+ description: 'Event date',
155
+ format: 'date'
156
+ },
157
+ startTime: {
158
+ type: 'string',
159
+ title: 'Start Time',
160
+ description: 'Event start time (HH:MM)',
161
+ pattern: '^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$'
162
+ },
163
+ duration: {
164
+ type: 'integer',
165
+ title: 'Duration',
166
+ description: 'Duration in minutes',
167
+ minimum: 15,
168
+ maximum: 480
169
+ }
170
+ },
171
+ required: ['date', 'startTime', 'duration']
172
+ }
173
+ });
174
+ if (dateTime.action !== 'accept' || !dateTime.content) {
175
+ return {
176
+ content: [{ type: 'text', text: 'Event creation cancelled.' }]
177
+ };
178
+ }
179
+ // Combine all collected information
180
+ const event = {
181
+ ...basicInfo.content,
182
+ ...dateTime.content
183
+ };
184
+ return {
185
+ content: [
186
+ {
187
+ type: 'text',
188
+ text: `Event created successfully!\n\n${JSON.stringify(event, null, 2)}`
189
+ }
190
+ ]
191
+ };
192
+ }
193
+ catch (error) {
194
+ return {
195
+ content: [
196
+ {
197
+ type: 'text',
198
+ text: `Event creation failed: ${error instanceof Error ? error.message : String(error)}`
199
+ }
200
+ ],
201
+ isError: true
202
+ };
203
+ }
204
+ });
205
+ /**
206
+ * Example 3: Collecting address information
207
+ * Demonstrates validation with patterns and optional fields
208
+ */
209
+ mcpServer.registerTool('update_shipping_address', {
210
+ description: 'Update shipping address with validation',
211
+ inputSchema: {}
212
+ }, async () => {
213
+ try {
214
+ const result = await mcpServer.server.elicitInput({
215
+ message: 'Please provide your shipping address:',
216
+ requestedSchema: {
217
+ type: 'object',
218
+ properties: {
219
+ name: {
220
+ type: 'string',
221
+ title: 'Full Name',
222
+ description: 'Recipient name',
223
+ minLength: 1
224
+ },
225
+ street: {
226
+ type: 'string',
227
+ title: 'Street Address',
228
+ minLength: 1
229
+ },
230
+ city: {
231
+ type: 'string',
232
+ title: 'City',
233
+ minLength: 1
234
+ },
235
+ state: {
236
+ type: 'string',
237
+ title: 'State/Province',
238
+ minLength: 2,
239
+ maxLength: 2
240
+ },
241
+ zipCode: {
242
+ type: 'string',
243
+ title: 'ZIP/Postal Code',
244
+ description: '5-digit ZIP code',
245
+ pattern: '^[0-9]{5}$'
246
+ },
247
+ phone: {
248
+ type: 'string',
249
+ title: 'Phone Number (optional)',
250
+ description: 'Contact phone number'
251
+ }
252
+ },
253
+ required: ['name', 'street', 'city', 'state', 'zipCode']
254
+ }
255
+ });
256
+ if (result.action === 'accept' && result.content) {
257
+ return {
258
+ content: [
259
+ {
260
+ type: 'text',
261
+ text: `Address updated successfully!\n\n${JSON.stringify(result.content, null, 2)}`
262
+ }
263
+ ]
264
+ };
265
+ }
266
+ else if (result.action === 'decline') {
267
+ return {
268
+ content: [{ type: 'text', text: 'Address update cancelled by user.' }]
269
+ };
270
+ }
271
+ else {
272
+ return {
273
+ content: [{ type: 'text', text: 'Address update was cancelled.' }]
274
+ };
275
+ }
276
+ }
277
+ catch (error) {
278
+ return {
279
+ content: [
280
+ {
281
+ type: 'text',
282
+ text: `Address update failed: ${error instanceof Error ? error.message : String(error)}`
283
+ }
284
+ ],
285
+ isError: true
286
+ };
287
+ }
288
+ });
289
+ async function main() {
290
+ const PORT = process.env.PORT ? parseInt(process.env.PORT, 10) : 3000;
291
+ const app = express();
292
+ app.use(express.json());
293
+ // Allow CORS for all domains, expose the Mcp-Session-Id header
294
+ app.use(cors({
295
+ origin: '*',
296
+ exposedHeaders: ['Mcp-Session-Id']
297
+ }));
298
+ // Map to store transports by session ID
299
+ const transports = {};
300
+ // MCP POST endpoint
301
+ const mcpPostHandler = async (req, res) => {
302
+ const sessionId = req.headers['mcp-session-id'];
303
+ if (sessionId) {
304
+ console.log(`Received MCP request for session: ${sessionId}`);
305
+ }
306
+ try {
307
+ let transport;
308
+ if (sessionId && transports[sessionId]) {
309
+ // Reuse existing transport for this session
310
+ transport = transports[sessionId];
311
+ }
312
+ else if (!sessionId && isInitializeRequest(req.body)) {
313
+ // New initialization request - create new transport
314
+ transport = new StreamableHTTPServerTransport({
315
+ sessionIdGenerator: () => randomUUID(),
316
+ onsessioninitialized: sessionId => {
317
+ // Store the transport by session ID when session is initialized
318
+ console.log(`Session initialized with ID: ${sessionId}`);
319
+ transports[sessionId] = transport;
320
+ }
321
+ });
322
+ // Set up onclose handler to clean up transport when closed
323
+ transport.onclose = () => {
324
+ const sid = transport.sessionId;
325
+ if (sid && transports[sid]) {
326
+ console.log(`Transport closed for session ${sid}, removing from transports map`);
327
+ delete transports[sid];
328
+ }
329
+ };
330
+ // Connect the transport to the MCP server BEFORE handling the request
331
+ await mcpServer.connect(transport);
332
+ await transport.handleRequest(req, res, req.body);
333
+ return;
334
+ }
335
+ else {
336
+ // Invalid request - no session ID or not initialization request
337
+ res.status(400).json({
338
+ jsonrpc: '2.0',
339
+ error: {
340
+ code: -32000,
341
+ message: 'Bad Request: No valid session ID provided'
342
+ },
343
+ id: null
344
+ });
345
+ return;
346
+ }
347
+ // Handle the request with existing transport
348
+ await transport.handleRequest(req, res, req.body);
349
+ }
350
+ catch (error) {
351
+ console.error('Error handling MCP request:', error);
352
+ if (!res.headersSent) {
353
+ res.status(500).json({
354
+ jsonrpc: '2.0',
355
+ error: {
356
+ code: -32603,
357
+ message: 'Internal server error'
358
+ },
359
+ id: null
360
+ });
361
+ }
362
+ }
363
+ };
364
+ app.post('/mcp', mcpPostHandler);
365
+ // Handle GET requests for SSE streams
366
+ const mcpGetHandler = async (req, res) => {
367
+ const sessionId = req.headers['mcp-session-id'];
368
+ if (!sessionId || !transports[sessionId]) {
369
+ res.status(400).send('Invalid or missing session ID');
370
+ return;
371
+ }
372
+ console.log(`Establishing SSE stream for session ${sessionId}`);
373
+ const transport = transports[sessionId];
374
+ await transport.handleRequest(req, res);
375
+ };
376
+ app.get('/mcp', mcpGetHandler);
377
+ // Handle DELETE requests for session termination
378
+ const mcpDeleteHandler = async (req, res) => {
379
+ const sessionId = req.headers['mcp-session-id'];
380
+ if (!sessionId || !transports[sessionId]) {
381
+ res.status(400).send('Invalid or missing session ID');
382
+ return;
383
+ }
384
+ console.log(`Received session termination request for session ${sessionId}`);
385
+ try {
386
+ const transport = transports[sessionId];
387
+ await transport.handleRequest(req, res);
388
+ }
389
+ catch (error) {
390
+ console.error('Error handling session termination:', error);
391
+ if (!res.headersSent) {
392
+ res.status(500).send('Error processing session termination');
393
+ }
394
+ }
395
+ };
396
+ app.delete('/mcp', mcpDeleteHandler);
397
+ // Start listening
398
+ app.listen(PORT, error => {
399
+ if (error) {
400
+ console.error('Failed to start server:', error);
401
+ process.exit(1);
402
+ }
403
+ console.log(`Elicitation example server is running on http://localhost:${PORT}/mcp`);
404
+ console.log('Available tools:');
405
+ console.log(' - register_user: Collect user registration information');
406
+ console.log(' - create_event: Multi-step event creation');
407
+ console.log(' - update_shipping_address: Collect and validate address');
408
+ console.log('\nConnect your MCP client to this server using the HTTP transport.');
409
+ });
410
+ // Handle server shutdown
411
+ process.on('SIGINT', async () => {
412
+ console.log('Shutting down server...');
413
+ // Close all active transports to properly clean up resources
414
+ for (const sessionId in transports) {
415
+ try {
416
+ console.log(`Closing transport for session ${sessionId}`);
417
+ await transports[sessionId].close();
418
+ delete transports[sessionId];
419
+ }
420
+ catch (error) {
421
+ console.error(`Error closing transport for session ${sessionId}:`, error);
422
+ }
423
+ }
424
+ console.log('Server shutdown complete');
425
+ process.exit(0);
426
+ });
427
+ }
428
+ main().catch(error => {
429
+ console.error('Server error:', error);
430
+ process.exit(1);
431
+ });
432
+ //# sourceMappingURL=elicitationExample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elicitationExample.js","sourceRoot":"","sources":["../../../../src/examples/server/elicitationExample.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,oFAAoF;AACpF,0EAA0E;AAC1E,gFAAgF;AAChF,gCAAgC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAwC,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,8FAA8F;AAC9F,2FAA2F;AAC3F,MAAM,SAAS,GAAG,IAAI,SAAS,CAC3B;IACI,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;CACnB,EACD;IACI,YAAY,EAAE,EAAE;CACnB,CACJ,CAAC;AAEF;;;GAGG;AACH,SAAS,CAAC,YAAY,CAClB,eAAe,EACf;IACI,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE,EAAE;CAClB,EACD,KAAK,IAAI,EAAE;IACP,IAAI,CAAC;QACD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YAC9C,OAAO,EAAE,+CAA+C;YACxD,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAU;wBACjB,WAAW,EAAE,yCAAyC;wBACtD,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,EAAE;qBAChB;oBACD,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,OAAO;wBACd,WAAW,EAAE,oBAAoB;wBACjC,MAAM,EAAE,OAAO;qBAClB;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAU;wBACjB,WAAW,EAAE,kCAAkC;wBAC/C,SAAS,EAAE,CAAC;qBACf;oBACD,UAAU,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,YAAY;wBACnB,WAAW,EAAE,0BAA0B;wBACvC,OAAO,EAAE,KAAK;qBACjB;iBACJ;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC;aAC9C;SACJ,CAAC,CAAC;QAEH,wCAAwC;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAK9C,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yCAAyC,QAAQ,YAAY,KAAK,iBAAiB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;qBACvH;iBACJ;aACJ,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iCAAiC;qBAC1C;iBACJ;aACJ,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,6BAA6B;qBACtC;iBACJ;aACJ,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF;aACJ;YACD,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;AACL,CAAC,CACJ,CAAC;AAEF;;;GAGG;AACH,SAAS,CAAC,YAAY,CAClB,cAAc,EACd;IACI,WAAW,EAAE,qDAAqD;IAClE,WAAW,EAAE,EAAE;CAClB,EACD,KAAK,IAAI,EAAE;IACP,IAAI,CAAC;QACD,0CAA0C;QAC1C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YACjD,OAAO,EAAE,uCAAuC;YAChD,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,aAAa;wBACpB,WAAW,EAAE,mBAAmB;wBAChC,SAAS,EAAE,CAAC;qBACf;oBACD,WAAW,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,aAAa;wBACpB,WAAW,EAAE,8BAA8B;qBAC9C;iBACJ;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACtB;SACJ,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACtD,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;aACjE,CAAC;QACN,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YAChD,OAAO,EAAE,6BAA6B;YACtC,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,IAAI,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,MAAM;wBACb,WAAW,EAAE,YAAY;wBACzB,MAAM,EAAE,MAAM;qBACjB;oBACD,SAAS,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,YAAY;wBACnB,WAAW,EAAE,0BAA0B;wBACvC,OAAO,EAAE,mCAAmC;qBAC/C;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAU;wBACjB,WAAW,EAAE,qBAAqB;wBAClC,OAAO,EAAE,EAAE;wBACX,OAAO,EAAE,GAAG;qBACf;iBACJ;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;aAC9C;SACJ,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpD,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;aACjE,CAAC;QACN,CAAC;QAED,oCAAoC;QACpC,MAAM,KAAK,GAAG;YACV,GAAG,SAAS,CAAC,OAAO;YACpB,GAAG,QAAQ,CAAC,OAAO;SACtB,CAAC;QAEF,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC3E;aACJ;SACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC3F;aACJ;YACD,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;AACL,CAAC,CACJ,CAAC;AAEF;;;GAGG;AACH,SAAS,CAAC,YAAY,CAClB,yBAAyB,EACzB;IACI,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE,EAAE;CAClB,EACD,KAAK,IAAI,EAAE;IACP,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YAC9C,OAAO,EAAE,uCAAuC;YAChD,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,IAAI,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,WAAW;wBAClB,WAAW,EAAE,gBAAgB;wBAC7B,SAAS,EAAE,CAAC;qBACf;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,gBAAgB;wBACvB,SAAS,EAAE,CAAC;qBACf;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,MAAM;wBACb,SAAS,EAAE,CAAC;qBACf;oBACD,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,gBAAgB;wBACvB,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,CAAC;qBACf;oBACD,OAAO,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,kBAAkB;wBAC/B,OAAO,EAAE,YAAY;qBACxB;oBACD,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EAAE,sBAAsB;qBACtC;iBACJ;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;aAC3D;SACJ,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACtF;iBACJ;aACJ,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;aACzE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;aACrE,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC3F;aACJ;YACD,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;AACL,CAAC,CACJ,CAAC;AAEF,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtE,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,+DAA+D;IAC/D,GAAG,CAAC,GAAG,CACH,IAAI,CAAC;QACD,MAAM,EAAE,GAAG;QACX,cAAc,EAAE,CAAC,gBAAgB,CAAC;KACrC,CAAC,CACL,CAAC;IAEF,wCAAwC;IACxC,MAAM,UAAU,GAA2D,EAAE,CAAC;IAE9E,oBAAoB;IACpB,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QACtE,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC;YACD,IAAI,SAAwC,CAAC;YAC7C,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,4CAA4C;gBAC5C,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,oDAAoD;gBACpD,SAAS,GAAG,IAAI,6BAA6B,CAAC;oBAC1C,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,SAAS,CAAC,EAAE;wBAC9B,gEAAgE;wBAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;wBACzD,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;oBACtC,CAAC;iBACJ,CAAC,CAAC;gBAEH,2DAA2D;gBAC3D,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;oBACrB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;oBAChC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzB,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,gCAAgC,CAAC,CAAC;wBACjF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC,CAAC;gBAEF,sEAAsE;gBACtE,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEnC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO;YACX,CAAC;iBAAM,CAAC;gBACJ,gEAAgE;gBAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EAAE,2CAA2C;qBACvD;oBACD,EAAE,EAAE,IAAI;iBACX,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,6CAA6C;YAC7C,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EAAE,uBAAuB;qBACnC;oBACD,EAAE,EAAE,IAAI;iBACX,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEjC,sCAAsC;IACtC,MAAM,aAAa,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACxD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QACtE,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,OAAO;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE/B,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC3D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QACtE,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,OAAO;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oDAAoD,SAAS,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAErC,kBAAkB;IAClB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;QACrB,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,6DAA6D,IAAI,MAAM,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAEvC,6DAA6D;QAC7D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;gBAC1D,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;gBACpC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -6,7 +6,7 @@ export function metadataHandler(metadata) {
6
6
  const router = express.Router();
7
7
  // Configure CORS to allow any origin, to make accessible to web-based MCP clients
8
8
  router.use(cors());
9
- router.use(allowedMethods(['GET']));
9
+ router.use(allowedMethods(['GET', 'OPTIONS']));
10
10
  router.get('/', (req, res) => {
11
11
  res.status(200).json(metadata);
12
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../src/server/auth/handlers/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,OAA2B,MAAM,SAAS,CAAC;AAElD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,UAAU,eAAe,CAAC,QAAwD;IACpF,wEAAwE;IACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,kFAAkF;IAClF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../src/server/auth/handlers/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,OAA2B,MAAM,SAAS,CAAC;AAElD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,UAAU,eAAe,CAAC,QAAwD;IACpF,wEAAwE;IACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,kFAAkF;IAClF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,5 +1,6 @@
1
- import { Protocol, ProtocolOptions, RequestOptions } from '../shared/protocol.js';
2
- import { ClientCapabilities, CreateMessageRequest, ElicitRequest, ElicitResult, Implementation, ListRootsRequest, LoggingMessageNotification, Notification, Request, ResourceUpdatedNotification, Result, ServerCapabilities, ServerNotification, ServerRequest, ServerResult } from '../types.js';
1
+ import { Protocol, type ProtocolOptions, type RequestOptions } from '../shared/protocol.js';
2
+ import { type ClientCapabilities, type CreateMessageRequest, type ElicitRequest, type ElicitResult, type Implementation, type ListRootsRequest, type LoggingMessageNotification, type Notification, type Request, type ResourceUpdatedNotification, type Result, type ServerCapabilities, type ServerNotification, type ServerRequest, type ServerResult } from '../types.js';
3
+ import type { jsonSchemaValidator } from '../validation/types.js';
3
4
  export type ServerOptions = ProtocolOptions & {
4
5
  /**
5
6
  * Capabilities to advertise as being supported by this server.
@@ -9,6 +10,36 @@ export type ServerOptions = ProtocolOptions & {
9
10
  * Optional instructions describing how to use the server and its features.
10
11
  */
11
12
  instructions?: string;
13
+ /**
14
+ * JSON Schema validator for elicitation response validation.
15
+ *
16
+ * The validator is used to validate user input returned from elicitation
17
+ * requests against the requested schema.
18
+ *
19
+ * @default AjvJsonSchemaValidator
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // ajv (default)
24
+ * const server = new Server(
25
+ * { name: 'my-server', version: '1.0.0' },
26
+ * {
27
+ * capabilities: {}
28
+ * jsonSchemaValidator: new AjvJsonSchemaValidator()
29
+ * }
30
+ * );
31
+ *
32
+ * // @cfworker/json-schema
33
+ * const server = new Server(
34
+ * { name: 'my-server', version: '1.0.0' },
35
+ * {
36
+ * capabilities: {},
37
+ * jsonSchemaValidator: new CfWorkerJsonSchemaValidator()
38
+ * }
39
+ * );
40
+ * ```
41
+ */
42
+ jsonSchemaValidator?: jsonSchemaValidator;
12
43
  };
13
44
  /**
14
45
  * An MCP server on top of a pluggable transport.
@@ -41,6 +72,7 @@ export declare class Server<RequestT extends Request = Request, NotificationT ex
41
72
  private _clientVersion?;
42
73
  private _capabilities;
43
74
  private _instructions?;
75
+ private _jsonSchemaValidator;
44
76
  /**
45
77
  * Callback for when initialization has fully completed (i.e., the client has sent an `initialized` notification).
46
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EAEpB,aAAa,EACb,YAAY,EAGZ,cAAc,EAMd,gBAAgB,EAEhB,0BAA0B,EAG1B,YAAY,EACZ,OAAO,EACP,2BAA2B,EAC3B,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,YAAY,EAKf,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,MAAM,CACf,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,aAAa,SAAS,YAAY,GAAG,YAAY,EACjD,OAAO,SAAS,MAAM,GAAG,MAAM,CACjC,SAAQ,QAAQ,CAAC,aAAa,GAAG,QAAQ,EAAE,kBAAkB,GAAG,aAAa,EAAE,YAAY,GAAG,OAAO,CAAC;IAehG,OAAO,CAAC,WAAW;IAdvB,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IACjD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;OAEG;gBAES,WAAW,EAAE,cAAc,EACnC,OAAO,CAAC,EAAE,aAAa;IAwB3B,OAAO,CAAC,cAAc,CAA+C;IAGrE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6E;IAGhH,OAAO,CAAC,gBAAgB,CAGtB;IAEF;;;;OAIG;IACI,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI;IAOnE,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0BrE,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI;IAqCpG,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;YA2ChD,aAAa;IAgB3B;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,GAAG,SAAS;IAIvD;;OAEG;IACH,gBAAgB,IAAI,cAAc,GAAG,SAAS;IAI9C,OAAO,CAAC,eAAe;IAIjB,IAAI;;;IAIJ,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI9E,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IA4B7F,SAAS,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;IAI7E;;;;;;OAMG;IACG,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM;IAQnF,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC;IAOjE,uBAAuB;IAMvB,mBAAmB;IAInB,qBAAqB;CAG9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { mergeCapabilities, Protocol } from '../shared/protocol.js';
2
- import { CreateMessageResultSchema, ElicitResultSchema, EmptyResultSchema, InitializedNotificationSchema, InitializeRequestSchema, LATEST_PROTOCOL_VERSION, ListRootsResultSchema, McpError, ErrorCode, SUPPORTED_PROTOCOL_VERSIONS, SetLevelRequestSchema, LoggingLevelSchema } from '../types.js';
3
- import Ajv from 'ajv';
2
+ import { CreateMessageResultSchema, ElicitResultSchema, EmptyResultSchema, ErrorCode, InitializedNotificationSchema, InitializeRequestSchema, LATEST_PROTOCOL_VERSION, ListRootsResultSchema, LoggingLevelSchema, McpError, SetLevelRequestSchema, SUPPORTED_PROTOCOL_VERSIONS } from '../types.js';
3
+ import { AjvJsonSchemaValidator } from '../validation/ajv-provider.js';
4
4
  /**
5
5
  * An MCP server on top of a pluggable transport.
6
6
  *
@@ -31,7 +31,7 @@ export class Server extends Protocol {
31
31
  * Initializes this server with the given name and version information.
32
32
  */
33
33
  constructor(_serverInfo, options) {
34
- var _a;
34
+ var _a, _b;
35
35
  super(options);
36
36
  this._serverInfo = _serverInfo;
37
37
  // Map log levels by session id
@@ -45,6 +45,7 @@ export class Server extends Protocol {
45
45
  };
46
46
  this._capabilities = (_a = options === null || options === void 0 ? void 0 : options.capabilities) !== null && _a !== void 0 ? _a : {};
47
47
  this._instructions = options === null || options === void 0 ? void 0 : options.instructions;
48
+ this._jsonSchemaValidator = (_b = options === null || options === void 0 ? void 0 : options.jsonSchemaValidator) !== null && _b !== void 0 ? _b : new AjvJsonSchemaValidator();
48
49
  this.setRequestHandler(InitializeRequestSchema, request => this._oninitialize(request));
49
50
  this.setNotificationHandler(InitializedNotificationSchema, () => { var _a; return (_a = this.oninitialized) === null || _a === void 0 ? void 0 : _a.call(this); });
50
51
  if (this._capabilities.logging) {
@@ -198,20 +199,19 @@ export class Server extends Protocol {
198
199
  async elicitInput(params, options) {
199
200
  const result = await this.request({ method: 'elicitation/create', params }, ElicitResultSchema, options);
200
201
  // Validate the response content against the requested schema if action is "accept"
201
- if (result.action === 'accept' && result.content) {
202
+ if (result.action === 'accept' && result.content && params.requestedSchema) {
202
203
  try {
203
- const ajv = new Ajv();
204
- const validate = ajv.compile(params.requestedSchema);
205
- const isValid = validate(result.content);
206
- if (!isValid) {
207
- throw new McpError(ErrorCode.InvalidParams, `Elicitation response content does not match requested schema: ${ajv.errorsText(validate.errors)}`);
204
+ const validator = this._jsonSchemaValidator.getValidator(params.requestedSchema);
205
+ const validationResult = validator(result.content);
206
+ if (!validationResult.valid) {
207
+ throw new McpError(ErrorCode.InvalidParams, `Elicitation response content does not match requested schema: ${validationResult.errorMessage}`);
208
208
  }
209
209
  }
210
210
  catch (error) {
211
211
  if (error instanceof McpError) {
212
212
  throw error;
213
213
  }
214
- throw new McpError(ErrorCode.InternalError, `Error validating elicitation response: ${error}`);
214
+ throw new McpError(ErrorCode.InternalError, `Error validating elicitation response: ${error instanceof Error ? error.message : String(error)}`);
215
215
  }
216
216
  }
217
217
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,13 @@ export declare class McpServer {
31
31
  close(): Promise<void>;
32
32
  private _toolHandlersInitialized;
33
33
  private setToolRequestHandlers;
34
+ /**
35
+ * Creates a tool error result.
36
+ *
37
+ * @param errorMessage - The error message.
38
+ * @returns The tool error result.
39
+ */
40
+ private createToolError;
34
41
  private _completionHandlerInitialized;
35
42
  private setCompletionRequestHandler;
36
43
  private handlePromptCompletion;