mcp-use 1.8.2-canary.0 → 1.9.0-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/{chunk-X2HZKCNO.js → chunk-D22NUQTL.js} +14 -5
- package/dist/chunk-KUEVOU4M.js +49 -0
- package/dist/{chunk-HDYKWLGV.js → chunk-MUZ5WYE3.js} +5 -2
- package/dist/{chunk-LWAQBWXN.js → chunk-QREDNTLS.js} +1 -1
- package/dist/{chunk-DWTSQOEC.js → chunk-ZQUCGISK.js} +29 -1
- package/dist/index.cjs +95 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -6
- package/dist/src/agents/index.js +2 -2
- package/dist/src/browser.cjs +40 -4
- package/dist/src/browser.js +2 -2
- package/dist/src/client/browser.d.ts.map +1 -1
- package/dist/src/client/prompts.js +2 -2
- package/dist/src/client.d.ts +12 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/connectors/base.d.ts +17 -4
- package/dist/src/connectors/base.d.ts.map +1 -1
- package/dist/src/connectors/http.d.ts.map +1 -1
- package/dist/src/connectors/stdio.d.ts.map +1 -1
- package/dist/src/errors.d.ts +28 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/react/index.cjs +44 -5
- package/dist/src/react/index.js +3 -3
- package/dist/src/react/types.d.ts +11 -1
- package/dist/src/react/types.d.ts.map +1 -1
- package/dist/src/react/useMcp.d.ts.map +1 -1
- package/dist/src/server/index.cjs +89 -0
- package/dist/src/server/index.js +75 -0
- package/dist/src/server/mcp-server.d.ts +99 -2
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/src/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateMessageRequest, CreateMessageResult } from "@modelcontextprotocol/sdk/types.js";
|
|
1
|
+
import type { CreateMessageRequest, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import { BaseMCPClient } from "./client/base.js";
|
|
3
3
|
import type { ExecutionResult } from "./client/codeExecutor.js";
|
|
4
4
|
import { BaseCodeExecutor } from "./client/codeExecutor.js";
|
|
@@ -27,6 +27,16 @@ export interface MCPClientOptions {
|
|
|
27
27
|
* `sampling/createMessage` requests by calling this callback.
|
|
28
28
|
*/
|
|
29
29
|
samplingCallback?: (params: CreateMessageRequest["params"]) => Promise<CreateMessageResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Optional callback function to handle elicitation requests from servers.
|
|
32
|
+
* When provided, the client will declare elicitation capability and handle
|
|
33
|
+
* `elicitation/create` requests by calling this callback.
|
|
34
|
+
*
|
|
35
|
+
* Elicitation allows servers to request additional information from users:
|
|
36
|
+
* - Form mode: Collect structured data with JSON schema validation
|
|
37
|
+
* - URL mode: Direct users to external URLs for sensitive interactions
|
|
38
|
+
*/
|
|
39
|
+
elicitationCallback?: (params: ElicitRequestFormParams | ElicitRequestURLParams) => Promise<ElicitResult>;
|
|
30
40
|
}
|
|
31
41
|
export { BaseCodeExecutor, E2BCodeExecutor, isVMAvailable, VMCodeExecutor, } from "./client/codeExecutor.js";
|
|
32
42
|
/**
|
|
@@ -45,6 +55,7 @@ export declare class MCPClient extends BaseMCPClient {
|
|
|
45
55
|
private _codeExecutorConfig;
|
|
46
56
|
private _executorOptions?;
|
|
47
57
|
private _samplingCallback?;
|
|
58
|
+
private _elicitationCallback?;
|
|
48
59
|
constructor(config?: string | Record<string, any>, options?: MCPClientOptions);
|
|
49
60
|
static fromDict(cfg: Record<string, any>, options?: MCPClientOptions): MCPClient;
|
|
50
61
|
static fromConfigFile(path: string, options?: MCPClientOptions): MCPClient;
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Client, ClientOptions } from "@modelcontextprotocol/sdk/client/index.js";
|
|
2
2
|
import type { RequestOptions } from "@modelcontextprotocol/sdk/shared/protocol.js";
|
|
3
|
-
import type { CallToolResult, CreateMessageRequest, CreateMessageResult, Notification, Root, Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
3
|
+
import type { CallToolResult, CreateMessageRequest, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult, Notification, Root, Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
4
4
|
import type { ConnectionManager } from "../task_managers/base.js";
|
|
5
5
|
/**
|
|
6
6
|
* Handler function for server notifications
|
|
@@ -36,6 +36,16 @@ export interface ConnectorInitOptions {
|
|
|
36
36
|
* `sampling/createMessage` requests by calling this callback.
|
|
37
37
|
*/
|
|
38
38
|
samplingCallback?: (params: CreateMessageRequest["params"]) => Promise<CreateMessageResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Optional callback function to handle elicitation requests from servers.
|
|
41
|
+
* When provided, the client will declare elicitation capability and handle
|
|
42
|
+
* `elicitation/create` requests by calling this callback.
|
|
43
|
+
*
|
|
44
|
+
* Elicitation allows servers to request additional information from users:
|
|
45
|
+
* - Form mode: Collect structured data with JSON schema validation
|
|
46
|
+
* - URL mode: Direct users to external URLs for sensitive interactions
|
|
47
|
+
*/
|
|
48
|
+
elicitationCallback?: (params: ElicitRequestFormParams | ElicitRequestURLParams) => Promise<ElicitResult>;
|
|
39
49
|
}
|
|
40
50
|
/**
|
|
41
51
|
* Base class for MCP connectors.
|
|
@@ -115,6 +125,11 @@ export declare abstract class BaseConnector {
|
|
|
115
125
|
* This is called after the client connects to register the handler for sampling requests.
|
|
116
126
|
*/
|
|
117
127
|
protected setupSamplingHandler(): void;
|
|
128
|
+
/**
|
|
129
|
+
* Internal: set up elicitation/create request handler.
|
|
130
|
+
* This is called after the client connects to register the handler for elicitation requests.
|
|
131
|
+
*/
|
|
132
|
+
protected setupElicitationHandler(): void;
|
|
118
133
|
/** Establish the connection and create the SDK client. */
|
|
119
134
|
abstract connect(): Promise<void>;
|
|
120
135
|
/** Get the identifier for the connector. */
|
|
@@ -320,9 +335,7 @@ export declare abstract class BaseConnector {
|
|
|
320
335
|
resource: {
|
|
321
336
|
uri: string;
|
|
322
337
|
text: string;
|
|
323
|
-
mimeType
|
|
324
|
-
/** Disconnect and release resources. */
|
|
325
|
-
?: string | undefined;
|
|
338
|
+
mimeType?: string | undefined;
|
|
326
339
|
_meta?: Record<string, unknown> | undefined;
|
|
327
340
|
} | {
|
|
328
341
|
uri: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/connectors/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACd,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/connectors/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/connectors/http.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,mBAAmB,CAA8C;gBAE7D,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;IAkB5D,mFAAmF;IAC7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA6GhB,yBAAyB;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/connectors/http.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,mBAAmB,CAA8C;gBAE7D,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;IAkB5D,mFAAmF;IAC7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA6GhB,yBAAyB;YA4IzB,cAAc;IA+D5B,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7C;IAED;;OAEG;IACH,gBAAgB,IAAI,iBAAiB,GAAG,KAAK,GAAG,IAAI;CAGrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/connectors/stdio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAEnD,EACV,OAAe,EACf,IAAS,EACT,GAAG,EACH,MAAuB,EACvB,GAAG,IAAI,EACR,GAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,QAAQ,CAAC;KACnB,GAAG,qBAA0B;IAa9B,sDAAsD;IAChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/connectors/stdio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAEnD,EACV,OAAe,EACf,IAAS,EACT,GAAG,EACH,MAAuB,EACvB,GAAG,IAAI,EACR,GAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,QAAQ,CAAC;KACnB,GAAG,qBAA0B;IAa9B,sDAAsD;IAChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsE9B,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK7C;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom error types for MCP operations
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Error thrown when elicitation data validation fails.
|
|
6
|
+
* This occurs when the data returned from an elicitation request
|
|
7
|
+
* doesn't match the expected Zod schema.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ElicitationValidationError extends Error {
|
|
10
|
+
cause?: Error | undefined;
|
|
11
|
+
constructor(message: string, cause?: Error | undefined);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown when an elicitation request times out.
|
|
15
|
+
* This occurs when the user doesn't respond within the specified timeout period.
|
|
16
|
+
*/
|
|
17
|
+
export declare class ElicitationTimeoutError extends Error {
|
|
18
|
+
timeoutMs?: number | undefined;
|
|
19
|
+
constructor(message: string, timeoutMs?: number | undefined);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Error thrown when a user explicitly declines an elicitation request.
|
|
23
|
+
* This occurs when the user cancels or rejects the elicitation prompt.
|
|
24
|
+
*/
|
|
25
|
+
export declare class ElicitationDeclinedError extends Error {
|
|
26
|
+
constructor(message?: string);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAG1C,KAAK,CAAC,EAAE,KAAK;gBADpB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,KAAK,YAAA;CASvB;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAGvC,SAAS,CAAC,EAAE,MAAM;gBADzB,OAAO,EAAE,MAAM,EACR,SAAS,CAAC,EAAE,MAAM,YAAA;CAQ5B;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,GAAE,MAAgD;CAOtE"}
|
package/dist/src/react/index.cjs
CHANGED
|
@@ -686,6 +686,33 @@ var BaseConnector = class {
|
|
|
686
686
|
"setupSamplingHandler: Sampling handler registered successfully"
|
|
687
687
|
);
|
|
688
688
|
}
|
|
689
|
+
/**
|
|
690
|
+
* Internal: set up elicitation/create request handler.
|
|
691
|
+
* This is called after the client connects to register the handler for elicitation requests.
|
|
692
|
+
*/
|
|
693
|
+
setupElicitationHandler() {
|
|
694
|
+
if (!this.client) {
|
|
695
|
+
logger.debug("setupElicitationHandler: No client available");
|
|
696
|
+
return;
|
|
697
|
+
}
|
|
698
|
+
if (!this.opts.elicitationCallback) {
|
|
699
|
+
logger.debug("setupElicitationHandler: No elicitation callback provided");
|
|
700
|
+
return;
|
|
701
|
+
}
|
|
702
|
+
logger.debug(
|
|
703
|
+
"setupElicitationHandler: Setting up elicitation request handler"
|
|
704
|
+
);
|
|
705
|
+
this.client.setRequestHandler(
|
|
706
|
+
import_types.ElicitRequestSchema,
|
|
707
|
+
async (request, _extra) => {
|
|
708
|
+
logger.debug("Server requested elicitation, forwarding to callback");
|
|
709
|
+
return await this.opts.elicitationCallback(request.params);
|
|
710
|
+
}
|
|
711
|
+
);
|
|
712
|
+
logger.debug(
|
|
713
|
+
"setupElicitationHandler: Elicitation handler registered successfully"
|
|
714
|
+
);
|
|
715
|
+
}
|
|
689
716
|
/** Disconnect and release resources. */
|
|
690
717
|
async disconnect() {
|
|
691
718
|
if (!this.connected) {
|
|
@@ -1069,7 +1096,9 @@ var HttpConnector = class extends BaseConnector {
|
|
|
1069
1096
|
roots: { listChanged: true },
|
|
1070
1097
|
// Always advertise roots capability
|
|
1071
1098
|
// Add sampling capability if callback is provided
|
|
1072
|
-
...this.opts.samplingCallback ? { sampling: {} } : {}
|
|
1099
|
+
...this.opts.samplingCallback ? { sampling: {} } : {},
|
|
1100
|
+
// Add elicitation capability if callback is provided
|
|
1101
|
+
...this.opts.elicitationCallback ? { elicitation: { form: {}, url: {} } } : {}
|
|
1073
1102
|
}
|
|
1074
1103
|
};
|
|
1075
1104
|
logger.debug(
|
|
@@ -1123,6 +1152,7 @@ var HttpConnector = class extends BaseConnector {
|
|
|
1123
1152
|
this.transportType = "streamable-http";
|
|
1124
1153
|
this.setupNotificationHandler();
|
|
1125
1154
|
this.setupSamplingHandler();
|
|
1155
|
+
this.setupElicitationHandler();
|
|
1126
1156
|
logger.debug(
|
|
1127
1157
|
`Successfully connected to MCP implementation via streamable HTTP: ${baseUrl}`
|
|
1128
1158
|
);
|
|
@@ -1152,7 +1182,9 @@ var HttpConnector = class extends BaseConnector {
|
|
|
1152
1182
|
roots: { listChanged: true },
|
|
1153
1183
|
// Always advertise roots capability
|
|
1154
1184
|
// Add sampling capability if callback is provided
|
|
1155
|
-
...this.opts.samplingCallback ? { sampling: {} } : {}
|
|
1185
|
+
...this.opts.samplingCallback ? { sampling: {} } : {},
|
|
1186
|
+
// Add elicitation capability if callback is provided
|
|
1187
|
+
...this.opts.elicitationCallback ? { elicitation: { form: {}, url: {} } } : {}
|
|
1156
1188
|
}
|
|
1157
1189
|
};
|
|
1158
1190
|
logger.debug(
|
|
@@ -1167,6 +1199,7 @@ var HttpConnector = class extends BaseConnector {
|
|
|
1167
1199
|
this.transportType = "sse";
|
|
1168
1200
|
this.setupNotificationHandler();
|
|
1169
1201
|
this.setupSamplingHandler();
|
|
1202
|
+
this.setupElicitationHandler();
|
|
1170
1203
|
logger.debug(
|
|
1171
1204
|
`Successfully connected to MCP implementation via HTTP/SSE: ${baseUrl}`
|
|
1172
1205
|
);
|
|
@@ -1684,7 +1717,8 @@ var BrowserMCPClient = class _BrowserMCPClient extends BaseMCPClient {
|
|
|
1684
1717
|
authProvider,
|
|
1685
1718
|
wrapTransport,
|
|
1686
1719
|
clientOptions,
|
|
1687
|
-
samplingCallback
|
|
1720
|
+
samplingCallback,
|
|
1721
|
+
elicitationCallback
|
|
1688
1722
|
} = serverConfig;
|
|
1689
1723
|
if (!url) {
|
|
1690
1724
|
throw new Error("Server URL is required");
|
|
@@ -1698,8 +1732,10 @@ var BrowserMCPClient = class _BrowserMCPClient extends BaseMCPClient {
|
|
|
1698
1732
|
// ← Pass transport wrapper if provided
|
|
1699
1733
|
clientOptions,
|
|
1700
1734
|
// ← Pass client options (capabilities, etc.) to connector
|
|
1701
|
-
samplingCallback
|
|
1735
|
+
samplingCallback,
|
|
1702
1736
|
// ← Pass sampling callback to connector
|
|
1737
|
+
elicitationCallback
|
|
1738
|
+
// ← Pass elicitation callback to connector
|
|
1703
1739
|
};
|
|
1704
1740
|
if (clientOptions) {
|
|
1705
1741
|
console.log(
|
|
@@ -1991,7 +2027,8 @@ function useMcp(options) {
|
|
|
1991
2027
|
// 5 minutes default for SSE read timeout
|
|
1992
2028
|
wrapTransport,
|
|
1993
2029
|
onNotification,
|
|
1994
|
-
samplingCallback
|
|
2030
|
+
samplingCallback,
|
|
2031
|
+
onElicitation
|
|
1995
2032
|
} = options;
|
|
1996
2033
|
const [state, setState] = (0, import_react.useState)("discovering");
|
|
1997
2034
|
const [tools, setTools] = (0, import_react.useState)([]);
|
|
@@ -2149,6 +2186,8 @@ function useMcp(options) {
|
|
|
2149
2186
|
// ← Pass client config to connector
|
|
2150
2187
|
samplingCallback,
|
|
2151
2188
|
// ← Pass sampling callback to connector
|
|
2189
|
+
elicitationCallback: onElicitation,
|
|
2190
|
+
// ← Pass elicitation callback to connector
|
|
2152
2191
|
wrapTransport: wrapTransport ? (transport) => {
|
|
2153
2192
|
console.log(
|
|
2154
2193
|
"[useMcp] Applying transport wrapper for server:",
|
package/dist/src/react/index.js
CHANGED
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
useWidgetProps,
|
|
10
10
|
useWidgetState,
|
|
11
11
|
useWidgetTheme
|
|
12
|
-
} from "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
12
|
+
} from "../../chunk-MUZ5WYE3.js";
|
|
13
|
+
import "../../chunk-D22NUQTL.js";
|
|
14
14
|
import {
|
|
15
15
|
onMcpAuthorization
|
|
16
16
|
} from "../../chunk-3R5PDYIN.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-ZQUCGISK.js";
|
|
18
18
|
import "../../chunk-34R6SIER.js";
|
|
19
19
|
import "../../chunk-MTHLLDCX.js";
|
|
20
20
|
import "../../chunk-3GQAWCBQ.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateMessageRequest, CreateMessageResult, Notification, Prompt, Resource, ResourceTemplate, Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
1
|
+
import type { CreateMessageRequest, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult, Notification, Prompt, Resource, ResourceTemplate, Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import type { BrowserMCPClient } from "../client/browser.js";
|
|
3
3
|
export type UseMcpOptions = {
|
|
4
4
|
/** The /sse URL of your remote MCP server */
|
|
@@ -63,6 +63,16 @@ export type UseMcpOptions = {
|
|
|
63
63
|
* `sampling/createMessage` requests by calling this callback.
|
|
64
64
|
*/
|
|
65
65
|
samplingCallback?: (params: CreateMessageRequest["params"]) => Promise<CreateMessageResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Optional callback function to handle elicitation requests from servers.
|
|
68
|
+
* When provided, the client will declare elicitation capability and handle
|
|
69
|
+
* `elicitation/create` requests by calling this callback.
|
|
70
|
+
*
|
|
71
|
+
* Elicitation allows servers to request additional information from users:
|
|
72
|
+
* - Form mode: Collect structured data with JSON schema validation
|
|
73
|
+
* - URL mode: Direct users to external URLs for sensitive interactions
|
|
74
|
+
*/
|
|
75
|
+
onElicitation?: (params: ElicitRequestFormParams | ElicitRequestURLParams) => Promise<ElicitResult>;
|
|
66
76
|
};
|
|
67
77
|
export type UseMcpResult = {
|
|
68
78
|
/** List of tools available from the connected MCP server */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,IAAI,EACL,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6HAA6H;IAC7H,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CACd,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,KAC7B,IAAI,CAAC;IACV,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sJAAsJ;IACtJ,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;IAC1D,4FAA4F;IAC5F,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KACnC,OAAO,CAAC,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMcp.d.ts","sourceRoot":"","sources":["../../../src/react/useMcp.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"useMcp.d.ts","sourceRoot":"","sources":["../../../src/react/useMcp.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CA4+B3D"}
|
|
@@ -1070,7 +1070,25 @@ module.exports = __toCommonJS(server_exports);
|
|
|
1070
1070
|
|
|
1071
1071
|
// src/server/mcp-server.ts
|
|
1072
1072
|
var import_mcp = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
1073
|
+
var import_zod_json_schema_compat = require("@modelcontextprotocol/sdk/server/zod-json-schema-compat.js");
|
|
1073
1074
|
var import_zod = require("zod");
|
|
1075
|
+
|
|
1076
|
+
// src/errors.ts
|
|
1077
|
+
var ElicitationValidationError = class _ElicitationValidationError extends Error {
|
|
1078
|
+
constructor(message, cause) {
|
|
1079
|
+
super(message);
|
|
1080
|
+
this.cause = cause;
|
|
1081
|
+
this.name = "ElicitationValidationError";
|
|
1082
|
+
if (Error.captureStackTrace) {
|
|
1083
|
+
Error.captureStackTrace(this, _ElicitationValidationError);
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
static {
|
|
1087
|
+
__name(this, "ElicitationValidationError");
|
|
1088
|
+
}
|
|
1089
|
+
};
|
|
1090
|
+
|
|
1091
|
+
// src/server/mcp-server.ts
|
|
1074
1092
|
var import_hono = require("hono");
|
|
1075
1093
|
var import_cors2 = require("hono/cors");
|
|
1076
1094
|
|
|
@@ -1914,6 +1932,77 @@ var McpServer = class {
|
|
|
1914
1932
|
}
|
|
1915
1933
|
}
|
|
1916
1934
|
};
|
|
1935
|
+
enhancedContext.elicit = async (messageOrParams, schemaOrUrlOrOptions, maybeOptions) => {
|
|
1936
|
+
let sdkParams;
|
|
1937
|
+
let zodSchema = null;
|
|
1938
|
+
let options;
|
|
1939
|
+
if (typeof messageOrParams === "string") {
|
|
1940
|
+
const message = messageOrParams;
|
|
1941
|
+
if (typeof schemaOrUrlOrOptions === "string") {
|
|
1942
|
+
options = maybeOptions;
|
|
1943
|
+
const elicitationId = `elicit-${generateUUID()}`;
|
|
1944
|
+
sdkParams = {
|
|
1945
|
+
mode: "url",
|
|
1946
|
+
message,
|
|
1947
|
+
url: schemaOrUrlOrOptions,
|
|
1948
|
+
elicitationId
|
|
1949
|
+
};
|
|
1950
|
+
} else if (schemaOrUrlOrOptions && typeof schemaOrUrlOrOptions === "object" && "_def" in schemaOrUrlOrOptions) {
|
|
1951
|
+
options = maybeOptions;
|
|
1952
|
+
zodSchema = schemaOrUrlOrOptions;
|
|
1953
|
+
const jsonSchema = (0, import_zod_json_schema_compat.toJsonSchemaCompat)(
|
|
1954
|
+
schemaOrUrlOrOptions
|
|
1955
|
+
);
|
|
1956
|
+
sdkParams = {
|
|
1957
|
+
mode: "form",
|
|
1958
|
+
message,
|
|
1959
|
+
requestedSchema: jsonSchema
|
|
1960
|
+
};
|
|
1961
|
+
} else {
|
|
1962
|
+
throw new Error(
|
|
1963
|
+
"Invalid elicit signature: second parameter must be a Zod schema or URL string"
|
|
1964
|
+
);
|
|
1965
|
+
}
|
|
1966
|
+
} else {
|
|
1967
|
+
options = schemaOrUrlOrOptions;
|
|
1968
|
+
const params2 = messageOrParams;
|
|
1969
|
+
if (params2.mode === "url") {
|
|
1970
|
+
const elicitationId = `elicit-${generateUUID()}`;
|
|
1971
|
+
sdkParams = {
|
|
1972
|
+
mode: "url",
|
|
1973
|
+
message: params2.message,
|
|
1974
|
+
url: params2.url,
|
|
1975
|
+
elicitationId
|
|
1976
|
+
};
|
|
1977
|
+
} else {
|
|
1978
|
+
sdkParams = {
|
|
1979
|
+
mode: "form",
|
|
1980
|
+
message: params2.message,
|
|
1981
|
+
requestedSchema: params2.requestedSchema
|
|
1982
|
+
};
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
const { timeout } = options ?? {};
|
|
1986
|
+
const sdkTimeout = timeout && timeout !== Infinity ? timeout : 2147483647;
|
|
1987
|
+
const result = await this.server.server.elicitInput(sdkParams, {
|
|
1988
|
+
timeout: sdkTimeout
|
|
1989
|
+
});
|
|
1990
|
+
if (zodSchema && result.action === "accept" && result.data) {
|
|
1991
|
+
try {
|
|
1992
|
+
const validatedData = zodSchema.parse(result.data);
|
|
1993
|
+
return {
|
|
1994
|
+
...result,
|
|
1995
|
+
data: validatedData
|
|
1996
|
+
};
|
|
1997
|
+
} catch (error2) {
|
|
1998
|
+
throw new ElicitationValidationError(
|
|
1999
|
+
`Elicitation data validation failed: ${error2.message}`,
|
|
2000
|
+
error2
|
|
2001
|
+
);
|
|
2002
|
+
}
|
|
2003
|
+
}
|
|
2004
|
+
return result;
|
|
2005
|
+
};
|
|
1917
2006
|
enhancedContext.reportProgress = progressToken && sendNotification ? async (progress, total, message) => {
|
|
1918
2007
|
if (sendNotification) {
|
|
1919
2008
|
await sendNotification({
|
package/dist/src/server/index.js
CHANGED
|
@@ -10,6 +10,9 @@ import {
|
|
|
10
10
|
requireAnyScope,
|
|
11
11
|
requireScope
|
|
12
12
|
} from "../../chunk-F4UHAA5L.js";
|
|
13
|
+
import {
|
|
14
|
+
ElicitationValidationError
|
|
15
|
+
} from "../../chunk-KUEVOU4M.js";
|
|
13
16
|
import {
|
|
14
17
|
fsHelpers,
|
|
15
18
|
generateUUID,
|
|
@@ -27,6 +30,7 @@ import {
|
|
|
27
30
|
McpServer as OfficialMcpServer,
|
|
28
31
|
ResourceTemplate
|
|
29
32
|
} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
33
|
+
import { toJsonSchemaCompat } from "@modelcontextprotocol/sdk/server/zod-json-schema-compat.js";
|
|
30
34
|
import { z } from "zod";
|
|
31
35
|
import { Hono } from "hono";
|
|
32
36
|
import { cors } from "hono/cors";
|
|
@@ -870,6 +874,77 @@ var McpServer = class {
|
|
|
870
874
|
}
|
|
871
875
|
}
|
|
872
876
|
};
|
|
877
|
+
enhancedContext.elicit = async (messageOrParams, schemaOrUrlOrOptions, maybeOptions) => {
|
|
878
|
+
let sdkParams;
|
|
879
|
+
let zodSchema = null;
|
|
880
|
+
let options;
|
|
881
|
+
if (typeof messageOrParams === "string") {
|
|
882
|
+
const message = messageOrParams;
|
|
883
|
+
if (typeof schemaOrUrlOrOptions === "string") {
|
|
884
|
+
options = maybeOptions;
|
|
885
|
+
const elicitationId = `elicit-${generateUUID()}`;
|
|
886
|
+
sdkParams = {
|
|
887
|
+
mode: "url",
|
|
888
|
+
message,
|
|
889
|
+
url: schemaOrUrlOrOptions,
|
|
890
|
+
elicitationId
|
|
891
|
+
};
|
|
892
|
+
} else if (schemaOrUrlOrOptions && typeof schemaOrUrlOrOptions === "object" && "_def" in schemaOrUrlOrOptions) {
|
|
893
|
+
options = maybeOptions;
|
|
894
|
+
zodSchema = schemaOrUrlOrOptions;
|
|
895
|
+
const jsonSchema = toJsonSchemaCompat(
|
|
896
|
+
schemaOrUrlOrOptions
|
|
897
|
+
);
|
|
898
|
+
sdkParams = {
|
|
899
|
+
mode: "form",
|
|
900
|
+
message,
|
|
901
|
+
requestedSchema: jsonSchema
|
|
902
|
+
};
|
|
903
|
+
} else {
|
|
904
|
+
throw new Error(
|
|
905
|
+
"Invalid elicit signature: second parameter must be a Zod schema or URL string"
|
|
906
|
+
);
|
|
907
|
+
}
|
|
908
|
+
} else {
|
|
909
|
+
options = schemaOrUrlOrOptions;
|
|
910
|
+
const params2 = messageOrParams;
|
|
911
|
+
if (params2.mode === "url") {
|
|
912
|
+
const elicitationId = `elicit-${generateUUID()}`;
|
|
913
|
+
sdkParams = {
|
|
914
|
+
mode: "url",
|
|
915
|
+
message: params2.message,
|
|
916
|
+
url: params2.url,
|
|
917
|
+
elicitationId
|
|
918
|
+
};
|
|
919
|
+
} else {
|
|
920
|
+
sdkParams = {
|
|
921
|
+
mode: "form",
|
|
922
|
+
message: params2.message,
|
|
923
|
+
requestedSchema: params2.requestedSchema
|
|
924
|
+
};
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
const { timeout } = options ?? {};
|
|
928
|
+
const sdkTimeout = timeout && timeout !== Infinity ? timeout : 2147483647;
|
|
929
|
+
const result = await this.server.server.elicitInput(sdkParams, {
|
|
930
|
+
timeout: sdkTimeout
|
|
931
|
+
});
|
|
932
|
+
if (zodSchema && result.action === "accept" && result.data) {
|
|
933
|
+
try {
|
|
934
|
+
const validatedData = zodSchema.parse(result.data);
|
|
935
|
+
return {
|
|
936
|
+
...result,
|
|
937
|
+
data: validatedData
|
|
938
|
+
};
|
|
939
|
+
} catch (error2) {
|
|
940
|
+
throw new ElicitationValidationError(
|
|
941
|
+
`Elicitation data validation failed: ${error2.message}`,
|
|
942
|
+
error2
|
|
943
|
+
);
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
return result;
|
|
947
|
+
};
|
|
873
948
|
enhancedContext.reportProgress = progressToken && sendNotification ? async (progress, total, message) => {
|
|
874
949
|
if (sendNotification) {
|
|
875
950
|
await sendNotification({
|