@ai-sdk/mcp 2.0.65 → 2.0.67
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 +18 -0
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -7
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/error/oauth-error.ts +18 -0
- package/src/index.ts +5 -0
- package/src/tool/mcp-sse-transport.ts +9 -1
- package/src/tool/oauth.ts +7 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @ai-sdk/mcp
|
|
2
2
|
|
|
3
|
+
## 2.0.67
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bba3927: feat(mcp): export MCPClientError for typed MCP failure handling
|
|
8
|
+
- 9384b92: fix(mcp): reject SSE startup when the connection closes before an endpoint is received
|
|
9
|
+
- 575383e: fix(mcp): preserve OAuth credentials when callback codes are rejected
|
|
10
|
+
- Updated dependencies [2959d35]
|
|
11
|
+
- Updated dependencies [59116e6]
|
|
12
|
+
- @ai-sdk/provider@4.0.22
|
|
13
|
+
- @ai-sdk/provider-utils@5.0.54
|
|
14
|
+
|
|
15
|
+
## 2.0.66
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 3ff0f54: feat(mcp): add AuthorizationServerMismatchError for OAuth authorization server pin mismatches
|
|
20
|
+
|
|
3
21
|
## 2.0.65
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -157,6 +157,31 @@ type OAuthClientInformation = z.infer<typeof OAuthClientInformationSchema>;
|
|
|
157
157
|
type AuthorizationServerMetadata = OAuthMetadata | OpenIdProviderDiscoveryMetadata;
|
|
158
158
|
type OAuthClientMetadata = z.infer<typeof OAuthClientMetadataSchema>;
|
|
159
159
|
//#endregion
|
|
160
|
+
//#region src/error/oauth-error.d.ts
|
|
161
|
+
declare const symbol$1: unique symbol;
|
|
162
|
+
/**
|
|
163
|
+
* An error occurred with the MCP client within the OAuth flow.
|
|
164
|
+
*/
|
|
165
|
+
export declare class MCPClientOAuthError extends AISDKError {
|
|
166
|
+
private readonly [symbol$1];
|
|
167
|
+
constructor({ name, message, cause }: {
|
|
168
|
+
name?: string;
|
|
169
|
+
message: string;
|
|
170
|
+
cause?: unknown;
|
|
171
|
+
});
|
|
172
|
+
static isInstance(error: unknown): error is MCPClientOAuthError;
|
|
173
|
+
}
|
|
174
|
+
declare const mismatchSymbol: unique symbol;
|
|
175
|
+
export declare class AuthorizationServerMismatchError extends MCPClientOAuthError {
|
|
176
|
+
private readonly [mismatchSymbol];
|
|
177
|
+
static errorCode: string;
|
|
178
|
+
constructor({ message, cause }: {
|
|
179
|
+
message: string;
|
|
180
|
+
cause?: unknown;
|
|
181
|
+
});
|
|
182
|
+
static isInstance(error: unknown): error is AuthorizationServerMismatchError;
|
|
183
|
+
}
|
|
184
|
+
//#endregion
|
|
160
185
|
//#region src/tool/oauth.d.ts
|
|
161
186
|
type AuthResult = 'AUTHORIZED' | 'REDIRECT';
|
|
162
187
|
interface OAuthAuthorizationServerInformation {
|
|
@@ -998,5 +1023,54 @@ export declare function fingerprintMCPAppResource(resource: MCPAppResource): Pro
|
|
|
998
1023
|
*/
|
|
999
1024
|
export declare function detectMCPAppResourceDrift(current: string, baseline: string): boolean;
|
|
1000
1025
|
//#endregion
|
|
1026
|
+
//#region src/error/mcp-client-error.d.ts
|
|
1027
|
+
declare const symbol: unique symbol;
|
|
1028
|
+
/**
|
|
1029
|
+
* An error occurred with the MCP client.
|
|
1030
|
+
*/
|
|
1031
|
+
export declare class MCPClientError extends AISDKError {
|
|
1032
|
+
private readonly [symbol];
|
|
1033
|
+
readonly data?: unknown;
|
|
1034
|
+
/**
|
|
1035
|
+
* JSON-RPC error code from the server response, per the JSON-RPC 2.0
|
|
1036
|
+
* spec (e.g. `-32601` method-not-found, `-32602` invalid-params, or
|
|
1037
|
+
* MCP-specific codes such as `-32002` resource-not-found). This is the
|
|
1038
|
+
* application-level error code populated from `error.code` in the
|
|
1039
|
+
* server's JSON-RPC error payload. Distinct from `statusCode`, which
|
|
1040
|
+
* is the HTTP transport status.
|
|
1041
|
+
*/
|
|
1042
|
+
readonly code?: number;
|
|
1043
|
+
/**
|
|
1044
|
+
* HTTP status code from the failed response, when the error originated
|
|
1045
|
+
* from an HTTP-based transport. Undefined for stdio transport
|
|
1046
|
+
* errors and for failures that do not have an associated response
|
|
1047
|
+
* status (e.g. network errors, abort). Distinct from `code`, which is
|
|
1048
|
+
* the JSON-RPC application error code.
|
|
1049
|
+
*/
|
|
1050
|
+
readonly statusCode?: number;
|
|
1051
|
+
/**
|
|
1052
|
+
* URL of the MCP endpoint the failing request was sent to, when the
|
|
1053
|
+
* error originated from an HTTP transport failure.
|
|
1054
|
+
*/
|
|
1055
|
+
readonly url?: string;
|
|
1056
|
+
/**
|
|
1057
|
+
* Body of the failing HTTP response, decoded as text, when available.
|
|
1058
|
+
* Undefined when the body could not be read or the error did not have
|
|
1059
|
+
* an associated response.
|
|
1060
|
+
*/
|
|
1061
|
+
readonly responseBody?: string;
|
|
1062
|
+
constructor({ name, message, cause, data, code, statusCode, url, responseBody }: {
|
|
1063
|
+
name?: string;
|
|
1064
|
+
message: string;
|
|
1065
|
+
cause?: unknown;
|
|
1066
|
+
data?: unknown;
|
|
1067
|
+
code?: number;
|
|
1068
|
+
statusCode?: number;
|
|
1069
|
+
url?: string;
|
|
1070
|
+
responseBody?: string;
|
|
1071
|
+
});
|
|
1072
|
+
static isInstance(error: unknown): error is MCPClientError;
|
|
1073
|
+
}
|
|
1074
|
+
//#endregion
|
|
1001
1075
|
export { type CallToolResult, type CompleteRequestParams, type CompleteResult, type Configuration, type ElicitResult, type ElicitationRequest, type InitializeResult, type JSONRPCError, type JSONRPCMessage, type JSONRPCNotification, type JSONRPCRequest, type JSONRPCResponse, type ListToolsResult, type MCPAppResource, type MCPAppResourceCSP, type MCPAppResourceMeta, type MCPClient, type MCPClient as experimental_MCPClient, type ClientCapabilities as MCPClientCapabilities, type ClientCapabilities as experimental_MCPClientCapabilities, type MCPClientConfig, type MCPClientConfig as experimental_MCPClientConfig, type MCPTransport, type MCPTransportCloseOptions, type MCPTransportSendOptions, type McpProviderMetadata, type McpToolAnnotations, type OAuthAuthorizationServerInformation, type OAuthClientInformation, type OAuthClientMetadata, type OAuthClientProvider, type OAuthTokens, createMCPClient as experimental_createMCPClient };
|
|
1002
1076
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/tool/json-rpc-message.ts","../src/tool/oauth-types.ts","../src/tool/oauth.ts","../src/tool/mcp-transport.ts","../src/tool/types.ts","../src/tool/mcp-client.ts","../src/tool/mcp-apps.ts","../src/tool/mcp-app-fingerprint.ts"],"mappings":";;;;cAMM,sBAAoB,EAAA;;;;;;;GAMf,EAAA,KAAA;KAEC,iBAAiB,EAAE,aAAa;cAEtC,uBAAqB,EAAA;;;;;;;GAMhB,EAAA,KAAA;KAEC,kBAAkB,EAAE,aAAa;cAEvC,oBAAkB,EAAA;;;;;;;;GAUb,EAAA,KAAA;KAEC,eAAe,EAAE,aAAa;cAEpC,2BAAyB,EAAA;;;;;;GAUpB,EAAA,KAAA;KAEC,sBAAsB,EAAE,aAAa;cAEpC,sBAAoB,EAAA,mBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK/B,EAAA,KAAA;KAEU,iBAAiB,EAAE,aAAa;wBAE5B,uBAAuB,mBAAmB;;;;;;cC9B7C,mBAAiB,EAAA;;;;;;;;;;GAYpB,EAAA,KAAA;cAmBG,qBAAmB,EAAA;;;;;;;;;;;;;GAe9B,EAAA,KAAA;;;;;;cA6BW,uCAAqC,EAAA;;;;;;;;;;;;;;;;;GAK/C,EAAA,KAAA;cAEU,8BAA4B,EAAA;;;;;;;;GAU/B,EAAA,KAAA;cAEG,2BAAyB,EAAA;;;;;;;;;;;;;;;;;;GAsB5B,EAAA,KAAA;KAEE,gBAAgB,EAAE,aAAa;KAC/B,kCAAkC,EAAE,aACvC;KAEG,cAAc,EAAE,aAAa;KAI7B,yBAAyB,EAAE,aAC9B;KAEG,8BACR,gBACA;KAUQ,sBAAsB,EAAE,aAAa;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["symbol"],"sources":["../src/tool/json-rpc-message.ts","../src/tool/oauth-types.ts","../src/error/oauth-error.ts","../src/tool/oauth.ts","../src/tool/mcp-transport.ts","../src/tool/types.ts","../src/tool/mcp-client.ts","../src/tool/mcp-apps.ts","../src/tool/mcp-app-fingerprint.ts","../src/error/mcp-client-error.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -297,7 +297,7 @@ var MCPClientError = class extends AISDKError {
|
|
|
297
297
|
};
|
|
298
298
|
//#endregion
|
|
299
299
|
//#region src/version.ts
|
|
300
|
-
const VERSION = "2.0.
|
|
300
|
+
const VERSION = "2.0.67";
|
|
301
301
|
//#endregion
|
|
302
302
|
//#region src/tool/oauth-types.ts
|
|
303
303
|
/**
|
|
@@ -456,6 +456,24 @@ var UnauthorizedClientError = class extends MCPClientOAuthError {
|
|
|
456
456
|
this.errorCode = "unauthorized_client";
|
|
457
457
|
}
|
|
458
458
|
};
|
|
459
|
+
const mismatchMarker = `vercel.ai.error.AI_AuthorizationServerMismatchError`;
|
|
460
|
+
const mismatchSymbol = Symbol.for(mismatchMarker);
|
|
461
|
+
var AuthorizationServerMismatchError = class extends MCPClientOAuthError {
|
|
462
|
+
static {
|
|
463
|
+
this.errorCode = "authorization_server_mismatch";
|
|
464
|
+
}
|
|
465
|
+
constructor({ message, cause }) {
|
|
466
|
+
super({
|
|
467
|
+
name: "AuthorizationServerMismatchError",
|
|
468
|
+
message,
|
|
469
|
+
cause
|
|
470
|
+
});
|
|
471
|
+
this[mismatchSymbol] = true;
|
|
472
|
+
}
|
|
473
|
+
static isInstance(error) {
|
|
474
|
+
return AISDKError.hasMarker(error, mismatchMarker);
|
|
475
|
+
}
|
|
476
|
+
};
|
|
459
477
|
const OAUTH_ERRORS = {
|
|
460
478
|
[ServerError.errorCode]: ServerError,
|
|
461
479
|
[InvalidClientError.errorCode]: InvalidClientError,
|
|
@@ -607,7 +625,7 @@ function assertResourceMetadataUrlSameOrigin(serverUrl, resourceMetadataUrl) {
|
|
|
607
625
|
if (resourceMetadataUrl.origin !== expectedOrigin) throw new MCPClientOAuthError({ message: `OAuth protected resource metadata URL ${resourceMetadataUrl.href} must have the same origin as the MCP server URL ${expectedOrigin}` });
|
|
608
626
|
}
|
|
609
627
|
function assertAuthorizationServerInformationMatches({ storedAuthorizationServerInformation, currentAuthorizationServerInformation }) {
|
|
610
|
-
if (storedAuthorizationServerInformation.issuer != null && currentAuthorizationServerInformation.issuer != null && storedAuthorizationServerInformation.issuer !== currentAuthorizationServerInformation.issuer || storedAuthorizationServerInformation.authorizationServerUrl !== currentAuthorizationServerInformation.authorizationServerUrl || storedAuthorizationServerInformation.tokenEndpoint !== currentAuthorizationServerInformation.tokenEndpoint) throw new
|
|
628
|
+
if (storedAuthorizationServerInformation.issuer != null && currentAuthorizationServerInformation.issuer != null && storedAuthorizationServerInformation.issuer !== currentAuthorizationServerInformation.issuer || storedAuthorizationServerInformation.authorizationServerUrl !== currentAuthorizationServerInformation.authorizationServerUrl || storedAuthorizationServerInformation.tokenEndpoint !== currentAuthorizationServerInformation.tokenEndpoint) throw new AuthorizationServerMismatchError({ message: "OAuth authorization server metadata does not match the metadata that issued the stored credentials" });
|
|
611
629
|
}
|
|
612
630
|
function extractWWWAuthenticateParams(response) {
|
|
613
631
|
const header = response.headers.get("www-authenticate") ?? response.headers.get("WWW-Authenticate");
|
|
@@ -1036,9 +1054,8 @@ async function auth(provider, options) {
|
|
|
1036
1054
|
if (options.authorizationCode !== void 0 || !await provider.isClientInformationDynamicallyRegistered?.()) throw error;
|
|
1037
1055
|
await provider.invalidateCredentials?.("all");
|
|
1038
1056
|
return await authInternal(provider, options);
|
|
1039
|
-
} else if (error instanceof InvalidGrantError) {
|
|
1040
|
-
|
|
1041
|
-
else await provider.invalidateCredentials?.("tokens");
|
|
1057
|
+
} else if (error instanceof InvalidGrantError && refreshAttempt.tokens) {
|
|
1058
|
+
await provider.invalidateCredentials?.("tokens", { tokens: refreshAttempt.tokens });
|
|
1042
1059
|
return await authInternal(provider, options);
|
|
1043
1060
|
}
|
|
1044
1061
|
throw error;
|
|
@@ -1299,11 +1316,12 @@ var SseMCPTransport = class {
|
|
|
1299
1316
|
while (true) {
|
|
1300
1317
|
const { done, value } = await reader.read();
|
|
1301
1318
|
if (done) {
|
|
1319
|
+
if (this.abortController?.signal.aborted) return;
|
|
1302
1320
|
if (this.connected) {
|
|
1303
1321
|
this.connected = false;
|
|
1304
1322
|
throw new MCPClientError({ message: "MCP SSE Transport Error: Connection closed unexpectedly" });
|
|
1305
1323
|
}
|
|
1306
|
-
|
|
1324
|
+
throw new MCPClientError({ message: "MCP SSE Transport Error: Connection closed before endpoint event was received" });
|
|
1307
1325
|
}
|
|
1308
1326
|
const { event, data } = value;
|
|
1309
1327
|
if (event === "endpoint") {
|
|
@@ -2776,6 +2794,6 @@ function detectMCPAppResourceDrift(current, baseline) {
|
|
|
2776
2794
|
return current !== baseline;
|
|
2777
2795
|
}
|
|
2778
2796
|
//#endregion
|
|
2779
|
-
export { ElicitResultSchema, ElicitationRequestSchema, MCP_APP_MIME_TYPE, UnauthorizedError, auth, createMCPClient, createMCPClient as experimental_createMCPClient, detectMCPAppResourceDrift, fingerprintMCPAppResource, mcpAppClientCapabilities, readMCPAppResource, splitMCPAppTools, validateJSONRPCMessage };
|
|
2797
|
+
export { AuthorizationServerMismatchError, ElicitResultSchema, ElicitationRequestSchema, MCPClientError, MCPClientOAuthError, MCP_APP_MIME_TYPE, UnauthorizedError, auth, createMCPClient, createMCPClient as experimental_createMCPClient, detectMCPAppResourceDrift, fingerprintMCPAppResource, mcpAppClientCapabilities, readMCPAppResource, splitMCPAppTools, validateJSONRPCMessage };
|
|
2780
2798
|
|
|
2781
2799
|
//# sourceMappingURL=index.js.map
|