mcp-use 1.9.1-canary.1 → 1.10.0-canary.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +9 -6
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/chunk-6EYDSXO6.js +942 -0
  4. package/dist/{chunk-D22NUQTL.js → chunk-BFSVTG6G.js} +213 -12
  5. package/dist/{chunk-33U4IA4N.js → chunk-BPP5XYP6.js} +99 -5
  6. package/dist/{chunk-3R5PDYIN.js → chunk-J75I2C26.js} +39 -11
  7. package/dist/{chunk-MUZ5WYE3.js → chunk-NBSNYHID.js} +22 -13
  8. package/dist/{chunk-U5BX3ISQ.js → chunk-NRALSDBH.js} +22 -408
  9. package/dist/{chunk-ZQUCGISK.js → chunk-PL645KUX.js} +21 -5
  10. package/dist/{chunk-QREDNTLS.js → chunk-ZMA4JG4C.js} +1 -1
  11. package/dist/index.cjs +854 -122
  12. package/dist/index.d.ts +6 -4
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +57 -23
  15. package/dist/src/adapters/langchain_adapter.d.ts +1 -1
  16. package/dist/src/adapters/langchain_adapter.d.ts.map +1 -1
  17. package/dist/src/agents/index.cjs +2071 -1620
  18. package/dist/src/agents/index.js +4 -4
  19. package/dist/src/agents/mcp_agent.d.ts +5 -0
  20. package/dist/src/agents/mcp_agent.d.ts.map +1 -1
  21. package/dist/src/auth/browser-provider.d.ts +2 -2
  22. package/dist/src/auth/browser-provider.d.ts.map +1 -1
  23. package/dist/src/auth/callback.d.ts.map +1 -1
  24. package/dist/src/auth/index.cjs +39 -11
  25. package/dist/src/auth/index.js +1 -1
  26. package/dist/src/auth/types.d.ts +1 -1
  27. package/dist/src/auth/types.d.ts.map +1 -1
  28. package/dist/src/browser.cjs +3299 -2601
  29. package/dist/src/browser.d.ts +2 -1
  30. package/dist/src/browser.d.ts.map +1 -1
  31. package/dist/src/browser.js +10 -5
  32. package/dist/src/client/browser.d.ts +5 -0
  33. package/dist/src/client/browser.d.ts.map +1 -1
  34. package/dist/src/client/connectors/codeMode.d.ts +1 -1
  35. package/dist/src/client/connectors/codeMode.d.ts.map +1 -1
  36. package/dist/src/client/executors/base.d.ts +1 -1
  37. package/dist/src/client/executors/base.d.ts.map +1 -1
  38. package/dist/src/client/prompts.cjs +13 -4
  39. package/dist/src/client/prompts.js +3 -2
  40. package/dist/src/client.d.ts +7 -1
  41. package/dist/src/client.d.ts.map +1 -1
  42. package/dist/src/connectors/base.d.ts +56 -6
  43. package/dist/src/connectors/base.d.ts.map +1 -1
  44. package/dist/src/connectors/http.d.ts.map +1 -1
  45. package/dist/src/connectors/stdio.d.ts.map +1 -1
  46. package/dist/src/connectors/websocket.d.ts +1 -1
  47. package/dist/src/connectors/websocket.d.ts.map +1 -1
  48. package/dist/src/oauth-helper.d.ts.map +1 -1
  49. package/dist/src/react/WidgetControls.d.ts.map +1 -1
  50. package/dist/src/react/index.cjs +1098 -47
  51. package/dist/src/react/index.d.ts +1 -1
  52. package/dist/src/react/index.d.ts.map +1 -1
  53. package/dist/src/react/index.js +5 -5
  54. package/dist/src/react/types.d.ts +1 -1
  55. package/dist/src/react/types.d.ts.map +1 -1
  56. package/dist/src/react/useMcp.d.ts.map +1 -1
  57. package/dist/src/server/endpoints/mount-mcp.d.ts +4 -1
  58. package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -1
  59. package/dist/src/server/index.cjs +1723 -274
  60. package/dist/src/server/index.d.ts +3 -2
  61. package/dist/src/server/index.d.ts.map +1 -1
  62. package/dist/src/server/index.js +488 -245
  63. package/dist/src/server/mcp-server.d.ts +77 -27
  64. package/dist/src/server/mcp-server.d.ts.map +1 -1
  65. package/dist/src/server/oauth/middleware.d.ts.map +1 -1
  66. package/dist/src/server/oauth/providers/auth0.d.ts +1 -1
  67. package/dist/src/server/oauth/providers/auth0.d.ts.map +1 -1
  68. package/dist/src/server/oauth/providers/custom.d.ts +4 -2
  69. package/dist/src/server/oauth/providers/custom.d.ts.map +1 -1
  70. package/dist/src/server/oauth/providers/keycloak.d.ts +1 -1
  71. package/dist/src/server/oauth/providers/keycloak.d.ts.map +1 -1
  72. package/dist/src/server/oauth/providers/supabase.d.ts +1 -1
  73. package/dist/src/server/oauth/providers/supabase.d.ts.map +1 -1
  74. package/dist/src/server/oauth/providers/types.d.ts +9 -5
  75. package/dist/src/server/oauth/providers/types.d.ts.map +1 -1
  76. package/dist/src/server/oauth/providers.d.ts +27 -9
  77. package/dist/src/server/oauth/providers.d.ts.map +1 -1
  78. package/dist/src/server/oauth/setup.d.ts +5 -4
  79. package/dist/src/server/oauth/setup.d.ts.map +1 -1
  80. package/dist/src/server/oauth/utils.d.ts +3 -2
  81. package/dist/src/server/oauth/utils.d.ts.map +1 -1
  82. package/dist/src/server/prompts/conversion.d.ts +1 -1
  83. package/dist/src/server/prompts/conversion.d.ts.map +1 -1
  84. package/dist/src/server/prompts/index.d.ts +6 -5
  85. package/dist/src/server/prompts/index.d.ts.map +1 -1
  86. package/dist/src/server/resources/conversion.d.ts +1 -1
  87. package/dist/src/server/resources/conversion.d.ts.map +1 -1
  88. package/dist/src/server/resources/index.d.ts +44 -25
  89. package/dist/src/server/resources/index.d.ts.map +1 -1
  90. package/dist/src/server/resources/subscriptions.d.ts +1 -1
  91. package/dist/src/server/resources/subscriptions.d.ts.map +1 -1
  92. package/dist/src/server/sessions/session-manager.d.ts +11 -5
  93. package/dist/src/server/sessions/session-manager.d.ts.map +1 -1
  94. package/dist/src/server/tools/tool-execution-helpers.d.ts +31 -8
  95. package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -1
  96. package/dist/src/server/tools/tool-registration.d.ts +21 -7
  97. package/dist/src/server/tools/tool-registration.d.ts.map +1 -1
  98. package/dist/src/server/types/common.d.ts +25 -9
  99. package/dist/src/server/types/common.d.ts.map +1 -1
  100. package/dist/src/server/types/index.d.ts +3 -3
  101. package/dist/src/server/types/index.d.ts.map +1 -1
  102. package/dist/src/server/types/prompt.d.ts +3 -2
  103. package/dist/src/server/types/prompt.d.ts.map +1 -1
  104. package/dist/src/server/types/resource.d.ts +60 -10
  105. package/dist/src/server/types/resource.d.ts.map +1 -1
  106. package/dist/src/server/types/tool-context.d.ts +116 -1
  107. package/dist/src/server/types/tool-context.d.ts.map +1 -1
  108. package/dist/src/server/types/tool.d.ts +43 -2
  109. package/dist/src/server/types/tool.d.ts.map +1 -1
  110. package/dist/src/server/types/widget.d.ts +11 -1
  111. package/dist/src/server/types/widget.d.ts.map +1 -1
  112. package/dist/src/server/utils/response-helpers.d.ts +17 -29
  113. package/dist/src/server/utils/response-helpers.d.ts.map +1 -1
  114. package/dist/src/server/widgets/index.d.ts +3 -3
  115. package/dist/src/server/widgets/index.d.ts.map +1 -1
  116. package/dist/src/server/widgets/mount-widgets-dev.d.ts.map +1 -1
  117. package/dist/src/server/widgets/ui-resource-registration.d.ts +13 -25
  118. package/dist/src/server/widgets/ui-resource-registration.d.ts.map +1 -1
  119. package/dist/src/server/widgets/widget-helpers.d.ts +11 -6
  120. package/dist/src/server/widgets/widget-helpers.d.ts.map +1 -1
  121. package/dist/src/server/widgets/widget-types.d.ts +3 -3
  122. package/dist/src/server/widgets/widget-types.d.ts.map +1 -1
  123. package/dist/src/session.d.ts +372 -2
  124. package/dist/src/session.d.ts.map +1 -1
  125. package/dist/src/task_managers/sse.d.ts +2 -2
  126. package/dist/src/task_managers/sse.d.ts.map +1 -1
  127. package/dist/src/task_managers/stdio.d.ts +2 -2
  128. package/dist/src/task_managers/stdio.d.ts.map +1 -1
  129. package/dist/src/task_managers/streamable_http.d.ts +2 -2
  130. package/dist/src/task_managers/streamable_http.d.ts.map +1 -1
  131. package/dist/src/telemetry/events.d.ts +219 -0
  132. package/dist/src/telemetry/events.d.ts.map +1 -1
  133. package/dist/src/telemetry/index.d.ts +2 -2
  134. package/dist/src/telemetry/index.d.ts.map +1 -1
  135. package/dist/src/telemetry/telemetry.d.ts +56 -1
  136. package/dist/src/telemetry/telemetry.d.ts.map +1 -1
  137. package/dist/src/telemetry/utils.d.ts +1 -1
  138. package/dist/src/telemetry/utils.d.ts.map +1 -1
  139. package/dist/src/version.d.ts +8 -0
  140. package/dist/src/version.d.ts.map +1 -0
  141. package/dist/{tool-execution-helpers-BQJTPWPN.js → tool-execution-helpers-XFVBSRXM.js} +3 -2
  142. package/dist/tsup.config.d.ts.map +1 -1
  143. package/package.json +6 -5
  144. package/dist/chunk-MTHLLDCX.js +0 -97
@@ -1,7 +1,7 @@
1
- import type { ResourceDefinition, ReadResourceCallback, ReadResourceTemplateCallback, ResourceDefinitionWithoutCallback, ResourceTemplateDefinitionWithoutCallback } from "../types/index.js";
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";
1
+ import type { ResourceDefinition, ReadResourceCallback, ResourceDefinitionWithoutCallback, ResourceTemplateDefinitionWithoutCallback, FlatResourceTemplateDefinition, FlatResourceTemplateDefinitionWithoutCallback, ResourceTemplateDefinition, EnhancedResourceContext } from "../types/index.js";
2
+ import { ResourceTemplate } from "@mcp-use/modelcontextprotocol-sdk/server/mcp.js";
3
+ import type { ReadResourceResult, CallToolResult } from "@mcp-use/modelcontextprotocol-sdk/types.js";
4
+ import type { TypedCallToolResult } from "../utils/response-helpers.js";
5
5
  export { ResourceSubscriptionManager } from "./subscriptions.js";
6
6
  export interface ResourceServerContext {
7
7
  server: {
@@ -66,7 +66,7 @@ export interface ResourceServerContext {
66
66
  export declare function registerResource(this: ResourceServerContext, resourceDefinition: ResourceDefinition | ResourceDefinitionWithoutCallback, callback?: ReadResourceCallback): ResourceServerContext;
67
67
  export interface ResourceTemplateServerContext {
68
68
  server: {
69
- registerResource(name: string, template: ResourceTemplate, metadata: any, readCallback: (uri: URL) => Promise<any>): void;
69
+ registerResource(name: string, template: ResourceTemplate, metadata: Record<string, unknown>, readCallback: (uri: URL) => Promise<ReadResourceResult>): void;
70
70
  };
71
71
  registeredResources: string[];
72
72
  parseTemplateUri(uriTemplate: string, uri: string): Record<string, string>;
@@ -78,40 +78,59 @@ export interface ResourceTemplateServerContext {
78
78
  * patterns with placeholders that can be filled in at request time, allowing dynamic
79
79
  * resource generation based on parameters.
80
80
  *
81
- * Supports two patterns:
82
- * 1. Old API: Single object with readCallback property
83
- * 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.)
84
92
  *
85
93
  * @param resourceTemplateDefinition - Configuration object for the resource template
86
94
  * @param resourceTemplateDefinition.name - Unique identifier for the template
87
- * @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)
88
97
  * @param callback - Optional separate callback function (new API pattern)
89
98
  * @returns The server instance for method chaining
90
99
  *
91
100
  * @example
92
101
  * ```typescript
93
- * // New API: Using response helpers (recommended)
94
- * server.resourceTemplate(
95
- * { name: 'user', resourceTemplate: { uriTemplate: 'user://{id}' } },
96
- * async (uri, { id }) => object(await getUserData(id))
97
- * )
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)))
98
108
  *
99
- * // 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)
100
125
  * server.resourceTemplate({
101
126
  * name: 'user-profile',
102
127
  * resourceTemplate: {
103
128
  * uriTemplate: 'user://{userId}/profile',
104
129
  * mimeType: 'application/json'
105
- * },
106
- * readCallback: async (uri, params) => ({
107
- * contents: [{
108
- * uri: uri.toString(),
109
- * mimeType: 'application/json',
110
- * text: JSON.stringify({ userId: params.userId })
111
- * }]
112
- * })
113
- * })
130
+ * }
131
+ * }, async (uri, { userId }) => object(await getUserData(userId)))
114
132
  * ```
115
133
  */
116
- 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;
117
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;AAIpE,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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":"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"}
@@ -4,7 +4,7 @@
4
4
  * Handles subscription tracking and notifications for MCP resource updates.
5
5
  * Implements the MCP resources/subscribe and resources/unsubscribe protocol.
6
6
  */
7
- import type { McpServer as OfficialMcpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
7
+ import type { McpServer as OfficialMcpServer } from "@mcp-use/modelcontextprotocol-sdk/server/mcp.js";
8
8
  import type { SessionData } from "../sessions/index.js";
9
9
  /**
10
10
  * Subscription manager for tracking resource subscriptions across sessions
@@ -1 +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"}
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,iDAAiD,CAAC;AAKtG,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"}
@@ -5,15 +5,17 @@
5
5
  * The native SDK transport handles session lifecycle internally.
6
6
  */
7
7
  import type { Context } from "hono";
8
+ import type { Transport } from "@mcp-use/modelcontextprotocol-sdk/shared/transport.js";
9
+ import type { McpServer } from "@mcp-use/modelcontextprotocol-sdk/server/mcp.js";
8
10
  /**
9
11
  * Session data stored for each active MCP session
10
12
  * Following official SDK pattern - each session has its own transport and server
11
13
  */
12
14
  export interface SessionData {
13
15
  /** Reference to this session's transport instance */
14
- transport: any;
16
+ transport: Transport;
15
17
  /** Reference to this session's server instance */
16
- server?: any;
18
+ server?: McpServer;
17
19
  /** Timestamp of last activity for idle timeout tracking */
18
20
  lastAccessedAt: number;
19
21
  /** Hono context for this session's current request */
@@ -23,14 +25,16 @@ export interface SessionData {
23
25
  /** Function to send notifications to the client */
24
26
  sendNotification?: (notification: {
25
27
  method: string;
26
- params: Record<string, any>;
28
+ params: Record<string, unknown>;
27
29
  }) => Promise<void>;
28
30
  /** Express-like response object for notifications */
29
- expressRes?: any;
31
+ expressRes?: Response | Record<string, unknown>;
30
32
  /** Hono context for direct response access */
31
33
  honoContext?: Context;
32
34
  /** Minimum log level for filtering log messages (RFC 5424 levels) */
33
35
  logLevel?: string;
36
+ /** Client capabilities advertised during initialization */
37
+ clientCapabilities?: Record<string, unknown>;
34
38
  }
35
39
  /**
36
40
  * Start idle session cleanup interval
@@ -43,5 +47,7 @@ export interface SessionData {
43
47
  * @param idleTimeoutMs - Idle timeout in milliseconds
44
48
  * @param mcpServerInstance - Optional MCP server instance for cleanup callbacks
45
49
  */
46
- export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number, mcpServerInstance?: any): NodeJS.Timeout | undefined;
50
+ export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number, mcpServerInstance?: {
51
+ cleanupSessionSubscriptions?: (sessionId: string) => void;
52
+ }): NodeJS.Timeout | undefined;
47
53
  //# 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;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;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"}
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;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAEjF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,SAAS,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,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,OAAO,CAAC,CAAC;KACjC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,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,OAAO,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,aAAa,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE;IAClB,2BAA2B,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D,GACA,MAAM,CAAC,OAAO,GAAG,SAAS,CA0B5B"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { z } from "zod";
8
8
  import type { Context } from "hono";
9
- import type { CreateMessageRequest, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult } from "@modelcontextprotocol/sdk/types.js";
9
+ import type { CreateMessageRequest, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult, ElicitRequest } from "@mcp-use/modelcontextprotocol-sdk/types.js";
10
10
  import type { SampleOptions, ElicitOptions, ElicitFormParams, ElicitUrlParams } from "../types/index.js";
11
11
  import type { SessionData } from "../sessions/session-manager.js";
12
12
  export type { SessionData };
@@ -56,9 +56,11 @@ export declare function parseElicitParams(messageOrParams: string | ElicitFormPa
56
56
  /**
57
57
  * Create the sample() method for enhanced context
58
58
  */
59
- export declare function createSampleMethod(createMessage: (params: CreateMessageRequest["params"], options?: any) => Promise<CreateMessageResult>, progressToken: number | undefined, sendNotification: ((notification: {
59
+ export declare function createSampleMethod(createMessage: (params: CreateMessageRequest["params"], options?: {
60
+ timeout?: number;
61
+ }) => Promise<CreateMessageResult>, progressToken: number | undefined, sendNotification: ((notification: {
60
62
  method: string;
61
- params: Record<string, any>;
63
+ params: Record<string, unknown>;
62
64
  }) => Promise<void>) | undefined): {
63
65
  (prompt: string, options?: SampleOptions): Promise<CreateMessageResult>;
64
66
  (sampleParams: CreateMessageRequest["params"], options?: SampleOptions): Promise<CreateMessageResult>;
@@ -66,7 +68,9 @@ export declare function createSampleMethod(createMessage: (params: CreateMessage
66
68
  /**
67
69
  * Create the elicit() method for enhanced context
68
70
  */
69
- export declare function createElicitMethod(elicitInput: (params: any, options?: any) => Promise<ElicitResult>): (messageOrParams: string | ElicitFormParams | ElicitUrlParams, schemaOrUrlOrOptions?: z.ZodObject<any> | string | ElicitOptions, maybeOptions?: ElicitOptions) => Promise<ElicitResult>;
71
+ export declare function createElicitMethod(elicitInput: (params: ElicitRequest["params"], options?: {
72
+ timeout?: number;
73
+ }) => Promise<ElicitResult>): (messageOrParams: string | ElicitFormParams | ElicitUrlParams, schemaOrUrlOrOptions?: z.ZodObject<any> | string | ElicitOptions, maybeOptions?: ElicitOptions) => Promise<ElicitResult>;
70
74
  /**
71
75
  * Create the reportProgress() method for enhanced context
72
76
  */
@@ -101,10 +105,29 @@ export declare function isValidLogLevel(level: string): level is LogLevel;
101
105
  */
102
106
  export declare function shouldLogMessage(messageLevel: string, minLevel: string | undefined): boolean;
103
107
  /**
104
- * Create enhanced context with sample, elicit, reportProgress, and log methods
108
+ * Create enhanced context with sample, elicit, reportProgress, log, client, session, and notification methods
105
109
  */
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: {
110
+ export declare function createEnhancedContext(baseContext: Context | undefined, createMessage: (params: CreateMessageRequest["params"], options?: {
111
+ timeout?: number;
112
+ }) => Promise<CreateMessageResult>, elicitInput: (params: ElicitRequest["params"], options?: {
113
+ timeout?: number;
114
+ }) => Promise<ElicitResult>, progressToken: number | undefined, sendNotification: ((notification: {
107
115
  method: string;
108
- params: Record<string, any>;
109
- }) => Promise<void>) | undefined, minLogLevel?: string): any;
116
+ params: Record<string, unknown>;
117
+ }) => Promise<void>) | undefined, minLogLevel?: string, clientCapabilities?: Record<string, unknown>, sessionId?: string, sessions?: Map<string, SessionData>): Context & {
118
+ sample: ReturnType<typeof createSampleMethod>;
119
+ elicit: ReturnType<typeof createElicitMethod>;
120
+ reportProgress: (params: {
121
+ progress: number;
122
+ total?: number;
123
+ }) => Promise<void>;
124
+ log: (level: string, data: unknown, logger?: string) => Promise<void>;
125
+ client: {
126
+ capabilities?: Record<string, unknown>;
127
+ };
128
+ session: {
129
+ id?: string;
130
+ };
131
+ sendNotification: typeof sendNotification;
132
+ };
110
133
  //# 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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"}
@@ -5,8 +5,8 @@
5
5
  * Tools are functions that can be called by clients with parameters.
6
6
  */
7
7
  import type { z } from "zod";
8
- import type { CreateMessageRequest, CreateMessageResult, ElicitResult } from "@modelcontextprotocol/sdk/types.js";
9
- import type { ToolDefinition, ToolCallback, InferToolInput, InferToolOutput } from "../types/index.js";
8
+ import type { CreateMessageRequest, CreateMessageResult, ElicitResult, CallToolResult, ElicitRequest } from "@mcp-use/modelcontextprotocol-sdk/types.js";
9
+ import type { ToolDefinition, ToolCallback, InferToolInput, InferToolOutput, InputDefinition } from "../types/index.js";
10
10
  import { type SessionData } from "./tool-execution-helpers.js";
11
11
  /**
12
12
  * Interface representing the server context needed for tool registration
@@ -14,10 +14,22 @@ import { type SessionData } from "./tool-execution-helpers.js";
14
14
  export interface ToolServerContext<_HasOAuth extends boolean = false> {
15
15
  /** Official MCP Server instance */
16
16
  server: {
17
- registerTool: (name: string, config: any, handler: (params: any, extra?: any) => Promise<any>) => void;
17
+ registerTool: (name: string, config: Record<string, unknown>, handler: (params: Record<string, unknown>, extra?: {
18
+ _meta?: {
19
+ progressToken?: number;
20
+ };
21
+ sendNotification?: (notification: {
22
+ method: string;
23
+ params: Record<string, unknown>;
24
+ }) => Promise<void>;
25
+ }) => Promise<CallToolResult>) => void;
18
26
  server: {
19
- createMessage: (params: any, options?: any) => Promise<CreateMessageResult>;
20
- elicitInput: (params: any, options?: any) => Promise<ElicitResult>;
27
+ createMessage: (params: CreateMessageRequest["params"], options?: {
28
+ timeout?: number;
29
+ }) => Promise<CreateMessageResult>;
30
+ elicitInput: (params: ElicitRequest["params"], options?: {
31
+ timeout?: number;
32
+ }) => Promise<ElicitResult>;
21
33
  };
22
34
  };
23
35
  /** Sessions map */
@@ -27,9 +39,11 @@ export interface ToolServerContext<_HasOAuth extends boolean = false> {
27
39
  /** Convert Zod schema to params */
28
40
  convertZodSchemaToParams(schema: z.ZodObject<any>): Record<string, z.ZodSchema>;
29
41
  /** Create params schema from inputs */
30
- createParamsSchema(inputs: any[]): Record<string, z.ZodSchema>;
42
+ createParamsSchema(inputs: InputDefinition[]): Record<string, z.ZodSchema>;
31
43
  /** Create message for sampling */
32
- createMessage(params: CreateMessageRequest["params"], options?: any): Promise<CreateMessageResult>;
44
+ createMessage(params: CreateMessageRequest["params"], options?: {
45
+ timeout?: number;
46
+ }): Promise<CreateMessageResult>;
33
47
  }
34
48
  /**
35
49
  * Define a tool that can be called by clients
@@ -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,EACZ,cAAc,EACd,aAAa,EACd,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,EACf,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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,CAAC,EAAE;YACN,KAAK,CAAC,EAAE;gBAAE,aAAa,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YACnC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE;gBAChC,MAAM,EAAE,MAAM,CAAC;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACjC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SACrB,KACE,OAAO,CAAC,cAAc,CAAC,KACzB,IAAI,CAAC;QACV,MAAM,EAAE;YACN,aAAa,EAAE,CACb,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,OAAO,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,KAC3B,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAClC,WAAW,EAAE,CACX,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,OAAO,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,KAC3B,OAAO,CAAC,YAAY,CAAC,CAAC;SAC5B,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,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3E,kCAAkC;IAClC,aAAa,CACX,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,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,CAwFV"}
@@ -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',
@@ -143,7 +159,7 @@ export interface InputDefinition {
143
159
  type: "string" | "number" | "boolean" | "object" | "array";
144
160
  description?: string;
145
161
  required?: boolean;
146
- default?: any;
162
+ default?: unknown;
147
163
  }
148
164
  /**
149
165
  * Annotations provide hints to clients about how to use or display resources
@@ -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,OAAO,CAAC;CACnB;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"}
@@ -4,7 +4,7 @@
4
4
  export { ServerConfig, InputDefinition, ResourceAnnotations, OptionalizeUndefinedFields, InferZodInput, } from "./common.js";
5
5
  export { McpContext } from "./context.js";
6
6
  export { ToolContext, SampleOptions, ElicitOptions, ElicitFormParams, ElicitUrlParams, } from "./tool-context.js";
7
- export { ReadResourceCallback, ReadResourceTemplateCallback, ResourceTemplateConfig, ResourceTemplateDefinition, ResourceTemplateDefinitionWithoutCallback, ResourceDefinition, ResourceDefinitionWithoutCallback, EnhancedResourceContext, UIResourceContent, WidgetProps, UIEncoding, RemoteDomFramework, UIResourceDefinition, ExternalUrlUIResource, RawHtmlUIResource, RemoteDomUIResource, AppsSdkUIResource, WidgetConfig, WidgetManifest, DiscoverWidgetsOptions, AppsSdkMetadata, AppsSdkToolMetadata, } from "./resource.js";
8
- export { ToolCallback, ToolCallbackWithContext, ToolDefinition, InferToolInput, InferToolOutput, EnhancedToolContext, } from "./tool.js";
9
- export { PromptCallback, PromptDefinition, PromptDefinitionWithoutCallback, InferPromptInput, EnhancedPromptContext, } from "./prompt.js";
7
+ export { ReadResourceCallback, ReadResourceTemplateCallback, ResourceTemplateConfig, ResourceTemplateDefinition, ResourceTemplateDefinitionWithoutCallback, FlatResourceTemplateDefinition, FlatResourceTemplateDefinitionWithoutCallback, ResourceDefinition, ResourceDefinitionWithoutCallback, EnhancedResourceContext, UIResourceContent, WidgetProps, UIEncoding, RemoteDomFramework, UIResourceDefinition, ExternalUrlUIResource, RawHtmlUIResource, RemoteDomUIResource, AppsSdkUIResource, WidgetConfig, WidgetManifest, DiscoverWidgetsOptions, AppsSdkMetadata, AppsSdkToolMetadata, } from "./resource.js";
8
+ export { ToolCallback, ToolCallbackWithContext, ToolDefinition, InferToolInput, InferToolOutput, EnhancedToolContext, ToolAnnotations, } from "./tool.js";
9
+ export { PromptCallback, PromptDefinition, PromptDefinitionWithoutCallback, InferPromptInput, EnhancedPromptContext, GetPromptResult, PromptResult, } from "./prompt.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,yCAAyC,EACzC,kBAAkB,EAClB,iCAAiC,EACjC,uBAAuB,EAEvB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,EAEtB,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,+BAA+B,EAC/B,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,yCAAyC,EACzC,8BAA8B,EAC9B,6CAA6C,EAC7C,kBAAkB,EAClB,iCAAiC,EACjC,uBAAuB,EAEvB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,EAEtB,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,+BAA+B,EAC/B,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC"}
@@ -1,8 +1,10 @@
1
- import type { GetPromptResult, CallToolResult } from "@modelcontextprotocol/sdk/types.js";
1
+ import type { GetPromptResult, CallToolResult } from "@mcp-use/modelcontextprotocol-sdk/types.js";
2
2
  import type { InputDefinition, OptionalizeUndefinedFields } from "./common.js";
3
3
  import type { z } from "zod";
4
4
  import type { TypedCallToolResult } from "../utils/response-helpers.js";
5
5
  import type { McpContext } from "./context.js";
6
+ export type { GetPromptResult };
7
+ export type { GetPromptResult as PromptResult };
6
8
  /**
7
9
  * Enhanced Prompt Context that provides access to request context.
8
10
  *
@@ -67,5 +69,4 @@ export interface PromptDefinitionWithoutCallback {
67
69
  /** Zod schema for input validation (preferred) */
68
70
  schema?: z.ZodObject<any>;
69
71
  }
70
- export {};
71
72
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../src/server/types/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,OAAO,GAAG,KAAK,IAChE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3D,CAAC,SAAS,CAAC,CAAC,UAAU,GACpB,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB;;;GAGG;AACH,UAAU,uBAAuB,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO;IAChE,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACnC,OAAO,CAAC,cAAc,GAAG,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;CACzE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CACxB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,SAAS,OAAO,GAAG,KAAK,IAC9B,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,SAAS,OAAO,GAAG,KAAK;IAEhC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,wDAAwD;IACxD,EAAE,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../src/server/types/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,YAAY,EAAE,eAAe,IAAI,YAAY,EAAE,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,OAAO,GAAG,KAAK,IAChE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3D,CAAC,SAAS,CAAC,CAAC,UAAU,GACpB,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB;;;GAGG;AACH,UAAU,uBAAuB,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO;IAChE,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACnC,OAAO,CAAC,cAAc,GAAG,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;CACzE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CACxB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,SAAS,OAAO,GAAG,KAAK,IAC9B,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,SAAS,OAAO,GAAG,KAAK;IAEhC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,wDAAwD;IACxD,EAAE,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CAC3B"}
@@ -1,5 +1,6 @@
1
- import type { ReadResourceResult, CallToolResult } from "@modelcontextprotocol/sdk/types.js";
1
+ import type { ReadResourceResult, CallToolResult } from "@mcp-use/modelcontextprotocol-sdk/types.js";
2
2
  import type { ResourceAnnotations } from "./common.js";
3
+ import type { ToolAnnotations } from "./tool.js";
3
4
  import type { AdaptersConfig } from "@mcp-ui/server";
4
5
  import type { TypedCallToolResult } from "../utils/response-helpers.js";
5
6
  import type { McpContext } from "./context.js";
@@ -88,13 +89,6 @@ export type EnhancedResourceContext<HasOAuth extends boolean = false> = McpConte
88
89
  interface ReadResourceCallbackBivariant<HasOAuth extends boolean> {
89
90
  bivarianceHack(ctx: EnhancedResourceContext<HasOAuth>): Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>;
90
91
  }
91
- /**
92
- * Helper interface for bivariant parameter checking on resource template callbacks.
93
- * @internal
94
- */
95
- interface ReadResourceTemplateCallbackBivariant<HasOAuth extends boolean> {
96
- bivarianceHack(uri: URL, params: Record<string, any>, ctx: EnhancedResourceContext<HasOAuth>): Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>;
97
- }
98
92
  /**
99
93
  * Callback type for reading a static resource.
100
94
  * Supports both CallToolResult (from helpers) and ReadResourceResult (old API).
@@ -106,9 +100,17 @@ export type ReadResourceCallback<HasOAuth extends boolean = false> = ReadResourc
106
100
  * Callback type for reading a resource template with parameters.
107
101
  * Supports both CallToolResult (from helpers) and ReadResourceResult (old API).
108
102
  *
103
+ * Supports multiple callback signatures:
104
+ * - `async () => ...` - No parameters
105
+ * - `async (uri: URL) => ...` - Just URI (required)
106
+ * - `async (uri: URL, params: Record<string, any>) => ...` - URI and parameters (both required)
107
+ * - `async (uri: URL, params: Record<string, any>, ctx: EnhancedResourceContext) => ...` - All parameters (all required)
108
+ *
109
+ * The implementation checks callback.length to determine which signature to use.
110
+ *
109
111
  * @template HasOAuth - Whether OAuth is configured (affects ctx.auth availability)
110
112
  */
111
- export type ReadResourceTemplateCallback<HasOAuth extends boolean = false> = ReadResourceTemplateCallbackBivariant<HasOAuth>["bivarianceHack"];
113
+ export type ReadResourceTemplateCallback<HasOAuth extends boolean = false> = (() => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>) | ((uri: URL) => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>) | ((uri: URL, params: Record<string, any>) => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>) | ((uri: URL, params: Record<string, any>, ctx: EnhancedResourceContext<HasOAuth>) => Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>);
112
114
  /**
113
115
  * Configuration for a resource template
114
116
  */
@@ -145,6 +147,50 @@ export interface ResourceTemplateDefinitionWithoutCallback {
145
147
  annotations?: ResourceAnnotations;
146
148
  _meta?: Record<string, unknown>;
147
149
  }
150
+ /**
151
+ * Flat resource template definition with readCallback (new API)
152
+ *
153
+ * Simplified structure where uriTemplate is directly on the definition object
154
+ * instead of nested in a resourceTemplate property.
155
+ */
156
+ export interface FlatResourceTemplateDefinition<HasOAuth extends boolean = false> {
157
+ /** Unique identifier for the template */
158
+ name: string;
159
+ /** URI template with {param} placeholders (e.g., "user://{userId}/profile") */
160
+ uriTemplate: string;
161
+ /** Optional title for the resource */
162
+ title?: string;
163
+ /** Optional description of the resource */
164
+ description?: string;
165
+ /** MIME type of the resource content */
166
+ mimeType?: string;
167
+ /** Optional annotations for the resource */
168
+ annotations?: ResourceAnnotations;
169
+ /** Async callback function that returns the resource content */
170
+ readCallback: ReadResourceTemplateCallback<HasOAuth>;
171
+ _meta?: Record<string, unknown>;
172
+ }
173
+ /**
174
+ * Flat resource template definition without readCallback (new API with separate callback parameter)
175
+ *
176
+ * Simplified structure where uriTemplate is directly on the definition object
177
+ * instead of nested in a resourceTemplate property.
178
+ */
179
+ export interface FlatResourceTemplateDefinitionWithoutCallback {
180
+ /** Unique identifier for the template */
181
+ name: string;
182
+ /** URI template with {param} placeholders (e.g., "user://{userId}/profile") */
183
+ uriTemplate: string;
184
+ /** Optional title for the resource */
185
+ title?: string;
186
+ /** Optional description of the resource */
187
+ description?: string;
188
+ /** MIME type of the resource content */
189
+ mimeType?: string;
190
+ /** Optional annotations for the resource */
191
+ annotations?: ResourceAnnotations;
192
+ _meta?: Record<string, unknown>;
193
+ }
148
194
  /**
149
195
  * Resource definition with readCallback (old API)
150
196
  */
@@ -191,7 +237,7 @@ export interface WidgetProps {
191
237
  [key: string]: {
192
238
  type: "string" | "number" | "boolean" | "object" | "array";
193
239
  required?: boolean;
194
- default?: any;
240
+ default?: unknown;
195
241
  description?: string;
196
242
  };
197
243
  }
@@ -221,6 +267,10 @@ interface BaseUIResourceDefinition {
221
267
  annotations?: ResourceAnnotations;
222
268
  /** Encoding for the resource content (defaults to 'text') */
223
269
  encoding?: UIEncoding;
270
+ /** Control automatic tool registration (defaults to true) */
271
+ exposeAsTool?: boolean;
272
+ /** Tool annotations when registered as a tool */
273
+ toolAnnotations?: ToolAnnotations;
224
274
  _meta?: Record<string, unknown>;
225
275
  }
226
276
  /**