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.
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,gBAAgB,EAGjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9B,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,KAAK,CAAC;AAG5C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;IACtE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KACnC,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC;AAGD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;GAQG;AACH,qBAAa,SAAU,SAAQ,aAAa;IACnC,QAAQ,EAAE,OAAO,CAAS;IACjC,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,mBAAmB,CAAqC;IAChE,OAAO,CAAC,mBAAmB,CAGC;IAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,iBAAiB,CAAC,CAEQ;gBAGhC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrC,OAAO,CAAC,EAAE,gBAAgB;WAwCd,QAAQ,CACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS;WAIE,cAAc,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS;IAIZ;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQzC;;;OAGG;IACH,SAAS,CAAC,yBAAyB,CACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,aAAa;IAMhB,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,mBAAmB;IAkE3B;;OAEG;IACU,WAAW,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC;IAc3B;;OAEG;IACU,WAAW,CACtB,KAAK,GAAE,MAAW,EAClB,WAAW,GAAE,OAAO,GAAG,cAAc,GAAG,MAAe,GACtD,OAAO,CAAC,OAAO,0BAA0B,EAAE,kBAAkB,CAAC;IAUjE;;OAEG;IACI,cAAc,IAAI,MAAM,EAAE;IAOjC;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAUpC"}
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":"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"}
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;AAMnF,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,IAAI,EACL,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,YAAY,EAAE,YAAY,KACvB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;IAC1D;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KACnC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,KACrD,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,8BAAsB,aAAa;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAClE,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,CAAQ;IAC3C,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAQ;IACxC,SAAS,CAAC,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IAC5E,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAC9C,SAAS,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;IAC3D,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAM;gBAEtB,IAAI,GAAE,oBAAyB;IAQ3C;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAQlD;;;OAGG;IACH,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAmC1C;;OAEG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBlD;;;OAGG;cACa,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvD;;;OAGG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrD;;;;;;;;;;;;;OAaG;IACG,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5C;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAIlB;;;OAGG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAenC;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAwBtC;;;OAGG;IACH,SAAS,CAAC,uBAAuB,IAAI,IAAI;IA0BzC,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC,4CAA4C;IAC5C,QAAQ,KAAK,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD,wCAAwC;IAClC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC,uCAAuC;IACvC,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED;;;;;;OAMG;IACG,UAAU,CACd,qBAAqB,GAAE,cACnB,GACH,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;IA4BvD,2CAA2C;IAC3C,IAAI,KAAK,IAAI,IAAI,EAAE,CAKlB;IAED,yCAAyC;IACzC,IAAI,kBAAkB,IAAI,GAAG,CAE5B;IAED,iCAAiC;IACjC,IAAI,UAAU,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAE1D;IAED,iCAAiC;IAC3B,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC;IAiC1B;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;uBA9FrD,CAAC;oBACsB,CAAC;iBAAuC,CAAC;;;iBAG9D,CAAC;;wBACiC,CAAC;qBAGlB,CAAC;;iBAEY,CAAC;;;;kDAI7B,CAAC;;;;;;;IAyFb;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,CAAC,EAAE,cAAc;;;IAiC/C;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,CAAC,EAAE,cAAc;;;;;uBA1HvC,CAAC;oBACZ,CAAD;iBAAuC,CAAC;;;iBAKpC,CAAC;;wBAEK,CAAC;qBAA2C,CAAC;;iBAKlD,CAAC;;;;kDAKmB,CAAC;;;;;;;IAiH3B,8BAA8B;IACxB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;oBAnG3B,CAAC;iBAAuC,CAAC;;;;oBAE5C,CAAC;iBAAuC,CAAC;;;;kDAEP,CAAC;;;;;;IAyG7D;;;;;OAKG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;kDAtGhD,CAAC;;;;;;IA+GhB;;;;;OAKG;IACG,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;kDA1GhC,CAAC;;;;;;IAmH9B,WAAW;;;;uBAzOsC,CAAC;qBAI9C,CAAC;;2BACA,CAAC;wBAEQ,CAAC;;iBACsB,CAAC;;;iBAGjB,CAAC;;wBAER,CAAC;qBAChB,CAAC;;iBAGiD,CAAC;;;;kDAMhD,CAAC;;;;;;;IA0OH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;qBA7TjD,CAAA;;;;;qBAQ+B,CAAC;;;;;qBAIO,CAAC;;;;;;4BAQN,CAAC;yBAChC,CAAC;;;;4BAIJ,CAAL;yBAA+C,CAAC;;qBACI,CAAC;;;;;2BASN,CAAC;wBACZ,CAAC;qBAA2C,CAAC;;;qBAI1E,CAAC;;4BACH,CAAC;yBAE2B,CAAC;;qBACoC,CAAC;;;;;kDAO/C,CAAC;;;;;;;IAmR1B,6CAA6C;IACvC,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,EACzC,OAAO,CAAC,EAAE,cAAc;IAc1B;;OAEG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAkClD"}
@@ -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;YAuIzB,cAAc;IA0D5B,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7C;IAED;;OAEG;IACH,gBAAgB,IAAI,iBAAiB,GAAG,KAAK,GAAG,IAAI;CAGrD"}
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;IAiE9B,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK7C;CACF"}
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"}
@@ -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:",
@@ -9,12 +9,12 @@ import {
9
9
  useWidgetProps,
10
10
  useWidgetState,
11
11
  useWidgetTheme
12
- } from "../../chunk-HDYKWLGV.js";
13
- import "../../chunk-X2HZKCNO.js";
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-DWTSQOEC.js";
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":"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"}
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,CA0+B3D"}
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({
@@ -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({