mcp-use 1.9.1-canary.0 → 1.10.0-canary.2

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 (56) hide show
  1. package/README.md +9 -6
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{chunk-MUZ5WYE3.js → chunk-BFFS67JY.js} +1 -1
  4. package/dist/{chunk-D22NUQTL.js → chunk-HRWL2M2I.js} +184 -0
  5. package/dist/{chunk-5URNFWCQ.js → chunk-LWVK6RXA.js} +8 -3
  6. package/dist/{chunk-KHTTBIRP.js → chunk-Q3PFK7Y4.js} +138 -1
  7. package/dist/{context-storage-TXQ4DVSS.js → context-storage-NA4MHWOZ.js} +3 -1
  8. package/dist/index.cjs +184 -0
  9. package/dist/index.d.ts +3 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/src/browser.cjs +184 -0
  13. package/dist/src/browser.js +1 -1
  14. package/dist/src/react/index.cjs +184 -0
  15. package/dist/src/react/index.js +2 -2
  16. package/dist/src/server/context-storage.d.ts +8 -1
  17. package/dist/src/server/context-storage.d.ts.map +1 -1
  18. package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -1
  19. package/dist/src/server/index.cjs +595 -63
  20. package/dist/src/server/index.d.ts +3 -3
  21. package/dist/src/server/index.d.ts.map +1 -1
  22. package/dist/src/server/index.js +459 -67
  23. package/dist/src/server/mcp-server.d.ts +49 -9
  24. package/dist/src/server/mcp-server.d.ts.map +1 -1
  25. package/dist/src/server/oauth/providers.d.ts +27 -9
  26. package/dist/src/server/oauth/providers.d.ts.map +1 -1
  27. package/dist/src/server/prompts/index.d.ts.map +1 -1
  28. package/dist/src/server/resources/index.d.ts +43 -23
  29. package/dist/src/server/resources/index.d.ts.map +1 -1
  30. package/dist/src/server/resources/subscriptions.d.ts +54 -0
  31. package/dist/src/server/resources/subscriptions.d.ts.map +1 -0
  32. package/dist/src/server/sessions/session-manager.d.ts +9 -1
  33. package/dist/src/server/sessions/session-manager.d.ts.map +1 -1
  34. package/dist/src/server/tools/tool-execution-helpers.d.ts +30 -17
  35. package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -1
  36. package/dist/src/server/tools/tool-registration.d.ts.map +1 -1
  37. package/dist/src/server/types/common.d.ts +24 -8
  38. package/dist/src/server/types/common.d.ts.map +1 -1
  39. package/dist/src/server/types/index.d.ts +3 -3
  40. package/dist/src/server/types/index.d.ts.map +1 -1
  41. package/dist/src/server/types/prompt.d.ts +2 -1
  42. package/dist/src/server/types/prompt.d.ts.map +1 -1
  43. package/dist/src/server/types/resource.d.ts +53 -8
  44. package/dist/src/server/types/resource.d.ts.map +1 -1
  45. package/dist/src/server/types/tool-context.d.ts +131 -0
  46. package/dist/src/server/types/tool-context.d.ts.map +1 -1
  47. package/dist/src/server/types/tool.d.ts +1 -1
  48. package/dist/src/server/types/tool.d.ts.map +1 -1
  49. package/dist/src/server/utils/response-helpers.d.ts +48 -4
  50. package/dist/src/server/utils/response-helpers.d.ts.map +1 -1
  51. package/dist/src/server/widgets/index.d.ts +2 -2
  52. package/dist/src/server/widgets/ui-resource-registration.d.ts +2 -2
  53. package/dist/src/session.d.ts +337 -2
  54. package/dist/src/session.d.ts.map +1 -1
  55. package/dist/{tool-execution-helpers-IVUDHXMK.js → tool-execution-helpers-RRMGLAHR.js} +7 -1
  56. package/package.json +3 -3
@@ -11,7 +11,7 @@ import type { SessionData } from "./sessions/index.js";
11
11
  import { getActiveSessions, sendNotification, sendNotificationToSession } from "./notifications/index.js";
12
12
  import type { ServerConfig } from "./types/index.js";
13
13
  import { parseTemplateUri as parseTemplateUriHelper } from "./utils/index.js";
14
- export declare class McpServer {
14
+ export declare class MCPServer {
15
15
  /**
16
16
  * Native MCP server instance from @modelcontextprotocol/sdk
17
17
  * Exposed publicly for advanced use cases
@@ -41,6 +41,20 @@ export declare class McpServer {
41
41
  * Following the official SDK pattern where each session gets its own server instance
42
42
  */
43
43
  private registrationRecipes;
44
+ /**
45
+ * Resource subscription manager for tracking and notifying resource updates
46
+ */
47
+ private subscriptionManager;
48
+ /**
49
+ * Clean up resource subscriptions for a closed session
50
+ *
51
+ * This method is called automatically when a session is closed to remove
52
+ * all resource subscriptions associated with that session.
53
+ *
54
+ * @param sessionId - The session ID to clean up
55
+ * @internal
56
+ */
57
+ cleanupSessionSubscriptions(sessionId: string): void;
44
58
  /**
45
59
  * Creates a new MCP server instance with Hono integration
46
60
  *
@@ -49,7 +63,7 @@ export declare class McpServer {
49
63
  * access to Hono methods while preserving MCP server functionality.
50
64
  *
51
65
  * @param config - Server configuration including name, version, and description
52
- * @returns A proxied McpServer instance that supports both MCP and Hono methods
66
+ * @returns A proxied MCPServer instance that supports both MCP and Hono methods
53
67
  */
54
68
  constructor(config: ServerConfig);
55
69
  /**
@@ -77,6 +91,22 @@ export declare class McpServer {
77
91
  getActiveSessions: typeof getActiveSessions;
78
92
  sendNotification: typeof sendNotification;
79
93
  sendNotificationToSession: typeof sendNotificationToSession;
94
+ /**
95
+ * Notify subscribed clients that a resource has been updated
96
+ *
97
+ * This method sends a `notifications/resources/updated` notification to all
98
+ * sessions that have subscribed to the specified resource URI.
99
+ *
100
+ * @param uri - The URI of the resource that changed
101
+ * @returns Promise that resolves when all notifications have been sent
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * // After updating a resource, notify subscribers
106
+ * await server.notifyResourceUpdated("file:///path/to/resource.txt");
107
+ * ```
108
+ */
109
+ notifyResourceUpdated(uri: string): Promise<void>;
80
110
  uiResource: any;
81
111
  /**
82
112
  * Mount MCP server endpoints at /mcp and /sse
@@ -149,7 +179,7 @@ export declare class McpServer {
149
179
  * @example
150
180
  * ```typescript
151
181
  * // For Supabase Edge Functions (handles path rewriting automatically)
152
- * const server = createMCPServer('my-server');
182
+ * const server = new MCPServer({ name: 'my-server', version: '1.0.0' });
153
183
  * server.tool({ ... });
154
184
  * const handler = await server.getHandler({ provider: 'supabase' });
155
185
  * Deno.serve(handler);
@@ -158,7 +188,7 @@ export declare class McpServer {
158
188
  * @example
159
189
  * ```typescript
160
190
  * // For Cloudflare Workers
161
- * const server = createMCPServer('my-server');
191
+ * const server = new MCPServer({ name: 'my-server', version: '1.0.0' });
162
192
  * server.tool({ ... });
163
193
  * const handler = await server.getHandler();
164
194
  * export default { fetch: handler };
@@ -193,7 +223,7 @@ export declare class McpServer {
193
223
  */
194
224
  private mountInspector;
195
225
  }
196
- export type McpServerInstance = McpServer & HonoType;
226
+ export type McpServerInstance = MCPServer & HonoType;
197
227
  /**
198
228
  * Create a new MCP server instance
199
229
  *
@@ -212,14 +242,22 @@ export type McpServerInstance = McpServer & HonoType;
212
242
  *
213
243
  * @example
214
244
  * ```typescript
215
- * // Basic usage (development mode - allows all origins)
245
+ * // Recommended: Use class constructor (matches MCPClient/MCPAgent pattern)
246
+ * const server = new MCPServer({
247
+ * name: 'my-server',
248
+ * version: '1.0.0',
249
+ * description: 'My MCP server'
250
+ * })
251
+ *
252
+ * // Legacy: Factory function (still supported for backward compatibility)
216
253
  * const server = createMCPServer('my-server', {
217
254
  * version: '1.0.0',
218
255
  * description: 'My MCP server'
219
256
  * })
220
257
  *
221
258
  * // Production mode with explicit allowed origins
222
- * const server = createMCPServer('my-server', {
259
+ * const server = new MCPServer({
260
+ * name: 'my-server',
223
261
  * version: '1.0.0',
224
262
  * allowedOrigins: [
225
263
  * 'https://myapp.com',
@@ -228,13 +266,15 @@ export type McpServerInstance = McpServer & HonoType;
228
266
  * })
229
267
  *
230
268
  * // With custom host (e.g., for Docker or remote access)
231
- * const server = createMCPServer('my-server', {
269
+ * const server = new MCPServer({
270
+ * name: 'my-server',
232
271
  * version: '1.0.0',
233
272
  * host: '0.0.0.0' // or 'myserver.com'
234
273
  * })
235
274
  *
236
275
  * // With full base URL (e.g., behind a proxy or custom domain)
237
- * const server = createMCPServer('my-server', {
276
+ * const server = new MCPServer({
277
+ * name: 'my-server',
238
278
  * version: '1.0.0',
239
279
  * baseUrl: 'https://myserver.com' // or process.env.MCP_URL
240
280
  * })
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -65,14 +65,18 @@ export interface CustomProviderConfig {
65
65
  *
66
66
  * @example Zero-config with environment variables
67
67
  * ```typescript
68
- * const server = createMCPServer('my-server', {
68
+ * const server = new MCPServer({
69
+ * name: 'my-server',
70
+ * version: '1.0.0',
69
71
  * oauth: oauthSupabaseProvider()
70
72
  * });
71
73
  * ```
72
74
  *
73
75
  * @example With explicit configuration
74
76
  * ```typescript
75
- * const server = createMCPServer('my-server', {
77
+ * const server = new MCPServer({
78
+ * name: 'my-server',
79
+ * version: '1.0.0',
76
80
  * oauth: oauthSupabaseProvider({
77
81
  * projectId: 'my-project',
78
82
  * jwtSecret: process.env.SUPABASE_JWT_SECRET
@@ -93,14 +97,18 @@ export declare function oauthSupabaseProvider(config?: Partial<SupabaseProviderC
93
97
  *
94
98
  * @example Zero-config with environment variables
95
99
  * ```typescript
96
- * const server = createMCPServer('my-server', {
100
+ * const server = new MCPServer({
101
+ * name: 'my-server',
102
+ * version: '1.0.0',
97
103
  * oauth: oauthAuth0Provider()
98
104
  * });
99
105
  * ```
100
106
  *
101
107
  * @example With explicit configuration
102
108
  * ```typescript
103
- * const server = createMCPServer('my-server', {
109
+ * const server = new MCPServer({
110
+ * name: 'my-server',
111
+ * version: '1.0.0',
104
112
  * oauth: oauthAuth0Provider({
105
113
  * domain: 'my-tenant.auth0.com',
106
114
  * audience: 'https://my-api.com'
@@ -122,14 +130,18 @@ export declare function oauthAuth0Provider(config?: Partial<Auth0ProviderConfig>
122
130
  *
123
131
  * @example Zero-config with environment variables
124
132
  * ```typescript
125
- * const server = createMCPServer('my-server', {
133
+ * const server = new MCPServer({
134
+ * name: 'my-server',
135
+ * version: '1.0.0',
126
136
  * oauth: oauthKeycloakProvider()
127
137
  * });
128
138
  * ```
129
139
  *
130
140
  * @example With explicit configuration
131
141
  * ```typescript
132
- * const server = createMCPServer('my-server', {
142
+ * const server = new MCPServer({
143
+ * name: 'my-server',
144
+ * version: '1.0.0',
133
145
  * oauth: oauthKeycloakProvider({
134
146
  * serverUrl: 'https://keycloak.example.com',
135
147
  * realm: 'my-realm',
@@ -164,7 +176,9 @@ export declare function oauthKeycloakProvider(config?: Partial<KeycloakProviderC
164
176
  *
165
177
  * @example Dynamic Client Registration (recommended)
166
178
  * ```typescript
167
- * const server = createMCPServer('my-server', {
179
+ * const server = new MCPServer({
180
+ * name: 'my-server',
181
+ * version: '1.0.0',
168
182
  * oauth: oauthWorkOSProvider({
169
183
  * subdomain: 'my-company'
170
184
  * })
@@ -173,7 +187,9 @@ export declare function oauthKeycloakProvider(config?: Partial<KeycloakProviderC
173
187
  *
174
188
  * @example Pre-registered OAuth Client
175
189
  * ```typescript
176
- * const server = createMCPServer('my-server', {
190
+ * const server = new MCPServer({
191
+ * name: 'my-server',
192
+ * version: '1.0.0',
177
193
  * oauth: oauthWorkOSProvider({
178
194
  * subdomain: 'my-company',
179
195
  * clientId: 'client_01KB5DRXBDDY1VGCBKY108SKJW'
@@ -190,7 +206,9 @@ export declare function oauthWorkOSProvider(config?: Partial<WorkOSProviderConfi
190
206
  *
191
207
  * @example
192
208
  * ```typescript
193
- * const server = createMCPServer('my-server', {
209
+ * const server = new MCPServer({
210
+ * name: 'my-server',
211
+ * version: '1.0.0',
194
212
  * oauth: oauthCustomProvider({
195
213
  * issuer: 'https://oauth.example.com',
196
214
  * jwksUrl: 'https://oauth.example.com/.well-known/jwks.json',
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,aAAa,CAmBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,aAAa,CAwBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,aAAa,CA4Bf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM,GACzC,aAAa,CAwCf;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,GAC3B,aAAa,CAKf"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,aAAa,CAmBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,aAAa,CAwBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,aAAa,CA4Bf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM,GACzC,aAAa,CAwCf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,GAC3B,aAAa,CAKf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,gBAAgB,EAChB,+BAA+B,EAC/B,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,GAAG,CAAC;SACjB,EACD,iBAAiB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,eAAe,CAAC,GAC3D,IAAI,CAAC;KACT,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACzC,wBAAwB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,mBAAmB,EACzB,gBAAgB,EAAE,gBAAgB,GAAG,+BAA+B,EACpE,QAAQ,CAAC,EAAE,cAAc,GACxB,mBAAmB,CA8ErB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,gBAAgB,EAChB,+BAA+B,EAC/B,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,GAAG,CAAC;SACjB,EACD,iBAAiB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,eAAe,CAAC,GAC3D,IAAI,CAAC;KACT,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACzC,wBAAwB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,mBAAmB,EACzB,gBAAgB,EAAE,gBAAgB,GAAG,+BAA+B,EACpE,QAAQ,CAAC,EAAE,cAAc,GACxB,mBAAmB,CAiFrB"}
@@ -1,7 +1,8 @@
1
- import type { ResourceDefinition, ReadResourceCallback, ReadResourceTemplateCallback, ResourceDefinitionWithoutCallback, ResourceTemplateDefinitionWithoutCallback } from "../types/index.js";
1
+ import type { ResourceDefinition, ReadResourceCallback, ResourceDefinitionWithoutCallback, ResourceTemplateDefinitionWithoutCallback, FlatResourceTemplateDefinition, FlatResourceTemplateDefinitionWithoutCallback, ResourceTemplateDefinition, EnhancedResourceContext } from "../types/index.js";
2
2
  import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
3
- import type { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
4
- import type { ResourceTemplateDefinition } from "../types/index.js";
3
+ import type { ReadResourceResult, CallToolResult } from "@modelcontextprotocol/sdk/types.js";
4
+ import type { TypedCallToolResult } from "../utils/response-helpers.js";
5
+ export { ResourceSubscriptionManager } from "./subscriptions.js";
5
6
  export interface ResourceServerContext {
6
7
  server: {
7
8
  registerResource(name: string, uri: string, metadata: {
@@ -77,40 +78,59 @@ export interface ResourceTemplateServerContext {
77
78
  * patterns with placeholders that can be filled in at request time, allowing dynamic
78
79
  * resource generation based on parameters.
79
80
  *
80
- * Supports two patterns:
81
- * 1. Old API: Single object with readCallback property
82
- * 2. New API: Definition object + separate callback (like tools)
81
+ * Supports multiple API patterns:
82
+ * 1. Flat structure (recommended): `uriTemplate` directly on definition
83
+ * 2. Nested structure (legacy): `resourceTemplate.uriTemplate`
84
+ * 3. Old API: Single object with readCallback property
85
+ * 4. New API: Definition object + separate callback (like tools)
86
+ *
87
+ * The callback function supports multiple signatures for flexibility:
88
+ * - `async () => ...` - No parameters (for static templates)
89
+ * - `async (uri) => ...` - Just the URI
90
+ * - `async (uri, params) => ...` - URI and extracted parameters
91
+ * - `async (uri, params, ctx) => ...` - URI, parameters, and context (with auth, request, etc.)
83
92
  *
84
93
  * @param resourceTemplateDefinition - Configuration object for the resource template
85
94
  * @param resourceTemplateDefinition.name - Unique identifier for the template
86
- * @param resourceTemplateDefinition.resourceTemplate - ResourceTemplate object with uriTemplate and metadata
95
+ * @param resourceTemplateDefinition.uriTemplate - URI template (flat structure, recommended)
96
+ * @param resourceTemplateDefinition.resourceTemplate - ResourceTemplate object (nested structure, legacy)
87
97
  * @param callback - Optional separate callback function (new API pattern)
88
98
  * @returns The server instance for method chaining
89
99
  *
90
100
  * @example
91
101
  * ```typescript
92
- * // New API: Using response helpers (recommended)
93
- * server.resourceTemplate(
94
- * { name: 'user', resourceTemplate: { uriTemplate: 'user://{id}' } },
95
- * async (uri, { id }) => object(await getUserData(id))
96
- * )
102
+ * // Flat structure (recommended)
103
+ * server.resourceTemplate({
104
+ * name: 'user',
105
+ * uriTemplate: 'user://{id}',
106
+ * title: 'User Profile'
107
+ * }, async (uri, { id }) => object(await getUserData(id)))
97
108
  *
98
- * // Old API: Still supported for backward compatibility
109
+ * // Minimal signature - no parameters
110
+ * server.resourceTemplate({
111
+ * name: 'static',
112
+ * uriTemplate: 'app://static'
113
+ * }, async () => text('Static content'))
114
+ *
115
+ * // With context for auth/request access
116
+ * server.resourceTemplate({
117
+ * name: 'private',
118
+ * uriTemplate: 'private://{id}'
119
+ * }, async (uri, { id }, ctx) => {
120
+ * const user = ctx.auth; // Access authenticated user
121
+ * return object(await getPrivateData(id, user));
122
+ * })
123
+ *
124
+ * // Nested structure (legacy, still supported)
99
125
  * server.resourceTemplate({
100
126
  * name: 'user-profile',
101
127
  * resourceTemplate: {
102
128
  * uriTemplate: 'user://{userId}/profile',
103
129
  * mimeType: 'application/json'
104
- * },
105
- * readCallback: async (uri, params) => ({
106
- * contents: [{
107
- * uri: uri.toString(),
108
- * mimeType: 'application/json',
109
- * text: JSON.stringify({ userId: params.userId })
110
- * }]
111
- * })
112
- * })
130
+ * }
131
+ * }, async (uri, { userId }) => object(await getUserData(userId)))
113
132
  * ```
114
133
  */
115
- export declare function registerResourceTemplate(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition | ResourceTemplateDefinitionWithoutCallback, callback?: ReadResourceTemplateCallback): ResourceTemplateServerContext;
134
+ export declare function registerResourceTemplate<HasOAuth extends boolean = false>(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition<HasOAuth> | ResourceTemplateDefinitionWithoutCallback | FlatResourceTemplateDefinition<HasOAuth> | FlatResourceTemplateDefinitionWithoutCallback, callback: (uri: URL, params: Record<string, any>) => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>): ResourceTemplateServerContext;
135
+ export declare function registerResourceTemplate<HasOAuth extends boolean = false>(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition<HasOAuth> | ResourceTemplateDefinitionWithoutCallback | FlatResourceTemplateDefinition<HasOAuth> | FlatResourceTemplateDefinitionWithoutCallback, callback: (uri: URL, params: Record<string, any>, ctx: EnhancedResourceContext<HasOAuth>) => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>): ResourceTemplateServerContext;
116
136
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,iCAAiC,EACjC,yCAAyC,EAC1C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAGpE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,EACD,YAAY,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAC9C,IAAI,CAAC;KACT,CAAC;IACF,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,qBAAqB,EAC3B,kBAAkB,EAAE,kBAAkB,GAAG,iCAAiC,EAC1E,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,qBAAqB,CA+EvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE;QACN,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,GAAG,EACb,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GACvC,IAAI,CAAC;KACT,CAAC;IACF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,6BAA6B,EACnC,0BAA0B,EACtB,0BAA0B,GAC1B,yCAAyC,EAC7C,QAAQ,CAAC,EAAE,4BAA4B,GACtC,6BAA6B,CAkG/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAEpB,iCAAiC,EACjC,yCAAyC,EACzC,8BAA8B,EAC9B,6CAA6C,EAC7C,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,EACD,YAAY,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAC9C,IAAI,CAAC;KACT,CAAC;IACF,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,qBAAqB,EAC3B,kBAAkB,EAAE,kBAAkB,GAAG,iCAAiC,EAC1E,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,qBAAqB,CA+EvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE;QACN,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,GAAG,EACb,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GACvC,IAAI,CAAC;KACT,CAAC;IACF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAGH,wBAAgB,wBAAwB,CAAC,QAAQ,SAAS,OAAO,GAAG,KAAK,EACvE,IAAI,EAAE,6BAA6B,EACnC,0BAA0B,EACtB,0BAA0B,CAAC,QAAQ,CAAC,GACpC,yCAAyC,GACzC,8BAA8B,CAAC,QAAQ,CAAC,GACxC,6CAA6C,EACjD,QAAQ,EAAE,CACR,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAC,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAC3E,6BAA6B,CAAC;AAGjC,wBAAgB,wBAAwB,CAAC,QAAQ,SAAS,OAAO,GAAG,KAAK,EACvE,IAAI,EAAE,6BAA6B,EACnC,0BAA0B,EACtB,0BAA0B,CAAC,QAAQ,CAAC,GACpC,yCAAyC,GACzC,8BAA8B,CAAC,QAAQ,CAAC,GACxC,6CAA6C,EACjD,QAAQ,EAAE,CACR,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,GAAG,EAAE,uBAAuB,CAAC,QAAQ,CAAC,KACnC,OAAO,CAAC,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAC3E,6BAA6B,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Resource Subscription Management
3
+ *
4
+ * Handles subscription tracking and notifications for MCP resource updates.
5
+ * Implements the MCP resources/subscribe and resources/unsubscribe protocol.
6
+ */
7
+ import type { McpServer as OfficialMcpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ import type { SessionData } from "../sessions/index.js";
9
+ /**
10
+ * Subscription manager for tracking resource subscriptions across sessions
11
+ */
12
+ export declare class ResourceSubscriptionManager {
13
+ /**
14
+ * Tracks resource subscriptions per session
15
+ * Map structure: uri -> Set<sessionId>
16
+ */
17
+ private subscriptions;
18
+ /**
19
+ * Register subscription handlers with an MCP server instance
20
+ *
21
+ * @param server - The native MCP server instance
22
+ * @param sessions - Map of active sessions
23
+ */
24
+ registerHandlers(server: OfficialMcpServer, sessions: Map<string, SessionData>): void;
25
+ /**
26
+ * Get session ID from request context or sessions map
27
+ *
28
+ * @param sessions - Map of active sessions
29
+ * @param server - The server instance to match against
30
+ * @returns The session ID, or undefined if not found
31
+ */
32
+ private getSessionIdFromContext;
33
+ /**
34
+ * Notify subscribed clients that a resource has been updated
35
+ *
36
+ * This method sends a `notifications/resources/updated` notification to all
37
+ * sessions that have subscribed to the specified resource URI.
38
+ *
39
+ * @param uri - The URI of the resource that changed
40
+ * @param sessions - Map of active sessions
41
+ * @returns Promise that resolves when all notifications have been sent
42
+ */
43
+ notifyResourceUpdated(uri: string, sessions: Map<string, SessionData>): Promise<void>;
44
+ /**
45
+ * Clean up resource subscriptions for a closed session
46
+ *
47
+ * This method is called automatically when a session is closed to remove
48
+ * all resource subscriptions associated with that session.
49
+ *
50
+ * @param sessionId - The session ID to clean up
51
+ */
52
+ cleanupSession(sessionId: string): void;
53
+ }
54
+ //# sourceMappingURL=subscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAK9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAkC;IAEvD;;;;;OAKG;IACI,gBAAgB,CACrB,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACjC,IAAI;IAgEP;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;;;;;;;OASG;IACU,qBAAqB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;;;OAOG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAW/C"}
@@ -29,6 +29,10 @@ export interface SessionData {
29
29
  expressRes?: any;
30
30
  /** Hono context for direct response access */
31
31
  honoContext?: Context;
32
+ /** Minimum log level for filtering log messages (RFC 5424 levels) */
33
+ logLevel?: string;
34
+ /** Client capabilities advertised during initialization */
35
+ clientCapabilities?: Record<string, any>;
32
36
  }
33
37
  /**
34
38
  * Start idle session cleanup interval
@@ -36,6 +40,10 @@ export interface SessionData {
36
40
  * Monitors sessions and removes them if they've been inactive for too long.
37
41
  * Note: This only cleans up our session metadata. The transport manages
38
42
  * its own session state.
43
+ *
44
+ * @param sessions - Map of active sessions
45
+ * @param idleTimeoutMs - Idle timeout in milliseconds
46
+ * @param mcpServerInstance - Optional MCP server instance for cleanup callbacks
39
47
  */
40
- export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number): NodeJS.Timeout | undefined;
48
+ export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number, mcpServerInstance?: any): NodeJS.Timeout | undefined;
41
49
  //# sourceMappingURL=session-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,SAAS,EAAE,GAAG,CAAC;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,OAAO,GAAG,SAAS,CAwB5B"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,SAAS,EAAE,GAAG,CAAC;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,aAAa,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE,GAAG,GACtB,MAAM,CAAC,OAAO,GAAG,SAAS,CA0B5B"}
@@ -8,21 +8,8 @@ import type { z } from "zod";
8
8
  import type { Context } from "hono";
9
9
  import type { CreateMessageRequest, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult } from "@modelcontextprotocol/sdk/types.js";
10
10
  import type { SampleOptions, ElicitOptions, ElicitFormParams, ElicitUrlParams } from "../types/index.js";
11
- /**
12
- * Session data for tool context
13
- */
14
- export interface SessionData {
15
- transport: any;
16
- lastAccessedAt: number;
17
- context?: Context;
18
- progressToken?: number;
19
- sendNotification?: (notification: {
20
- method: string;
21
- params: Record<string, any>;
22
- }) => Promise<void>;
23
- expressRes?: any;
24
- honoContext?: Context;
25
- }
11
+ import type { SessionData } from "../sessions/session-manager.js";
12
+ export type { SessionData };
26
13
  /**
27
14
  * Result of session context lookup
28
15
  */
@@ -88,10 +75,36 @@ export declare function createReportProgressMethod(progressToken: number | undef
88
75
  params: Record<string, any>;
89
76
  }) => Promise<void>) | undefined): ((progress: number, total?: number, message?: string) => Promise<void>) | undefined;
90
77
  /**
91
- * Create enhanced context with sample, elicit, and reportProgress methods
78
+ * RFC 5424 log levels with numeric values for comparison
79
+ */
80
+ declare const LOG_LEVELS: {
81
+ readonly debug: 0;
82
+ readonly info: 1;
83
+ readonly notice: 2;
84
+ readonly warning: 3;
85
+ readonly error: 4;
86
+ readonly critical: 5;
87
+ readonly alert: 6;
88
+ readonly emergency: 7;
89
+ };
90
+ type LogLevel = keyof typeof LOG_LEVELS;
91
+ /**
92
+ * Valid log levels according to RFC 5424
93
+ */
94
+ export declare const VALID_LOG_LEVELS: readonly LogLevel[];
95
+ /**
96
+ * Check if a log level is valid
97
+ */
98
+ export declare function isValidLogLevel(level: string): level is LogLevel;
99
+ /**
100
+ * Check if a message level meets the minimum log level threshold
101
+ */
102
+ export declare function shouldLogMessage(messageLevel: string, minLevel: string | undefined): boolean;
103
+ /**
104
+ * Create enhanced context with sample, elicit, reportProgress, log, client, session, and notification methods
92
105
  */
93
106
  export declare function createEnhancedContext(baseContext: Context | undefined, createMessage: (params: CreateMessageRequest["params"], options?: any) => Promise<CreateMessageResult>, elicitInput: (params: any, options?: any) => Promise<ElicitResult>, progressToken: number | undefined, sendNotification: ((notification: {
94
107
  method: string;
95
108
  params: Record<string, any>;
96
- }) => Promise<void>) | undefined): any;
109
+ }) => Promise<void>) | undefined, minLogLevel?: string, clientCapabilities?: Record<string, any>, sessionId?: string, sessions?: Map<string, SessionData>): any;
97
110
  //# sourceMappingURL=tool-execution-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-execution-helpers.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool-execution-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-execution-helpers.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool-execution-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registration.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool-registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,OAAO,GAAG,KAAK;IAClE,mCAAmC;IACnC,MAAM,EAAE;QACN,YAAY,EAAE,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,KAChD,IAAI,CAAC;QACV,MAAM,EAAE;YACN,aAAa,EAAE,CACb,MAAM,EAAE,GAAG,EACX,OAAO,CAAC,EAAE,GAAG,KACV,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAClC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;SACpE,CAAC;KACH,CAAC;IACF,mBAAmB;IACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,4BAA4B;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mCAAmC;IACnC,wBAAwB,CACtB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,uCAAuC;IACvC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,kCAAkC;IAClC,aAAa,CACX,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAC3C,QAAQ,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAE3C,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,CAAC,EACjB,QAAQ,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GACtE,QAAQ,CA6EV"}
1
+ {"version":3,"file":"tool-registration.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool-registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,OAAO,GAAG,KAAK;IAClE,mCAAmC;IACnC,MAAM,EAAE;QACN,YAAY,EAAE,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,KAChD,IAAI,CAAC;QACV,MAAM,EAAE;YACN,aAAa,EAAE,CACb,MAAM,EAAE,GAAG,EACX,OAAO,CAAC,EAAE,GAAG,KACV,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAClC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;SACpE,CAAC;KACH,CAAC;IACF,mBAAmB;IACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,4BAA4B;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mCAAmC;IACnC,wBAAwB,CACtB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,uCAAuC;IACvC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,kCAAkC;IAClC,aAAa,CACX,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAC3C,QAAQ,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAE3C,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,CAAC,EACjB,QAAQ,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GACtE,QAAQ,CA+EV"}
@@ -47,10 +47,15 @@ export interface ServerConfig {
47
47
  * @example
48
48
  * ```typescript
49
49
  * // Development: No need to set (allows all origins)
50
- * const server = createMCPServer('my-server');
50
+ * const server = new MCPServer({
51
+ * name: 'my-server',
52
+ * version: '1.0.0'
53
+ * });
51
54
  *
52
55
  * // Production: Explicitly set allowed origins
53
- * const server = createMCPServer('my-server', {
56
+ * const server = new MCPServer({
57
+ * name: 'my-server',
58
+ * version: '1.0.0',
54
59
  * allowedOrigins: [
55
60
  * 'https://myapp.com',
56
61
  * 'https://app.myapp.com'
@@ -82,10 +87,15 @@ export interface ServerConfig {
82
87
  * @example
83
88
  * ```typescript
84
89
  * // Default behavior (compatible with ChatGPT and other non-compliant clients)
85
- * const server = createMCPServer('my-server');
90
+ * const server = new MCPServer({
91
+ * name: 'my-server',
92
+ * version: '1.0.0'
93
+ * });
86
94
  *
87
95
  * // Use strict MCP spec behavior (requires compliant clients)
88
- * const server = createMCPServer('my-server', {
96
+ * const server = new MCPServer({
97
+ * name: 'my-server',
98
+ * version: '1.0.0',
89
99
  * autoCreateSessionOnInvalidId: false
90
100
  * });
91
101
  * ```
@@ -108,10 +118,12 @@ export interface ServerConfig {
108
118
  *
109
119
  * @example
110
120
  * ```typescript
111
- * import { createMCPServer, oauthSupabaseProvider } from 'mcp-use/server';
121
+ * import { MCPServer, oauthSupabaseProvider } from 'mcp-use/server';
112
122
  *
113
123
  * // Supabase OAuth
114
- * const server = createMCPServer('my-server', {
124
+ * const server = new MCPServer({
125
+ * name: 'my-server',
126
+ * version: '1.0.0',
115
127
  * oauth: oauthSupabaseProvider({
116
128
  * projectId: 'my-project',
117
129
  * jwtSecret: process.env.SUPABASE_JWT_SECRET
@@ -119,7 +131,9 @@ export interface ServerConfig {
119
131
  * });
120
132
  *
121
133
  * // Auth0 OAuth
122
- * const server = createMCPServer('my-server', {
134
+ * const server = new MCPServer({
135
+ * name: 'my-server',
136
+ * version: '1.0.0',
123
137
  * oauth: oauthAuth0Provider({
124
138
  * domain: 'my-tenant.auth0.com',
125
139
  * audience: 'https://my-api.com'
@@ -127,7 +141,9 @@ export interface ServerConfig {
127
141
  * });
128
142
  *
129
143
  * // Keycloak OAuth
130
- * const server = createMCPServer('my-server', {
144
+ * const server = new MCPServer({
145
+ * name: 'my-server',
146
+ * version: '1.0.0',
131
147
  * oauth: oauthKeycloakProvider({
132
148
  * serverUrl: 'https://keycloak.example.com',
133
149
  * realm: 'my-realm',
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/server/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAC5D,CAAC,CAAC,CAAC,CAAC,EACJ,SAAS,CACV;CACF,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GACjD,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/server/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAC5D,CAAC,CAAC,CAAC,CAAC,EACJ,SAAS,CACV;CACF,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GACjD,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}