mcp-use 1.9.0-canary.3 → 1.9.1-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/chunk-2EYAMIT3.js +76 -0
  3. package/dist/chunk-362PI25Z.js +110 -0
  4. package/dist/chunk-5URNFWCQ.js +25 -0
  5. package/dist/chunk-KHTTBIRP.js +280 -0
  6. package/dist/context-storage-TXQ4DVSS.js +11 -0
  7. package/dist/conversion-5MA4VY3B.js +7 -0
  8. package/dist/conversion-OTRZZBUU.js +7 -0
  9. package/dist/src/server/endpoints/index.d.ts +7 -0
  10. package/dist/src/server/endpoints/index.d.ts.map +1 -0
  11. package/dist/src/server/endpoints/mount-mcp.d.ts +21 -0
  12. package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -0
  13. package/dist/src/server/index.cjs +3738 -3940
  14. package/dist/src/server/index.d.ts +4 -3
  15. package/dist/src/server/index.d.ts.map +1 -1
  16. package/dist/src/server/index.js +3223 -3039
  17. package/dist/src/server/inspector/index.d.ts +5 -0
  18. package/dist/src/server/inspector/index.d.ts.map +1 -0
  19. package/dist/src/server/inspector/mount.d.ts +33 -0
  20. package/dist/src/server/inspector/mount.d.ts.map +1 -0
  21. package/dist/src/server/logging.d.ts.map +1 -1
  22. package/dist/src/server/mcp-server.d.ts +71 -780
  23. package/dist/src/server/mcp-server.d.ts.map +1 -1
  24. package/dist/src/server/notifications/index.d.ts +7 -0
  25. package/dist/src/server/notifications/index.d.ts.map +1 -0
  26. package/dist/src/server/notifications/notification-registration.d.ts +82 -0
  27. package/dist/src/server/notifications/notification-registration.d.ts.map +1 -0
  28. package/dist/src/server/oauth/index.d.ts +1 -0
  29. package/dist/src/server/oauth/index.d.ts.map +1 -1
  30. package/dist/src/server/oauth/setup.d.ts +28 -0
  31. package/dist/src/server/oauth/setup.d.ts.map +1 -0
  32. package/dist/src/server/prompts/conversion.d.ts +22 -0
  33. package/dist/src/server/prompts/conversion.d.ts.map +1 -0
  34. package/dist/src/server/prompts/index.d.ts +60 -0
  35. package/dist/src/server/prompts/index.d.ts.map +1 -0
  36. package/dist/src/server/resources/conversion.d.ts +20 -0
  37. package/dist/src/server/resources/conversion.d.ts.map +1 -0
  38. package/dist/src/server/resources/index.d.ts +116 -0
  39. package/dist/src/server/resources/index.d.ts.map +1 -0
  40. package/dist/src/server/roots/index.d.ts +7 -0
  41. package/dist/src/server/roots/index.d.ts.map +1 -0
  42. package/dist/src/server/roots/roots-registration.d.ts +56 -0
  43. package/dist/src/server/roots/roots-registration.d.ts.map +1 -0
  44. package/dist/src/server/sessions/index.d.ts +6 -0
  45. package/dist/src/server/sessions/index.d.ts.map +1 -0
  46. package/dist/src/server/sessions/notifications.d.ts +25 -0
  47. package/dist/src/server/sessions/notifications.d.ts.map +1 -0
  48. package/dist/src/server/sessions/session-manager.d.ts +41 -0
  49. package/dist/src/server/sessions/session-manager.d.ts.map +1 -0
  50. package/dist/src/server/tools/index.d.ts +10 -0
  51. package/dist/src/server/tools/index.d.ts.map +1 -0
  52. package/dist/src/server/tools/schema-helpers.d.ts +54 -0
  53. package/dist/src/server/tools/schema-helpers.d.ts.map +1 -0
  54. package/dist/src/server/tools/tool-execution-helpers.d.ts +97 -0
  55. package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -0
  56. package/dist/src/server/tools/tool-registration.d.ts +85 -0
  57. package/dist/src/server/tools/tool-registration.d.ts.map +1 -0
  58. package/dist/src/server/types/common.d.ts +24 -0
  59. package/dist/src/server/types/common.d.ts.map +1 -1
  60. package/dist/src/server/types/index.d.ts +5 -4
  61. package/dist/src/server/types/index.d.ts.map +1 -1
  62. package/dist/src/server/types/prompt.d.ts +61 -6
  63. package/dist/src/server/types/prompt.d.ts.map +1 -1
  64. package/dist/src/server/types/resource.d.ts +83 -8
  65. package/dist/src/server/types/resource.d.ts.map +1 -1
  66. package/dist/src/server/types/tool-context.d.ts +236 -0
  67. package/dist/src/server/types/tool-context.d.ts.map +1 -0
  68. package/dist/src/server/types/tool.d.ts +62 -5
  69. package/dist/src/server/types/tool.d.ts.map +1 -1
  70. package/dist/src/server/utils/hono-proxy.d.ts +21 -0
  71. package/dist/src/server/utils/hono-proxy.d.ts.map +1 -0
  72. package/dist/src/server/utils/index.d.ts +3 -0
  73. package/dist/src/server/utils/index.d.ts.map +1 -1
  74. package/dist/src/server/utils/jsonrpc-helpers.d.ts +94 -0
  75. package/dist/src/server/utils/jsonrpc-helpers.d.ts.map +1 -0
  76. package/dist/src/server/utils/response-helpers.d.ts +115 -3
  77. package/dist/src/server/utils/response-helpers.d.ts.map +1 -1
  78. package/dist/src/server/utils/server-helpers.d.ts +78 -0
  79. package/dist/src/server/utils/server-helpers.d.ts.map +1 -0
  80. package/dist/src/server/utils/server-lifecycle.d.ts +52 -0
  81. package/dist/src/server/utils/server-lifecycle.d.ts.map +1 -0
  82. package/dist/src/server/utils/session-helpers.d.ts +55 -0
  83. package/dist/src/server/utils/session-helpers.d.ts.map +1 -0
  84. package/dist/src/server/widgets/index.d.ts +30 -0
  85. package/dist/src/server/widgets/index.d.ts.map +1 -0
  86. package/dist/src/server/widgets/mcp-ui-adapter.d.ts.map +1 -0
  87. package/dist/src/server/widgets/mount-widgets-dev.d.ts +28 -0
  88. package/dist/src/server/widgets/mount-widgets-dev.d.ts.map +1 -0
  89. package/dist/src/server/widgets/mount-widgets-production.d.ts +27 -0
  90. package/dist/src/server/widgets/mount-widgets-production.d.ts.map +1 -0
  91. package/dist/src/server/widgets/setup-widget-routes.d.ts +23 -0
  92. package/dist/src/server/widgets/setup-widget-routes.d.ts.map +1 -0
  93. package/dist/src/server/widgets/ui-resource-registration.d.ts +75 -0
  94. package/dist/src/server/widgets/ui-resource-registration.d.ts.map +1 -0
  95. package/dist/src/server/widgets/widget-helpers.d.ts +277 -0
  96. package/dist/src/server/widgets/widget-helpers.d.ts.map +1 -0
  97. package/dist/src/server/widgets/widget-types.d.ts +49 -0
  98. package/dist/src/server/widgets/widget-types.d.ts.map +1 -0
  99. package/dist/tool-execution-helpers-IVUDHXMK.js +23 -0
  100. package/package.json +6 -5
  101. package/dist/chunk-F4UHAA5L.js +0 -854
  102. package/dist/oauth-U4NNKN4B.js +0 -30
  103. package/dist/src/server/adapters/mcp-ui-adapter.d.ts.map +0 -1
  104. /package/dist/src/server/{adapters → widgets}/mcp-ui-adapter.d.ts +0 -0
@@ -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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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Notification utilities
3
+ *
4
+ * This module provides functions for managing client notifications with the MCP server.
5
+ */
6
+ export { getActiveSessions, sendNotification, sendNotificationToSession, type NotificationServerContext, } from "./notification-registration.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/notifications/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import type { SessionData } from "../sessions/index.js";
2
+ export interface NotificationServerContext {
3
+ sessions: Map<string, SessionData>;
4
+ }
5
+ /**
6
+ * Get array of active session IDs
7
+ *
8
+ * Returns an array of all currently active session IDs. This is useful for
9
+ * sending targeted notifications to specific clients or iterating over
10
+ * connected clients.
11
+ *
12
+ * Note: This only works in stateful mode. In stateless mode (edge environments),
13
+ * this will return an empty array.
14
+ *
15
+ * @returns Array of active session ID strings
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const sessions = server.getActiveSessions();
20
+ * console.log(`${sessions.length} clients connected`);
21
+ *
22
+ * // Send notification to first connected client
23
+ * if (sessions.length > 0) {
24
+ * server.sendNotificationToSession(sessions[0], "custom/hello", { message: "Hi!" });
25
+ * }
26
+ * ```
27
+ */
28
+ export declare function getActiveSessions(this: NotificationServerContext): string[];
29
+ /**
30
+ * Send a notification to all connected clients
31
+ *
32
+ * Broadcasts a JSON-RPC notification to all active sessions. Notifications are
33
+ * one-way messages that do not expect a response from the client.
34
+ *
35
+ * Note: This only works in stateful mode with active sessions. If no sessions
36
+ * are connected, the notification is silently discarded (per MCP spec: "server MAY send").
37
+ *
38
+ * @param method - The notification method name (e.g., "custom/my-notification")
39
+ * @param params - Optional parameters to include in the notification
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * // Send a simple notification to all clients
44
+ * server.sendNotification("custom/server-status", {
45
+ * status: "ready",
46
+ * timestamp: new Date().toISOString()
47
+ * });
48
+ *
49
+ * // Notify all clients that resources have changed
50
+ * server.sendNotification("notifications/resources/list_changed");
51
+ * ```
52
+ */
53
+ export declare function sendNotification(this: NotificationServerContext, method: string, params?: Record<string, unknown>): Promise<void>;
54
+ /**
55
+ * Send a notification to a specific client session
56
+ *
57
+ * Sends a JSON-RPC notification to a single client identified by their session ID.
58
+ * This allows sending customized notifications to individual clients.
59
+ *
60
+ * Note: This only works in stateful mode. If the session ID doesn't exist,
61
+ * the notification is silently discarded.
62
+ *
63
+ * @param sessionId - The target session ID (from getActiveSessions())
64
+ * @param method - The notification method name (e.g., "custom/my-notification")
65
+ * @param params - Optional parameters to include in the notification
66
+ * @returns true if the notification was sent, false if session not found
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const sessions = server.getActiveSessions();
71
+ *
72
+ * // Send different messages to different clients
73
+ * sessions.forEach((sessionId, index) => {
74
+ * server.sendNotificationToSession(sessionId, "custom/welcome", {
75
+ * message: `Hello client #${index + 1}!`,
76
+ * clientNumber: index + 1
77
+ * });
78
+ * });
79
+ * ```
80
+ */
81
+ export declare function sendNotificationToSession(this: NotificationServerContext, sessionId: string, method: string, params?: Record<string, unknown>): Promise<boolean>;
82
+ //# sourceMappingURL=notification-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-registration.d.ts","sourceRoot":"","sources":["../../../../src/server/notifications/notification-registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,EAAE,CAE3E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,yBAAyB,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,yBAAyB,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAOlB"}
@@ -10,4 +10,5 @@ export { createBearerAuthMiddleware } from "./middleware.js";
10
10
  export { setupOAuthRoutes } from "./routes.js";
11
11
  export { getAuth, hasScope, hasAnyScope, requireScope, requireAnyScope, } from "./utils.js";
12
12
  export type { AuthInfo } from "./utils.js";
13
+ export { setupOAuthForServer, type OAuthSetupState } from "./setup.js";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * OAuth Setup
3
+ *
4
+ * Handles OAuth provider initialization and configuration for MCP servers.
5
+ */
6
+ import type { Hono as HonoType } from "hono";
7
+ /**
8
+ * OAuth setup state
9
+ */
10
+ export interface OAuthSetupState {
11
+ provider?: any;
12
+ middleware?: any;
13
+ complete: boolean;
14
+ }
15
+ /**
16
+ * Setup OAuth authentication for MCP server
17
+ *
18
+ * Initializes OAuth provider, creates bearer auth middleware,
19
+ * sets up OAuth routes, and applies auth to /mcp endpoints.
20
+ *
21
+ * @param app - Hono app instance
22
+ * @param oauthProvider - OAuth provider instance
23
+ * @param baseUrl - Server base URL for OAuth redirects
24
+ * @param state - OAuth setup state to track completion
25
+ * @returns Updated OAuth setup state with provider and middleware
26
+ */
27
+ export declare function setupOAuthForServer(app: HonoType, oauthProvider: any, baseUrl: string, state: OAuthSetupState): Promise<OAuthSetupState>;
28
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,eAAe,CAAC,CAkC1B"}
@@ -0,0 +1,22 @@
1
+ import type { CallToolResult, GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
2
+ /**
3
+ * Convert CallToolResult to GetPromptResult
4
+ *
5
+ * This function enables using tool response helpers (text(), object(), image(), etc.)
6
+ * in prompt callbacks by converting them to the proper prompt message format.
7
+ *
8
+ * According to the MCP spec, prompts return messages with roles and content.
9
+ * We convert tool-style content to user-role messages.
10
+ *
11
+ * @param result - CallToolResult or GetPromptResult to convert
12
+ * @returns GetPromptResult with proper prompt messages
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const toolResult = text("Please review this code");
17
+ * const promptResult = convertToolResultToPromptResult(toolResult);
18
+ * // Returns: { messages: [{ role: "user", content: { type: "text", text: "Please review this code" } }] }
19
+ * ```
20
+ */
21
+ export declare function convertToolResultToPromptResult(result: CallToolResult | GetPromptResult): GetPromptResult;
22
+ //# sourceMappingURL=conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../../src/server/prompts/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAW5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,cAAc,GAAG,eAAe,GACvC,eAAe,CAuFjB"}
@@ -0,0 +1,60 @@
1
+ import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { PromptDefinition, PromptDefinitionWithoutCallback, PromptCallback } from "../types.js";
3
+ export interface PromptServerContext {
4
+ server: {
5
+ registerPrompt(name: string, metadata: {
6
+ title?: string;
7
+ description: string;
8
+ argsSchema: any;
9
+ }, getPromptCallback: (params: any) => Promise<GetPromptResult>): void;
10
+ };
11
+ registeredPrompts: string[];
12
+ createParamsSchema: (args: any[]) => any;
13
+ convertZodSchemaToParams: (schema: any) => any;
14
+ }
15
+ /**
16
+ * Define a prompt template
17
+ *
18
+ * Registers a prompt template with the MCP server that clients can use to generate
19
+ * structured prompts for AI models. Prompts can now use the same response helpers
20
+ * as tools (text(), object(), markdown(), etc.) for a unified API.
21
+ *
22
+ * Supports two patterns:
23
+ * 1. Old API: Single object with cb property
24
+ * 2. New API: Definition object + separate callback (like tools and resources)
25
+ *
26
+ * @param promptDefinition - Configuration object containing prompt metadata
27
+ * @param promptDefinition.name - Unique identifier for the prompt template
28
+ * @param promptDefinition.description - Human-readable description of the prompt's purpose
29
+ * @param promptDefinition.args - Array of argument definitions (legacy, use schema instead)
30
+ * @param promptDefinition.schema - Zod object schema for input validation (preferred)
31
+ * @param callback - Optional separate callback function (new API pattern)
32
+ * @returns The server instance for method chaining
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // New API: Using response helpers (recommended)
37
+ * server.prompt(
38
+ * {
39
+ * name: 'code-review',
40
+ * description: 'Generates a code review prompt',
41
+ * schema: z.object({ language: z.string(), code: z.string() })
42
+ * },
43
+ * async ({ language, code }) => text(`Please review this ${language} code:\n\n${code}`)
44
+ * )
45
+ *
46
+ * // Old API: Still supported for backward compatibility
47
+ * server.prompt({
48
+ * name: 'greeting',
49
+ * args: [{ name: 'name', type: 'string', required: true }],
50
+ * cb: async ({ name }) => ({
51
+ * messages: [{
52
+ * role: 'user',
53
+ * content: { type: 'text', text: `Hello, ${name}!` }
54
+ * }]
55
+ * })
56
+ * })
57
+ * ```
58
+ */
59
+ export declare function registerPrompt(this: PromptServerContext, promptDefinition: PromptDefinition | PromptDefinitionWithoutCallback, callback?: PromptCallback): PromptServerContext;
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,20 @@
1
+ import type { CallToolResult, ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
2
+ /**
3
+ * Convert CallToolResult to ReadResourceResult
4
+ *
5
+ * This function enables using tool response helpers (text(), object(), image(), etc.)
6
+ * in resource callbacks by converting them to the proper resource format.
7
+ *
8
+ * @param uri - The resource URI
9
+ * @param result - CallToolResult or ReadResourceResult to convert
10
+ * @returns ReadResourceResult with proper resource contents
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const toolResult = text("Hello World");
15
+ * const resourceResult = convertToolResultToResourceResult("app://greeting", toolResult);
16
+ * // Returns: { contents: [{ uri: "app://greeting", mimeType: "text/plain", text: "Hello World" }] }
17
+ * ```
18
+ */
19
+ export declare function convertToolResultToResourceResult(uri: string, result: CallToolResult | ReadResourceResult): ReadResourceResult;
20
+ //# sourceMappingURL=conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAEnB,MAAM,oCAAoC,CAAC;AA4D5C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,GAAG,kBAAkB,GAC1C,kBAAkB,CA6FpB"}
@@ -0,0 +1,116 @@
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";
5
+ export interface ResourceServerContext {
6
+ server: {
7
+ registerResource(name: string, uri: string, metadata: {
8
+ title?: string;
9
+ description?: string;
10
+ mimeType: string;
11
+ _meta?: Record<string, unknown>;
12
+ }, readCallback: () => Promise<ReadResourceResult>): void;
13
+ };
14
+ registeredResources: string[];
15
+ }
16
+ /**
17
+ * Define a static resource that can be accessed by clients
18
+ *
19
+ * Registers a resource with the MCP server that clients can access via HTTP.
20
+ * Resources are static content like files, data, or pre-computed results that
21
+ * can be retrieved by clients without requiring parameters.
22
+ *
23
+ * Supports two patterns:
24
+ * 1. Old API: Single object with readCallback property
25
+ * 2. New API: Definition object + separate callback (like tools)
26
+ *
27
+ * @param resourceDefinition - Configuration object containing resource metadata
28
+ * @param resourceDefinition.name - Unique identifier for the resource
29
+ * @param resourceDefinition.uri - URI pattern for accessing the resource
30
+ * @param resourceDefinition.title - Optional human-readable title for the resource
31
+ * @param resourceDefinition.description - Optional description of the resource
32
+ * @param resourceDefinition.mimeType - MIME type (optional when using callback with response helpers)
33
+ * @param resourceDefinition.annotations - Optional annotations (audience, priority, lastModified)
34
+ * @param callback - Optional separate callback function (new API pattern)
35
+ * @returns The server instance for method chaining
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // New API: Using response helpers (recommended)
40
+ * server.resource(
41
+ * { name: 'greeting', uri: 'app://greeting', title: 'Greeting' },
42
+ * async () => text('Hello World!')
43
+ * )
44
+ *
45
+ * server.resource(
46
+ * { name: 'config', uri: 'config://settings' },
47
+ * async () => object({ theme: 'dark', version: '1.0' })
48
+ * )
49
+ *
50
+ * // Old API: Still supported for backward compatibility
51
+ * server.resource({
52
+ * name: 'config',
53
+ * uri: 'config://app-settings',
54
+ * mimeType: 'application/json',
55
+ * readCallback: async () => ({
56
+ * contents: [{
57
+ * uri: 'config://app-settings',
58
+ * mimeType: 'application/json',
59
+ * text: JSON.stringify({ theme: 'dark' })
60
+ * }]
61
+ * })
62
+ * })
63
+ * ```
64
+ */
65
+ export declare function registerResource(this: ResourceServerContext, resourceDefinition: ResourceDefinition | ResourceDefinitionWithoutCallback, callback?: ReadResourceCallback): ResourceServerContext;
66
+ export interface ResourceTemplateServerContext {
67
+ server: {
68
+ registerResource(name: string, template: ResourceTemplate, metadata: any, readCallback: (uri: URL) => Promise<any>): void;
69
+ };
70
+ registeredResources: string[];
71
+ parseTemplateUri(uriTemplate: string, uri: string): Record<string, string>;
72
+ }
73
+ /**
74
+ * Define a dynamic resource template with parameters
75
+ *
76
+ * Registers a parameterized resource template with the MCP server. Templates use URI
77
+ * patterns with placeholders that can be filled in at request time, allowing dynamic
78
+ * resource generation based on parameters.
79
+ *
80
+ * Supports two patterns:
81
+ * 1. Old API: Single object with readCallback property
82
+ * 2. New API: Definition object + separate callback (like tools)
83
+ *
84
+ * @param resourceTemplateDefinition - Configuration object for the resource template
85
+ * @param resourceTemplateDefinition.name - Unique identifier for the template
86
+ * @param resourceTemplateDefinition.resourceTemplate - ResourceTemplate object with uriTemplate and metadata
87
+ * @param callback - Optional separate callback function (new API pattern)
88
+ * @returns The server instance for method chaining
89
+ *
90
+ * @example
91
+ * ```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
+ * )
97
+ *
98
+ * // Old API: Still supported for backward compatibility
99
+ * server.resourceTemplate({
100
+ * name: 'user-profile',
101
+ * resourceTemplate: {
102
+ * uriTemplate: 'user://{userId}/profile',
103
+ * 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
+ * })
113
+ * ```
114
+ */
115
+ export declare function registerResourceTemplate(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition | ResourceTemplateDefinitionWithoutCallback, callback?: ReadResourceTemplateCallback): ResourceTemplateServerContext;
116
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Roots management utilities
3
+ *
4
+ * This module provides functions for managing roots with the MCP server.
5
+ */
6
+ export { onRootsChanged, listRoots } from "./roots-registration.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/roots/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Roots Registration
3
+ *
4
+ * This module handles roots-related functionality for the MCP server.
5
+ * Roots represent the file system or project roots that clients have access to.
6
+ */
7
+ /**
8
+ * Register a callback for when a client's roots change
9
+ *
10
+ * When a client sends a `notifications/roots/list_changed` notification,
11
+ * the server will automatically request the updated roots list and call
12
+ * this callback with the new roots.
13
+ *
14
+ * @param callback - Function called with the updated roots array
15
+ * @returns The server instance for method chaining
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * server.onRootsChanged(async (roots) => {
20
+ * console.log("Client roots updated:", roots);
21
+ * roots.forEach(root => {
22
+ * console.log(` - ${root.name || "unnamed"}: ${root.uri}`);
23
+ * });
24
+ * });
25
+ * ```
26
+ */
27
+ export declare function onRootsChanged(this: any, callback: (roots: Array<{
28
+ uri: string;
29
+ name?: string;
30
+ }>) => void | Promise<void>): any;
31
+ /**
32
+ * Request the current roots list from a specific client session
33
+ *
34
+ * This sends a `roots/list` request to the client and returns
35
+ * the list of roots the client has configured.
36
+ *
37
+ * @param sessionId - The session ID of the client to query
38
+ * @returns Array of roots, or null if the session doesn't exist or request fails
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const sessions = server.getActiveSessions();
43
+ * if (sessions.length > 0) {
44
+ * const roots = await server.listRoots(sessions[0]);
45
+ * if (roots) {
46
+ * console.log(`Client has ${roots.length} roots:`);
47
+ * roots.forEach(r => console.log(` - ${r.uri}`));
48
+ * }
49
+ * }
50
+ * ```
51
+ */
52
+ export declare function listRoots(this: any, sessionId: string): Promise<Array<{
53
+ uri: string;
54
+ name?: string;
55
+ }> | null>;
56
+ //# sourceMappingURL=roots-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roots-registration.d.ts","sourceRoot":"","sources":["../../../../src/server/roots/roots-registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,CACR,KAAK,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,KACzC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACxB,GAAG,CAGL;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CA2BvD"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Session Management Exports
3
+ */
4
+ export { type SessionData, startIdleCleanup } from "./session-manager.js";
5
+ export { sendNotificationToAll, sendNotificationToSession, } from "./notifications.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Session Notifications
3
+ *
4
+ * Utility functions for sending JSON-RPC notifications to MCP sessions.
5
+ */
6
+ import type { SessionData } from "./session-manager.js";
7
+ /**
8
+ * Send a notification to all connected sessions
9
+ *
10
+ * @param sessions - Map of active sessions
11
+ * @param method - The notification method name
12
+ * @param params - Optional parameters to include in the notification
13
+ */
14
+ export declare function sendNotificationToAll(sessions: Map<string, SessionData>, method: string, params?: Record<string, unknown>): Promise<void>;
15
+ /**
16
+ * Send a notification to a specific session
17
+ *
18
+ * @param sessions - Map of active sessions
19
+ * @param sessionId - The target session ID
20
+ * @param method - The notification method name
21
+ * @param params - Optional parameters to include in the notification
22
+ * @returns true if the notification was sent, false if session not found
23
+ */
24
+ export declare function sendNotificationToSession(sessions: Map<string, SessionData>, sessionId: string, method: string, params?: Record<string, unknown>): Promise<boolean>;
25
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/notifications.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Session Manager
3
+ *
4
+ * Simplified session management for tracking active sessions.
5
+ * The native SDK transport handles session lifecycle internally.
6
+ */
7
+ import type { Context } from "hono";
8
+ /**
9
+ * Session data stored for each active MCP session
10
+ * Following official SDK pattern - each session has its own transport and server
11
+ */
12
+ export interface SessionData {
13
+ /** Reference to this session's transport instance */
14
+ transport: any;
15
+ /** Reference to this session's server instance */
16
+ server?: any;
17
+ /** Timestamp of last activity for idle timeout tracking */
18
+ lastAccessedAt: number;
19
+ /** Hono context for this session's current request */
20
+ context?: Context;
21
+ /** Progress token for current tool call (if any) */
22
+ progressToken?: number;
23
+ /** Function to send notifications to the client */
24
+ sendNotification?: (notification: {
25
+ method: string;
26
+ params: Record<string, any>;
27
+ }) => Promise<void>;
28
+ /** Express-like response object for notifications */
29
+ expressRes?: any;
30
+ /** Hono context for direct response access */
31
+ honoContext?: Context;
32
+ }
33
+ /**
34
+ * Start idle session cleanup interval
35
+ *
36
+ * Monitors sessions and removes them if they've been inactive for too long.
37
+ * Note: This only cleans up our session metadata. The transport manages
38
+ * its own session state.
39
+ */
40
+ export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number): NodeJS.Timeout | undefined;
41
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tool registration utilities
3
+ *
4
+ * This module provides functions for registering tools with the MCP server.
5
+ */
6
+ export { convertZodSchemaToParams, createParamsSchema, type InputDefinition, } from "./schema-helpers.js";
7
+ export { toolRegistration, type ToolServerContext, } from "./tool-registration.js";
8
+ export { type SessionData, type SessionContextResult, type ParsedElicitParams, findSessionContext, sendProgressNotification, withTimeout, parseElicitParams, createSampleMethod, createElicitMethod, createReportProgressMethod, createEnhancedContext, } from "./tool-execution-helpers.js";
9
+ export type { SampleOptions, ElicitOptions, ElicitFormParams, ElicitUrlParams, } from "../types/index.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}