@mcp-ts/sdk 1.5.3 → 1.6.1

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.
Files changed (60) hide show
  1. package/dist/adapters/agui-adapter.d.mts +2 -2
  2. package/dist/adapters/agui-adapter.d.ts +2 -2
  3. package/dist/adapters/agui-adapter.js +69 -18
  4. package/dist/adapters/agui-adapter.js.map +1 -1
  5. package/dist/adapters/agui-adapter.mjs +69 -18
  6. package/dist/adapters/agui-adapter.mjs.map +1 -1
  7. package/dist/adapters/agui-middleware.d.mts +2 -2
  8. package/dist/adapters/agui-middleware.d.ts +2 -2
  9. package/dist/adapters/ai-adapter.d.mts +2 -2
  10. package/dist/adapters/ai-adapter.d.ts +2 -2
  11. package/dist/adapters/ai-adapter.js +69 -18
  12. package/dist/adapters/ai-adapter.js.map +1 -1
  13. package/dist/adapters/ai-adapter.mjs +69 -18
  14. package/dist/adapters/ai-adapter.mjs.map +1 -1
  15. package/dist/adapters/langchain-adapter.d.mts +2 -2
  16. package/dist/adapters/langchain-adapter.d.ts +2 -2
  17. package/dist/adapters/langchain-adapter.js +69 -18
  18. package/dist/adapters/langchain-adapter.js.map +1 -1
  19. package/dist/adapters/langchain-adapter.mjs +69 -18
  20. package/dist/adapters/langchain-adapter.mjs.map +1 -1
  21. package/dist/client/index.d.mts +2 -2
  22. package/dist/client/index.d.ts +2 -2
  23. package/dist/client/react.d.mts +4 -4
  24. package/dist/client/react.d.ts +4 -4
  25. package/dist/client/react.js.map +1 -1
  26. package/dist/client/react.mjs.map +1 -1
  27. package/dist/client/vue.d.mts +4 -4
  28. package/dist/client/vue.d.ts +4 -4
  29. package/dist/{index-GfC_eNEv.d.ts → index-DhA-OEAe.d.ts} +1 -1
  30. package/dist/{index-DcYfpY3H.d.mts → index-bFL4ZF2N.d.mts} +1 -1
  31. package/dist/index.d.mts +4 -4
  32. package/dist/index.d.ts +4 -4
  33. package/dist/index.js +212 -44
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.mjs +212 -45
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/server/index.d.mts +2 -2
  38. package/dist/server/index.d.ts +2 -2
  39. package/dist/server/index.js +13 -5
  40. package/dist/server/index.js.map +1 -1
  41. package/dist/server/index.mjs +13 -5
  42. package/dist/server/index.mjs.map +1 -1
  43. package/dist/shared/index.d.mts +17 -10
  44. package/dist/shared/index.d.ts +17 -10
  45. package/dist/shared/index.js +199 -39
  46. package/dist/shared/index.js.map +1 -1
  47. package/dist/shared/index.mjs +199 -40
  48. package/dist/shared/index.mjs.map +1 -1
  49. package/dist/{tool-router-DsKhRmJm.d.ts → tool-router-BVaV1udm.d.mts} +57 -8
  50. package/dist/{tool-router-DK0RJblO.d.mts → tool-router-Dh2804tM.d.ts} +57 -8
  51. package/dist/{types-CfCoIsWI.d.mts → types-rIuN1CQi.d.mts} +1 -0
  52. package/dist/{types-CfCoIsWI.d.ts → types-rIuN1CQi.d.ts} +1 -0
  53. package/package.json +3 -1
  54. package/src/server/handlers/sse-handler.ts +12 -0
  55. package/src/server/mcp/oauth-client.ts +10 -6
  56. package/src/shared/index.ts +4 -0
  57. package/src/shared/meta-tools.ts +163 -37
  58. package/src/shared/tool-index.ts +123 -7
  59. package/src/shared/tool-router.ts +40 -7
  60. package/src/shared/types.ts +1 -0
@@ -4,8 +4,8 @@ import { OAuthClientInformationMixed, OAuthTokens } from '@modelcontextprotocol/
4
4
  export { OAuthClientInformation, OAuthClientInformationFull, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
5
5
  import { M as McpConnectionEvent, d as McpObservabilityEvent } from '../events-CK3N--3g.mjs';
6
6
  export { D as Disposable, E as Emitter, b as Event, c as McpConnectionState } from '../events-CK3N--3g.mjs';
7
- import { q as McpRpcResponse, p as McpRpcRequest } from '../types-CfCoIsWI.mjs';
8
- export { a as CallToolRequest, b as CallToolResponse, f as ConnectRequest, g as ConnectResponse, m as ListToolsResponse, T as ToolClient, u as ToolClientProvider, v as ToolInfo } from '../types-CfCoIsWI.mjs';
7
+ import { q as McpRpcResponse, p as McpRpcRequest } from '../types-rIuN1CQi.mjs';
8
+ export { a as CallToolRequest, b as CallToolResponse, f as ConnectRequest, g as ConnectResponse, m as ListToolsResponse, T as ToolClient, u as ToolClientProvider, v as ToolInfo } from '../types-rIuN1CQi.mjs';
9
9
  export { CallToolResult, ListToolsResult, Tool } from '@modelcontextprotocol/sdk/types.js';
10
10
  import '@modelcontextprotocol/sdk/client/auth.js';
11
11
 
@@ -4,8 +4,8 @@ import { OAuthClientInformationMixed, OAuthTokens } from '@modelcontextprotocol/
4
4
  export { OAuthClientInformation, OAuthClientInformationFull, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
5
5
  import { M as McpConnectionEvent, d as McpObservabilityEvent } from '../events-CK3N--3g.js';
6
6
  export { D as Disposable, E as Emitter, b as Event, c as McpConnectionState } from '../events-CK3N--3g.js';
7
- import { q as McpRpcResponse, p as McpRpcRequest } from '../types-CfCoIsWI.js';
8
- export { a as CallToolRequest, b as CallToolResponse, f as ConnectRequest, g as ConnectResponse, m as ListToolsResponse, T as ToolClient, u as ToolClientProvider, v as ToolInfo } from '../types-CfCoIsWI.js';
7
+ import { q as McpRpcResponse, p as McpRpcRequest } from '../types-rIuN1CQi.js';
8
+ export { a as CallToolRequest, b as CallToolResponse, f as ConnectRequest, g as ConnectResponse, m as ListToolsResponse, T as ToolClient, u as ToolClientProvider, v as ToolInfo } from '../types-rIuN1CQi.js';
9
9
  export { CallToolResult, ListToolsResult, Tool } from '@modelcontextprotocol/sdk/types.js';
10
10
  import '@modelcontextprotocol/sdk/client/auth.js';
11
11
 
@@ -1510,9 +1510,10 @@ var MCPClient = class _MCPClient {
1510
1510
  throw new Error("Server URL is required to create transport");
1511
1511
  }
1512
1512
  const baseUrl = new URL(this.serverUrl);
1513
+ const hasAuthorizationHeader = Object.keys(this.headers || {}).some((key) => key.toLowerCase() === "authorization");
1513
1514
  const transportOptions = {
1514
- authProvider: this.oauthProvider,
1515
- ...this.headers && { headers: this.headers },
1515
+ ...!hasAuthorizationHeader && { authProvider: this.oauthProvider },
1516
+ ...this.headers && { requestInit: { headers: this.headers } },
1516
1517
  /**
1517
1518
  * Custom fetch implementation to handle connection timeouts.
1518
1519
  * Observation: SDK 1.24.0+ connections may hang indefinitely in some environments.
@@ -1613,6 +1614,7 @@ var MCPClient = class _MCPClient {
1613
1614
  serverUrl: this.serverUrl,
1614
1615
  callbackUrl: this.callbackUrl,
1615
1616
  transportType: this.transportType || "streamable_http",
1617
+ headers: this.headers,
1616
1618
  createdAt: this.createdAt,
1617
1619
  active: false
1618
1620
  }, Math.floor(STATE_EXPIRATION_MS / 1e3));
@@ -1637,6 +1639,7 @@ var MCPClient = class _MCPClient {
1637
1639
  serverUrl: this.serverUrl,
1638
1640
  callbackUrl: this.callbackUrl,
1639
1641
  transportType: this.transportType || "streamable_http",
1642
+ headers: this.headers,
1640
1643
  createdAt: this.createdAt || Date.now(),
1641
1644
  active
1642
1645
  };
@@ -2196,9 +2199,7 @@ var MCPClient = class _MCPClient {
2196
2199
  * @returns Server name or undefined
2197
2200
  */
2198
2201
  getServerName() {
2199
- const info = this.client?.getServerVersion();
2200
- console.log("server info ->", info);
2201
- return info?.title ?? info?.name ?? this.serverName;
2202
+ return this.serverName;
2202
2203
  }
2203
2204
  /**
2204
2205
  * Gets the server ID
@@ -2477,6 +2478,11 @@ function isConnectionEvent(event) {
2477
2478
 
2478
2479
  // src/server/handlers/sse-handler.ts
2479
2480
  var DEFAULT_HEARTBEAT_INTERVAL = 3e4;
2481
+ function normalizeHeaders(headers) {
2482
+ if (!headers || typeof headers !== "object") return void 0;
2483
+ const entries = Object.entries(headers).map(([key, value]) => [key.trim(), String(value).trim()]).filter(([key, value]) => key.length > 0 && value.length > 0);
2484
+ return entries.length > 0 ? Object.fromEntries(entries) : void 0;
2485
+ }
2480
2486
  var SSEConnectionManager = class {
2481
2487
  constructor(options, sendEvent) {
2482
2488
  this.options = options;
@@ -2601,6 +2607,7 @@ var SSEConnectionManager = class {
2601
2607
  */
2602
2608
  async connect(params) {
2603
2609
  const { serverName, serverUrl, callbackUrl, transportType } = params;
2610
+ const headers = normalizeHeaders(params.headers);
2604
2611
  const serverId = params.serverId && params.serverId.length <= 12 ? params.serverId : await storage.generateSessionId();
2605
2612
  const existingSessions = await storage.getIdentitySessionsData(this.identity);
2606
2613
  const duplicate = existingSessions.find(
@@ -2627,6 +2634,7 @@ var SSEConnectionManager = class {
2627
2634
  serverUrl,
2628
2635
  callbackUrl,
2629
2636
  transportType,
2637
+ headers,
2630
2638
  ...clientMetadata
2631
2639
  // Spread client metadata (clientName, clientUri, logoUri, policyUri)
2632
2640
  });