@ai-sdk/mcp 2.0.87 → 2.0.89
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/CHANGELOG.md +24 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp-stdio/index.d.ts +12 -2
- package/dist/mcp-stdio/index.d.ts.map +1 -1
- package/dist/mcp-stdio/index.js +17 -2
- package/dist/mcp-stdio/index.js.map +1 -1
- package/package.json +3 -3
- package/src/tool/mcp-client.ts +176 -5
- package/src/tool/mcp-http-transport.ts +1 -1
- package/src/tool/mcp-sse-transport.ts +1 -1
- package/src/tool/mcp-stdio/index.ts +13 -4
- package/src/tool/types.ts +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @ai-sdk/mcp
|
|
2
2
|
|
|
3
|
+
## 2.0.89
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [51ca5b7]
|
|
8
|
+
- Updated dependencies [dc6f1c3]
|
|
9
|
+
- Updated dependencies [4ae6986]
|
|
10
|
+
- @ai-sdk/provider-utils@5.0.73
|
|
11
|
+
|
|
12
|
+
## 2.0.88
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- c3af430: Handle MCP 2026-07-28 input-required results through the registered elicitation handler and retry the original tool, prompt, or resource request with its answers and request state.
|
|
17
|
+
|
|
18
|
+
Preserve the browser fetch receiver in MCP HTTP and SSE transports to prevent illegal-invocation errors.
|
|
19
|
+
|
|
20
|
+
- 1afa510: Graduate `StdioMCPTransport`, `MCPClient.listPrompts`, `MCPClient.getPrompt`, and `MCPAppRenderer` to stable APIs. Deprecate their experimental names while retaining them as compatible aliases. MCP events remain experimental.
|
|
21
|
+
- Updated dependencies [7716e18]
|
|
22
|
+
- Updated dependencies [5c247e9]
|
|
23
|
+
- Updated dependencies [dcd2f8d]
|
|
24
|
+
- @ai-sdk/provider-utils@5.0.72
|
|
25
|
+
- @ai-sdk/provider@4.0.35
|
|
26
|
+
|
|
3
27
|
## 2.0.87
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1221,10 +1221,21 @@ interface MCPClient {
|
|
|
1221
1221
|
listResourceTemplates(options?: {
|
|
1222
1222
|
options?: RequestOptions;
|
|
1223
1223
|
}): Promise<ListResourceTemplatesResult>;
|
|
1224
|
+
listPrompts(options?: {
|
|
1225
|
+
params?: PaginatedRequest['params'];
|
|
1226
|
+
options?: RequestOptions;
|
|
1227
|
+
}): Promise<ListPromptsResult>;
|
|
1228
|
+
getPrompt(args: {
|
|
1229
|
+
name: string;
|
|
1230
|
+
arguments?: Record<string, unknown>;
|
|
1231
|
+
options?: RequestOptions;
|
|
1232
|
+
}): Promise<GetPromptResult>;
|
|
1233
|
+
/** @deprecated Use `listPrompts` instead. */
|
|
1224
1234
|
experimental_listPrompts(options?: {
|
|
1225
1235
|
params?: PaginatedRequest['params'];
|
|
1226
1236
|
options?: RequestOptions;
|
|
1227
1237
|
}): Promise<ListPromptsResult>;
|
|
1238
|
+
/** @deprecated Use `getPrompt` instead. */
|
|
1228
1239
|
experimental_getPrompt(args: {
|
|
1229
1240
|
name: string;
|
|
1230
1241
|
arguments?: Record<string, unknown>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["Request","symbol"],"sources":["../src/tool/json-rpc-message.ts","../src/tool/types.ts","../src/tool/mcp-event-types.ts","../src/tool/mcp-events-adapter.ts","../src/tool/oauth-types.ts","../src/error/oauth-error.ts","../src/tool/oauth.ts","../src/tool/mcp-transport.ts","../src/tool/mcp-client.ts","../src/tool/mcp-apps.ts","../src/tool/mcp-app-fingerprint.ts","../src/error/mcp-client-error.ts","../src/tool/mcp-event-webhook.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["Request","symbol"],"sources":["../src/tool/json-rpc-message.ts","../src/tool/types.ts","../src/tool/mcp-event-types.ts","../src/tool/mcp-events-adapter.ts","../src/tool/oauth-types.ts","../src/error/oauth-error.ts","../src/tool/oauth.ts","../src/tool/mcp-transport.ts","../src/tool/mcp-client.ts","../src/tool/mcp-apps.ts","../src/tool/mcp-app-fingerprint.ts","../src/error/mcp-client-error.ts","../src/tool/mcp-event-webhook.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventSourceParserStream, asSchema, convertBase64ToUint8Array, convertUint8ArrayToBase64, dynamicTool, fetchUntrustedUrl, fetchWithValidatedEndpoint, getRuntimeEnvironmentUserAgent, isRecord, jsonSchema, parseJSON, retryWithExponentialBackoff, safeParseJSON, safeValidateTypes, tool, validateDownloadUrl, withUserAgentSuffix } from "@ai-sdk/provider-utils";
|
|
1
|
+
import { EventSourceParserStream, asSchema, convertBase64ToUint8Array, convertUint8ArrayToBase64, delay, dynamicTool, fetchUntrustedUrl, fetchWithValidatedEndpoint, getRuntimeEnvironmentUserAgent, isRecord, jsonSchema, parseJSON, retryWithExponentialBackoff, safeParseJSON, safeValidateTypes, tool, validateDownloadUrl, withUserAgentSuffix } from "@ai-sdk/provider-utils";
|
|
2
2
|
import * as z4 from "zod/v4";
|
|
3
3
|
import { z } from "zod/v4";
|
|
4
4
|
import { AISDKError, isJSONObject } from "@ai-sdk/provider";
|
|
@@ -234,6 +234,15 @@ const ElicitResultSchema = ResultSchema.extend({
|
|
|
234
234
|
]),
|
|
235
235
|
content: z.optional(z.record(z.string(), z.unknown()))
|
|
236
236
|
});
|
|
237
|
+
const InputRequiredResultSchema = ResultSchema.extend({
|
|
238
|
+
resultType: z.literal("input_required"),
|
|
239
|
+
inputRequests: z.record(z.string(), RequestSchema).optional(),
|
|
240
|
+
requestState: z.string().optional()
|
|
241
|
+
}).refine((result) => result.inputRequests !== void 0 || result.requestState !== void 0, { message: "input_required must include inputRequests or requestState" });
|
|
242
|
+
const InputRequiredElicitationSchema = ElicitationRequestSchema.extend({ params: ElicitationRequestParamsSchema.extend({
|
|
243
|
+
mode: z.literal("form").optional(),
|
|
244
|
+
requestedSchema: z.looseObject({ type: z.literal("object") })
|
|
245
|
+
}) });
|
|
237
246
|
//#endregion
|
|
238
247
|
//#region src/tool/json-rpc-message.ts
|
|
239
248
|
const JSONRPC_VERSION = "2.0";
|
|
@@ -526,7 +535,7 @@ function createManagedMCPEvents(operations, list) {
|
|
|
526
535
|
}
|
|
527
536
|
//#endregion
|
|
528
537
|
//#region src/version.ts
|
|
529
|
-
const VERSION = "2.0.
|
|
538
|
+
const VERSION = "2.0.89";
|
|
530
539
|
//#endregion
|
|
531
540
|
//#region src/tool/oauth-types.ts
|
|
532
541
|
/**
|
|
@@ -1486,7 +1495,7 @@ var SseMCPTransport = class {
|
|
|
1486
1495
|
this.headers = headers;
|
|
1487
1496
|
this.authProvider = authProvider;
|
|
1488
1497
|
this.redirectMode = redirect;
|
|
1489
|
-
this.fetchFn = fetchFn ?? globalThis.fetch;
|
|
1498
|
+
this.fetchFn = fetchFn ?? globalThis.fetch.bind(globalThis);
|
|
1490
1499
|
}
|
|
1491
1500
|
setProtocolVersion(version) {
|
|
1492
1501
|
this.protocolVersion = version;
|
|
@@ -1780,7 +1789,7 @@ var HttpMCPTransport = class {
|
|
|
1780
1789
|
this.onSessionIdChange = onSessionIdChange;
|
|
1781
1790
|
this.onSessionExpired = onSessionExpired;
|
|
1782
1791
|
this.terminateSessionOnClose = terminateSessionOnClose;
|
|
1783
|
-
this.fetchFn = fetchFn ?? globalThis.fetch;
|
|
1792
|
+
this.fetchFn = fetchFn ?? globalThis.fetch.bind(globalThis);
|
|
1784
1793
|
}
|
|
1785
1794
|
setProtocolVersion(version) {
|
|
1786
1795
|
this.protocolVersion = version;
|
|
@@ -2239,6 +2248,8 @@ async function readMCPAppResource({ client, uri, options }) {
|
|
|
2239
2248
|
const CLIENT_VERSION = "1.0.0";
|
|
2240
2249
|
const DEFAULT_MAX_TOOL_CALL_RETRIES = 0;
|
|
2241
2250
|
const DEFAULT_PROTOCOL_DISCOVERY_TIMEOUT = 1e3;
|
|
2251
|
+
const MAX_INPUT_REQUIRED_ROUNDS = 10;
|
|
2252
|
+
const INPUT_REQUIRED_RETRY_DELAY = 250;
|
|
2242
2253
|
const MODERN_PROTOCOL_ERROR_CODES = [
|
|
2243
2254
|
-32020,
|
|
2244
2255
|
-32021,
|
|
@@ -2371,6 +2382,7 @@ var DefaultMCPClient = class {
|
|
|
2371
2382
|
this.protocolVersion = LATEST_LEGACY_PROTOCOL_VERSION;
|
|
2372
2383
|
this.toolHeaderBindings = /* @__PURE__ */ new Map();
|
|
2373
2384
|
this.isClosed = true;
|
|
2385
|
+
this.closeController = new AbortController();
|
|
2374
2386
|
if (events?.adapter !== void 0 && (events.store !== void 0 || events.validateArguments !== void 0)) throw new MCPClientError({ message: "Configure experimental_events with either an adapter or a store, not both. Managed adapters own argument validation." });
|
|
2375
2387
|
if (events?.adapter !== void 0 && typeof events.adapter?.createAdapter !== "function") throw new MCPClientError({ message: "experimental_events.adapter must implement createAdapter. Wrap bound operations with { createAdapter: () => operations }." });
|
|
2376
2388
|
const operations = events?.adapter?.createAdapter({ transport: isCustomMcpTransport(transportConfig) ? { type: "custom" } : {
|
|
@@ -2571,6 +2583,78 @@ var DefaultMCPClient = class {
|
|
|
2571
2583
|
}
|
|
2572
2584
|
}
|
|
2573
2585
|
async request({ request, resultSchema, options }) {
|
|
2586
|
+
if (this.isClosed || this.protocolEra !== "modern" || ![
|
|
2587
|
+
"tools/call",
|
|
2588
|
+
"prompts/get",
|
|
2589
|
+
"resources/read"
|
|
2590
|
+
].includes(request.method)) return this.requestOnce({
|
|
2591
|
+
request,
|
|
2592
|
+
resultSchema,
|
|
2593
|
+
options
|
|
2594
|
+
});
|
|
2595
|
+
options?.signal?.throwIfAborted();
|
|
2596
|
+
const startedAt = Date.now();
|
|
2597
|
+
let nextRequest = request;
|
|
2598
|
+
for (let round = 0;; round++) {
|
|
2599
|
+
const timeout = getEffectiveTimeout({
|
|
2600
|
+
timeout: options?.timeout,
|
|
2601
|
+
maxTotalTimeout: options?.maxTotalTimeout == null ? void 0 : Math.max(0, options.maxTotalTimeout - (Date.now() - startedAt))
|
|
2602
|
+
});
|
|
2603
|
+
const timeoutController = new AbortController();
|
|
2604
|
+
const signal = AbortSignal.any([
|
|
2605
|
+
this.closeController.signal,
|
|
2606
|
+
timeoutController.signal,
|
|
2607
|
+
...options?.signal == null ? [] : [options.signal]
|
|
2608
|
+
]);
|
|
2609
|
+
const timeoutError = new MCPClientError({ message: `Request timed out after ${timeout}ms` });
|
|
2610
|
+
const timeoutId = timeout == null ? void 0 : setTimeout(() => timeoutController.abort(timeoutError), timeout);
|
|
2611
|
+
try {
|
|
2612
|
+
signal.throwIfAborted();
|
|
2613
|
+
if (timeout === 0) throw timeoutError;
|
|
2614
|
+
const result = await this.requestOnce({
|
|
2615
|
+
request: nextRequest,
|
|
2616
|
+
resultSchema: ResultSchema,
|
|
2617
|
+
options: { signal },
|
|
2618
|
+
allowInputRequired: true
|
|
2619
|
+
});
|
|
2620
|
+
if (result.resultType !== "input_required") return resultSchema.parse(result);
|
|
2621
|
+
const { inputRequests, requestState } = InputRequiredResultSchema.parse(result);
|
|
2622
|
+
if (round === MAX_INPUT_REQUIRED_ROUNDS) throw new MCPClientError({ message: `Request still requires input after ${MAX_INPUT_REQUIRED_ROUNDS} rounds` });
|
|
2623
|
+
const responses = Object.create(null);
|
|
2624
|
+
for (const [key, inputRequest] of Object.entries(inputRequests ?? {})) {
|
|
2625
|
+
signal.throwIfAborted();
|
|
2626
|
+
if (inputRequest.method !== "elicitation/create" || inputRequest.params?.mode != null && inputRequest.params.mode !== "form") throw new MCPClientError({ message: `Unsupported input request: ${inputRequest.method}. Only form elicitation is supported.` });
|
|
2627
|
+
if (!this.elicitationRequestHandler) throw new MCPClientError({ message: "Server requested input, but no handler is registered. Use onElicitationRequest to handle elicitation." });
|
|
2628
|
+
const parsedRequest = InputRequiredElicitationSchema.parse(inputRequest);
|
|
2629
|
+
const answer = await waitForAbort(Promise.resolve(this.elicitationRequestHandler(parsedRequest)), signal);
|
|
2630
|
+
responses[key] = ElicitResultSchema.parse(answer);
|
|
2631
|
+
}
|
|
2632
|
+
const hasResponses = Object.keys(responses).length > 0;
|
|
2633
|
+
if (!hasResponses) await delay(INPUT_REQUIRED_RETRY_DELAY, { abortSignal: signal });
|
|
2634
|
+
signal.throwIfAborted();
|
|
2635
|
+
nextRequest = {
|
|
2636
|
+
...request,
|
|
2637
|
+
params: {
|
|
2638
|
+
...request.params,
|
|
2639
|
+
...hasResponses ? { inputResponses: responses } : {},
|
|
2640
|
+
...requestState !== void 0 ? { requestState } : {}
|
|
2641
|
+
}
|
|
2642
|
+
};
|
|
2643
|
+
} catch (error) {
|
|
2644
|
+
if (signal.aborted) throw options?.signal?.aborted ? new MCPClientError({
|
|
2645
|
+
message: "Request was aborted",
|
|
2646
|
+
cause: options.signal.reason
|
|
2647
|
+
}) : signal.reason;
|
|
2648
|
+
throw MCPClientError.isInstance(error) ? error : new MCPClientError({
|
|
2649
|
+
message: "Failed to process server response",
|
|
2650
|
+
cause: error
|
|
2651
|
+
});
|
|
2652
|
+
} finally {
|
|
2653
|
+
clearTimeout(timeoutId);
|
|
2654
|
+
}
|
|
2655
|
+
}
|
|
2656
|
+
}
|
|
2657
|
+
async requestOnce({ request, resultSchema, options, allowInputRequired = false }) {
|
|
2574
2658
|
return new Promise((resolve, reject) => {
|
|
2575
2659
|
if (this.isClosed) return reject(new MCPClientError({ message: "Attempted to send a request from a closed client" }));
|
|
2576
2660
|
this.assertCapability(request.method);
|
|
@@ -2631,7 +2715,7 @@ var DefaultMCPClient = class {
|
|
|
2631
2715
|
if (response instanceof Error) return rejectAndCleanup(response);
|
|
2632
2716
|
try {
|
|
2633
2717
|
if (this.protocolEra === "modern" && response.result.resultType == null) throw new MCPClientError({ message: "Modern MCP result is missing resultType" });
|
|
2634
|
-
if (response.result.resultType === "input_required") throw new MCPClientError({ message:
|
|
2718
|
+
if (response.result.resultType === "input_required" && !allowInputRequired) throw new MCPClientError({ message: `Input-required results are not supported for ${request.method} on protocol ${this.protocolVersion}` });
|
|
2635
2719
|
const result = resultSchema.parse(response.result);
|
|
2636
2720
|
cleanup();
|
|
2637
2721
|
resolve(result);
|
|
@@ -2923,19 +3007,27 @@ var DefaultMCPClient = class {
|
|
|
2923
3007
|
listResourceTemplates({ options } = {}) {
|
|
2924
3008
|
return this.listResourceTemplatesInternal({ options });
|
|
2925
3009
|
}
|
|
2926
|
-
|
|
3010
|
+
listPrompts({ params, options } = {}) {
|
|
2927
3011
|
return this.listPromptsInternal({
|
|
2928
3012
|
params,
|
|
2929
3013
|
options
|
|
2930
3014
|
});
|
|
2931
3015
|
}
|
|
2932
|
-
|
|
3016
|
+
getPrompt({ name, arguments: args, options }) {
|
|
2933
3017
|
return this.getPromptInternal({
|
|
2934
3018
|
name,
|
|
2935
3019
|
args,
|
|
2936
3020
|
options
|
|
2937
3021
|
});
|
|
2938
3022
|
}
|
|
3023
|
+
/** @deprecated Use `listPrompts` instead. */
|
|
3024
|
+
experimental_listPrompts(options) {
|
|
3025
|
+
return this.listPrompts(options);
|
|
3026
|
+
}
|
|
3027
|
+
/** @deprecated Use `getPrompt` instead. */
|
|
3028
|
+
experimental_getPrompt(args) {
|
|
3029
|
+
return this.getPrompt(args);
|
|
3030
|
+
}
|
|
2939
3031
|
complete(args) {
|
|
2940
3032
|
return this.completeInternal(args);
|
|
2941
3033
|
}
|
|
@@ -3018,6 +3110,7 @@ var DefaultMCPClient = class {
|
|
|
3018
3110
|
if (this.isClosed) return;
|
|
3019
3111
|
this.isClosed = true;
|
|
3020
3112
|
const error = new MCPClientError({ message: "Connection closed" });
|
|
3113
|
+
this.closeController.abort(error);
|
|
3021
3114
|
for (const handler of this.responseHandlers.values()) handler(error);
|
|
3022
3115
|
this.responseHandlers.clear();
|
|
3023
3116
|
}
|