@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.
@@ -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;;;;UClGL;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"}
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.80",
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.64",
35
+ "@ai-sdk/provider-utils": "5.0.65",
36
36
  "cross-spawn": "^7.0.6",
37
37
  "pkce-challenge": "^5.0.1"
38
38
  },
@@ -685,7 +685,9 @@ class DefaultMCPClient implements Omit<MCPClient, 'experimental_events'> {
685
685
  resultSchema: DiscoverResultSchema,
686
686
  options: {
687
687
  signal,
688
- timeout: DEFAULT_PROTOCOL_DISCOVERY_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.