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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/chunk-2EYAMIT3.js +76 -0
- package/dist/chunk-362PI25Z.js +110 -0
- package/dist/chunk-5URNFWCQ.js +25 -0
- package/dist/chunk-KHTTBIRP.js +280 -0
- package/dist/context-storage-TXQ4DVSS.js +11 -0
- package/dist/conversion-5MA4VY3B.js +7 -0
- package/dist/conversion-OTRZZBUU.js +7 -0
- package/dist/src/server/endpoints/index.d.ts +7 -0
- package/dist/src/server/endpoints/index.d.ts.map +1 -0
- package/dist/src/server/endpoints/mount-mcp.d.ts +21 -0
- package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -0
- package/dist/src/server/index.cjs +3738 -3940
- package/dist/src/server/index.d.ts +4 -3
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +3223 -3039
- package/dist/src/server/inspector/index.d.ts +5 -0
- package/dist/src/server/inspector/index.d.ts.map +1 -0
- package/dist/src/server/inspector/mount.d.ts +33 -0
- package/dist/src/server/inspector/mount.d.ts.map +1 -0
- package/dist/src/server/logging.d.ts.map +1 -1
- package/dist/src/server/mcp-server.d.ts +71 -780
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/notifications/index.d.ts +7 -0
- package/dist/src/server/notifications/index.d.ts.map +1 -0
- package/dist/src/server/notifications/notification-registration.d.ts +82 -0
- package/dist/src/server/notifications/notification-registration.d.ts.map +1 -0
- package/dist/src/server/oauth/index.d.ts +1 -0
- package/dist/src/server/oauth/index.d.ts.map +1 -1
- package/dist/src/server/oauth/setup.d.ts +28 -0
- package/dist/src/server/oauth/setup.d.ts.map +1 -0
- package/dist/src/server/prompts/conversion.d.ts +22 -0
- package/dist/src/server/prompts/conversion.d.ts.map +1 -0
- package/dist/src/server/prompts/index.d.ts +60 -0
- package/dist/src/server/prompts/index.d.ts.map +1 -0
- package/dist/src/server/resources/conversion.d.ts +20 -0
- package/dist/src/server/resources/conversion.d.ts.map +1 -0
- package/dist/src/server/resources/index.d.ts +116 -0
- package/dist/src/server/resources/index.d.ts.map +1 -0
- package/dist/src/server/roots/index.d.ts +7 -0
- package/dist/src/server/roots/index.d.ts.map +1 -0
- package/dist/src/server/roots/roots-registration.d.ts +56 -0
- package/dist/src/server/roots/roots-registration.d.ts.map +1 -0
- package/dist/src/server/sessions/index.d.ts +6 -0
- package/dist/src/server/sessions/index.d.ts.map +1 -0
- package/dist/src/server/sessions/notifications.d.ts +25 -0
- package/dist/src/server/sessions/notifications.d.ts.map +1 -0
- package/dist/src/server/sessions/session-manager.d.ts +41 -0
- package/dist/src/server/sessions/session-manager.d.ts.map +1 -0
- package/dist/src/server/tools/index.d.ts +10 -0
- package/dist/src/server/tools/index.d.ts.map +1 -0
- package/dist/src/server/tools/schema-helpers.d.ts +54 -0
- package/dist/src/server/tools/schema-helpers.d.ts.map +1 -0
- package/dist/src/server/tools/tool-execution-helpers.d.ts +97 -0
- package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -0
- package/dist/src/server/tools/tool-registration.d.ts +85 -0
- package/dist/src/server/tools/tool-registration.d.ts.map +1 -0
- package/dist/src/server/types/common.d.ts +24 -0
- package/dist/src/server/types/common.d.ts.map +1 -1
- package/dist/src/server/types/index.d.ts +5 -4
- package/dist/src/server/types/index.d.ts.map +1 -1
- package/dist/src/server/types/prompt.d.ts +61 -6
- package/dist/src/server/types/prompt.d.ts.map +1 -1
- package/dist/src/server/types/resource.d.ts +83 -8
- package/dist/src/server/types/resource.d.ts.map +1 -1
- package/dist/src/server/types/tool-context.d.ts +236 -0
- package/dist/src/server/types/tool-context.d.ts.map +1 -0
- package/dist/src/server/types/tool.d.ts +62 -5
- package/dist/src/server/types/tool.d.ts.map +1 -1
- package/dist/src/server/utils/hono-proxy.d.ts +21 -0
- package/dist/src/server/utils/hono-proxy.d.ts.map +1 -0
- package/dist/src/server/utils/index.d.ts +3 -0
- package/dist/src/server/utils/index.d.ts.map +1 -1
- package/dist/src/server/utils/jsonrpc-helpers.d.ts +94 -0
- package/dist/src/server/utils/jsonrpc-helpers.d.ts.map +1 -0
- package/dist/src/server/utils/response-helpers.d.ts +115 -3
- package/dist/src/server/utils/response-helpers.d.ts.map +1 -1
- package/dist/src/server/utils/server-helpers.d.ts +78 -0
- package/dist/src/server/utils/server-helpers.d.ts.map +1 -0
- package/dist/src/server/utils/server-lifecycle.d.ts +52 -0
- package/dist/src/server/utils/server-lifecycle.d.ts.map +1 -0
- package/dist/src/server/utils/session-helpers.d.ts +55 -0
- package/dist/src/server/utils/session-helpers.d.ts.map +1 -0
- package/dist/src/server/widgets/index.d.ts +30 -0
- package/dist/src/server/widgets/index.d.ts.map +1 -0
- package/dist/src/server/widgets/mcp-ui-adapter.d.ts.map +1 -0
- package/dist/src/server/widgets/mount-widgets-dev.d.ts +28 -0
- package/dist/src/server/widgets/mount-widgets-dev.d.ts.map +1 -0
- package/dist/src/server/widgets/mount-widgets-production.d.ts +27 -0
- package/dist/src/server/widgets/mount-widgets-production.d.ts.map +1 -0
- package/dist/src/server/widgets/setup-widget-routes.d.ts +23 -0
- package/dist/src/server/widgets/setup-widget-routes.d.ts.map +1 -0
- package/dist/src/server/widgets/ui-resource-registration.d.ts +75 -0
- package/dist/src/server/widgets/ui-resource-registration.d.ts.map +1 -0
- package/dist/src/server/widgets/widget-helpers.d.ts +277 -0
- package/dist/src/server/widgets/widget-helpers.d.ts.map +1 -0
- package/dist/src/server/widgets/widget-types.d.ts +49 -0
- package/dist/src/server/widgets/widget-types.d.ts.map +1 -0
- package/dist/tool-execution-helpers-IVUDHXMK.js +23 -0
- package/package.json +6 -5
- package/dist/chunk-F4UHAA5L.js +0 -854
- package/dist/oauth-U4NNKN4B.js +0 -30
- package/dist/src/server/adapters/mcp-ui-adapter.d.ts.map +0 -1
- /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":"
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|