@ai-sdk/mcp 2.0.80 → 2.0.81
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 +9 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp-stdio/index.d.ts +10 -0
- package/dist/mcp-stdio/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/tool/mcp-client.ts +3 -1
- package/src/tool/mcp-http-transport.ts +1 -0
- package/src/tool/mcp-transport.ts +11 -0
|
@@ -76,6 +76,16 @@ interface MCPTransport {
|
|
|
76
76
|
* explicitly opt in.
|
|
77
77
|
*/
|
|
78
78
|
supportsProtocolVersionDiscovery?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Whether the client waits for the `server/discover` response instead of
|
|
81
|
+
* treating a slow response as a legacy server.
|
|
82
|
+
*
|
|
83
|
+
* Transports that always deliver a response, such as Streamable HTTP, set
|
|
84
|
+
* this so a slow modern server is not downgraded to `initialize`. Other
|
|
85
|
+
* transports keep a short probe timeout because a legacy server may never
|
|
86
|
+
* answer the unknown method.
|
|
87
|
+
*/
|
|
88
|
+
waitsForProtocolVersionDiscovery?: boolean;
|
|
79
89
|
/**
|
|
80
90
|
* Whether this transport mirrors x-mcp-header tool parameters into request
|
|
81
91
|
* headers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/tool/json-rpc-message.ts","../../src/tool/mcp-transport.ts","../../src/tool/mcp-stdio/mcp-stdio-transport.ts"],"mappings":";;;;;;cAsDa,sBAAoB,EAAA,mBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK/B,EAAA,KAAA;KAEU,iBAAiB,EAAE,aAAa;;;;;;;KCjDhC;;;;EAIV,SAAS;;;;EAKT,UAAU;;;;EAKV;;;;EAKA;;;;EAKA,qBAAqB;;KAGX;;;;EAIV,SAAS;;UAGM;;;;;;;EAOf;;;;;EAMA;;;;EAKA,SAAS;;;;;;EAOT,KACE,SAAS,gBACT,UAAU,0BACT;;;;;EAMH,MAAM,UAAU,2BAA2B;;;;EAK3C;;;;EAKA,WAAW,OAAO;;;;EAKlB,aAAa,SAAS;;;;EAKtB;;;;EAKA,oBAAoB;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/tool/json-rpc-message.ts","../../src/tool/mcp-transport.ts","../../src/tool/mcp-stdio/mcp-stdio-transport.ts"],"mappings":";;;;;;cAsDa,sBAAoB,EAAA,mBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK/B,EAAA,KAAA;KAEU,iBAAiB,EAAE,aAAa;;;;;;;KCjDhC;;;;EAIV,SAAS;;;;EAKT,UAAU;;;;EAKV;;;;EAKA;;;;EAKA,qBAAqB;;KAGX;;;;EAIV,SAAS;;UAGM;;;;;;;EAOf;;;;;;;;;;EAWA;;;;;EAMA;;;;EAKA,SAAS;;;;;;EAOT,KACE,SAAS,gBACT,UAAU,0BACT;;;;;EAMH,MAAM,UAAU,2BAA2B;;;;EAK3C;;;;EAKA,WAAW,OAAO;;;;EAKlB,aAAa,SAAS;;;;EAKtB;;;;EAKA,oBAAoB;;;;UC7GL;EACf;EACA;EACA,MAAM;EACN,SAAS,SAAS;EAClB;EACA;;cAGW,6BAA6B;WAC/B;UACD;UACA;UACA;UACA;EAER;EACA,WAAW;EACX,aAAa,SAAS;EAEV,YAAA,QAAQ;EAId,SAAS;UAsDD;EAgBR,SAAS;EAMf,KAAK,SAAS,iBAAiB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/mcp",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.81",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@ai-sdk/provider": "4.0.31",
|
|
35
|
-
"@ai-sdk/provider-utils": "5.0.
|
|
35
|
+
"@ai-sdk/provider-utils": "5.0.65",
|
|
36
36
|
"cross-spawn": "^7.0.6",
|
|
37
37
|
"pkce-challenge": "^5.0.1"
|
|
38
38
|
},
|
package/src/tool/mcp-client.ts
CHANGED
|
@@ -685,7 +685,9 @@ class DefaultMCPClient implements Omit<MCPClient, 'experimental_events'> {
|
|
|
685
685
|
resultSchema: DiscoverResultSchema,
|
|
686
686
|
options: {
|
|
687
687
|
signal,
|
|
688
|
-
timeout:
|
|
688
|
+
timeout: this.transport.waitsForProtocolVersionDiscovery
|
|
689
|
+
? undefined
|
|
690
|
+
: DEFAULT_PROTOCOL_DISCOVERY_TIMEOUT,
|
|
689
691
|
},
|
|
690
692
|
});
|
|
691
693
|
|
|
@@ -38,6 +38,7 @@ function isMessageEvent(event: string | undefined): boolean {
|
|
|
38
38
|
*/
|
|
39
39
|
export class HttpMCPTransport implements MCPTransport {
|
|
40
40
|
readonly supportsProtocolVersionDiscovery = true;
|
|
41
|
+
readonly waitsForProtocolVersionDiscovery = true;
|
|
41
42
|
readonly supportsMcpToolParameterHeaders = true;
|
|
42
43
|
private url: URL;
|
|
43
44
|
private abortController?: AbortController;
|
|
@@ -53,6 +53,17 @@ export interface MCPTransport {
|
|
|
53
53
|
*/
|
|
54
54
|
supportsProtocolVersionDiscovery?: boolean;
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Whether the client waits for the `server/discover` response instead of
|
|
58
|
+
* treating a slow response as a legacy server.
|
|
59
|
+
*
|
|
60
|
+
* Transports that always deliver a response, such as Streamable HTTP, set
|
|
61
|
+
* this so a slow modern server is not downgraded to `initialize`. Other
|
|
62
|
+
* transports keep a short probe timeout because a legacy server may never
|
|
63
|
+
* answer the unknown method.
|
|
64
|
+
*/
|
|
65
|
+
waitsForProtocolVersionDiscovery?: boolean;
|
|
66
|
+
|
|
56
67
|
/**
|
|
57
68
|
* Whether this transport mirrors x-mcp-header tool parameters into request
|
|
58
69
|
* headers.
|