@mcp-ts/sdk 1.6.0 → 1.6.2

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 (45) 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-middleware.d.mts +2 -2
  4. package/dist/adapters/agui-middleware.d.ts +2 -2
  5. package/dist/adapters/ai-adapter.d.mts +2 -2
  6. package/dist/adapters/ai-adapter.d.ts +2 -2
  7. package/dist/adapters/langchain-adapter.d.mts +2 -2
  8. package/dist/adapters/langchain-adapter.d.ts +2 -2
  9. package/dist/client/index.d.mts +2 -2
  10. package/dist/client/index.d.ts +2 -2
  11. package/dist/client/react.d.mts +4 -4
  12. package/dist/client/react.d.ts +4 -4
  13. package/dist/client/react.js +96 -44
  14. package/dist/client/react.js.map +1 -1
  15. package/dist/client/react.mjs +96 -44
  16. package/dist/client/react.mjs.map +1 -1
  17. package/dist/client/vue.d.mts +4 -4
  18. package/dist/client/vue.d.ts +4 -4
  19. package/dist/{index-GfC_eNEv.d.ts → index-DhA-OEAe.d.ts} +1 -1
  20. package/dist/{index-DcYfpY3H.d.mts → index-bFL4ZF2N.d.mts} +1 -1
  21. package/dist/index.d.mts +3 -3
  22. package/dist/index.d.ts +3 -3
  23. package/dist/index.js +12 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.mjs +12 -2
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/server/index.d.mts +2 -2
  28. package/dist/server/index.d.ts +2 -2
  29. package/dist/server/index.js +12 -2
  30. package/dist/server/index.js.map +1 -1
  31. package/dist/server/index.mjs +12 -2
  32. package/dist/server/index.mjs.map +1 -1
  33. package/dist/shared/index.d.mts +4 -4
  34. package/dist/shared/index.d.ts +4 -4
  35. package/dist/shared/index.js.map +1 -1
  36. package/dist/shared/index.mjs.map +1 -1
  37. package/dist/{tool-router-_O2tIwf7.d.mts → tool-router-BVaV1udm.d.mts} +1 -1
  38. package/dist/{tool-router-Bn9R0KWr.d.ts → tool-router-Dh2804tM.d.ts} +1 -1
  39. package/dist/{types-CfCoIsWI.d.mts → types-rIuN1CQi.d.mts} +1 -0
  40. package/dist/{types-CfCoIsWI.d.ts → types-rIuN1CQi.d.ts} +1 -0
  41. package/package.json +1 -1
  42. package/src/client/react/oauth-popup.tsx +111 -51
  43. package/src/server/handlers/sse-handler.ts +12 -0
  44. package/src/server/mcp/oauth-client.ts +6 -2
  45. package/src/shared/types.ts +1 -0
@@ -1,9 +1,9 @@
1
- import { c as SSEClient } from '../index-DcYfpY3H.mjs';
2
- export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-DcYfpY3H.mjs';
1
+ import { c as SSEClient } from '../index-bFL4ZF2N.mjs';
2
+ export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-bFL4ZF2N.mjs';
3
3
  import { c as McpConnectionState, M as McpConnectionEvent } from '../events-CK3N--3g.mjs';
4
4
  export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, d as McpObservabilityEvent } from '../events-CK3N--3g.mjs';
5
- import { v as ToolInfo, k as FinishAuthResult, n as ListToolsRpcResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-CfCoIsWI.mjs';
6
- export { p as McpRpcRequest, q as McpRpcResponse } from '../types-CfCoIsWI.mjs';
5
+ import { v as ToolInfo, k as FinishAuthResult, n as ListToolsRpcResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-rIuN1CQi.mjs';
6
+ export { p as McpRpcRequest, q as McpRpcResponse } from '../types-rIuN1CQi.mjs';
7
7
  import '@modelcontextprotocol/ext-apps/app-bridge';
8
8
  import '@modelcontextprotocol/sdk/types.js';
9
9
 
@@ -1,9 +1,9 @@
1
- import { c as SSEClient } from '../index-GfC_eNEv.js';
2
- export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-GfC_eNEv.js';
1
+ import { c as SSEClient } from '../index-DhA-OEAe.js';
2
+ export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-DhA-OEAe.js';
3
3
  import { c as McpConnectionState, M as McpConnectionEvent } from '../events-CK3N--3g.js';
4
4
  export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, d as McpObservabilityEvent } from '../events-CK3N--3g.js';
5
- import { v as ToolInfo, k as FinishAuthResult, n as ListToolsRpcResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-CfCoIsWI.js';
6
- export { p as McpRpcRequest, q as McpRpcResponse } from '../types-CfCoIsWI.js';
5
+ import { v as ToolInfo, k as FinishAuthResult, n as ListToolsRpcResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-rIuN1CQi.js';
6
+ export { p as McpRpcRequest, q as McpRpcResponse } from '../types-rIuN1CQi.js';
7
7
  import '@modelcontextprotocol/ext-apps/app-bridge';
8
8
  import '@modelcontextprotocol/sdk/types.js';
9
9
 
@@ -1,5 +1,5 @@
1
1
  import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from './events-CK3N--3g.js';
2
- import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from './types-CfCoIsWI.js';
2
+ import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from './types-rIuN1CQi.js';
3
3
  import { AppBridge } from '@modelcontextprotocol/ext-apps/app-bridge';
4
4
  import { LoggingMessageNotification } from '@modelcontextprotocol/sdk/types.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from './events-CK3N--3g.mjs';
2
- import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from './types-CfCoIsWI.mjs';
2
+ import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from './types-rIuN1CQi.mjs';
3
3
  import { AppBridge } from '@modelcontextprotocol/ext-apps/app-bridge';
4
4
  import { LoggingMessageNotification } from '@modelcontextprotocol/sdk/types.js';
5
5
 
package/dist/index.d.mts CHANGED
@@ -2,11 +2,11 @@ export { M as MCPClient, a as MultiSessionClient, S as StorageOAuthClientProvide
2
2
  export { A as AuthenticationError, C as ConfigurationError, a as ConnectionError, I as InvalidStateError, M as McpError, N as NotConnectedError, R as RpcErrorCode, b as RpcErrorCodes, S as SessionNotFoundError, c as SessionValidationError, T as ToolExecutionError, U as UnauthorizedError, s as sanitizeServerLabel } from './utils-0qmYrqoa.mjs';
3
3
  export { ClientMetadata, NextMcpHandlerOptions, SSEConnectionManager, SSEHandlerOptions, StorageBackend, createNextMcpHandler, createSSEHandler, storage } from './server/index.mjs';
4
4
  export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, M as McpConnectionEvent, c as McpConnectionState, d as McpObservabilityEvent } from './events-CK3N--3g.mjs';
5
- export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, L as ListPromptsResult, l as ListResourcesResult, m as ListToolsResponse, n as ListToolsRpcResult, M as McpRpcMethod, o as McpRpcParams, p as McpRpcRequest, q as McpRpcResponse, R as ReadResourceParams, r as RestoreSessionResult, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-CfCoIsWI.mjs';
5
+ export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, L as ListPromptsResult, l as ListResourcesResult, m as ListToolsResponse, n as ListToolsRpcResult, M as McpRpcMethod, o as McpRpcParams, p as McpRpcRequest, q as McpRpcResponse, R as ReadResourceParams, r as RestoreSessionResult, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-rIuN1CQi.mjs';
6
6
  export { OAuthClientInformation, OAuthClientInformationFull, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
7
7
  export { CallToolResult, ListToolsResult, Tool } from '@modelcontextprotocol/sdk/types.js';
8
- export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-DcYfpY3H.mjs';
8
+ export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-bFL4ZF2N.mjs';
9
9
  export { CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, MCP_CLIENT_NAME, MCP_CLIENT_VERSION, REDIS_KEY_PREFIX, SESSION_TTL_SECONDS, SOFTWARE_ID, SOFTWARE_VERSION, STATE_EXPIRATION_MS, TOKEN_EXPIRY_BUFFER_MS, ToolUiConfig, createExecuteToolDefinition, createGetSchemaToolDefinition, createListServersToolDefinition, createRegexSearchToolDefinition, createSearchToolDefinition, executeMetaTool, findToolByName, getToolUiResourceUri, isMetaTool, resolveMetaToolProxy } from './shared/index.mjs';
10
- export { C as CompactTool, a as CompressionStats, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, b as ToolIndex, c as ToolIndexOptions, d as ToolListResult, e as ToolRouter, f as ToolRouterClientInput, g as ToolRouterOptions, h as ToolRouterStrategy, i as ToolSearchOptions, j as ToolServerSummary, k as ToolSummary } from './tool-router-_O2tIwf7.mjs';
10
+ export { C as CompactTool, a as CompressionStats, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, b as ToolIndex, c as ToolIndexOptions, d as ToolListResult, e as ToolRouter, f as ToolRouterClientInput, g as ToolRouterOptions, h as ToolRouterStrategy, i as ToolSearchOptions, j as ToolServerSummary, k as ToolSummary } from './tool-router-BVaV1udm.mjs';
11
11
  import '@modelcontextprotocol/sdk/client/auth.js';
12
12
  import '@modelcontextprotocol/ext-apps/app-bridge';
package/dist/index.d.ts CHANGED
@@ -2,11 +2,11 @@ export { M as MCPClient, a as MultiSessionClient, S as StorageOAuthClientProvide
2
2
  export { A as AuthenticationError, C as ConfigurationError, a as ConnectionError, I as InvalidStateError, M as McpError, N as NotConnectedError, R as RpcErrorCode, b as RpcErrorCodes, S as SessionNotFoundError, c as SessionValidationError, T as ToolExecutionError, U as UnauthorizedError, s as sanitizeServerLabel } from './utils-0qmYrqoa.js';
3
3
  export { ClientMetadata, NextMcpHandlerOptions, SSEConnectionManager, SSEHandlerOptions, StorageBackend, createNextMcpHandler, createSSEHandler, storage } from './server/index.js';
4
4
  export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, M as McpConnectionEvent, c as McpConnectionState, d as McpObservabilityEvent } from './events-CK3N--3g.js';
5
- export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, L as ListPromptsResult, l as ListResourcesResult, m as ListToolsResponse, n as ListToolsRpcResult, M as McpRpcMethod, o as McpRpcParams, p as McpRpcRequest, q as McpRpcResponse, R as ReadResourceParams, r as RestoreSessionResult, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-CfCoIsWI.js';
5
+ export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, L as ListPromptsResult, l as ListResourcesResult, m as ListToolsResponse, n as ListToolsRpcResult, M as McpRpcMethod, o as McpRpcParams, p as McpRpcRequest, q as McpRpcResponse, R as ReadResourceParams, r as RestoreSessionResult, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-rIuN1CQi.js';
6
6
  export { OAuthClientInformation, OAuthClientInformationFull, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
7
7
  export { CallToolResult, ListToolsResult, Tool } from '@modelcontextprotocol/sdk/types.js';
8
- export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-GfC_eNEv.js';
8
+ export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-DhA-OEAe.js';
9
9
  export { CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, MCP_CLIENT_NAME, MCP_CLIENT_VERSION, REDIS_KEY_PREFIX, SESSION_TTL_SECONDS, SOFTWARE_ID, SOFTWARE_VERSION, STATE_EXPIRATION_MS, TOKEN_EXPIRY_BUFFER_MS, ToolUiConfig, createExecuteToolDefinition, createGetSchemaToolDefinition, createListServersToolDefinition, createRegexSearchToolDefinition, createSearchToolDefinition, executeMetaTool, findToolByName, getToolUiResourceUri, isMetaTool, resolveMetaToolProxy } from './shared/index.js';
10
- export { C as CompactTool, a as CompressionStats, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, b as ToolIndex, c as ToolIndexOptions, d as ToolListResult, e as ToolRouter, f as ToolRouterClientInput, g as ToolRouterOptions, h as ToolRouterStrategy, i as ToolSearchOptions, j as ToolServerSummary, k as ToolSummary } from './tool-router-Bn9R0KWr.js';
10
+ export { C as CompactTool, a as CompressionStats, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, b as ToolIndex, c as ToolIndexOptions, d as ToolListResult, e as ToolRouter, f as ToolRouterClientInput, g as ToolRouterOptions, h as ToolRouterStrategy, i as ToolSearchOptions, j as ToolServerSummary, k as ToolSummary } from './tool-router-Dh2804tM.js';
11
11
  import '@modelcontextprotocol/sdk/client/auth.js';
12
12
  import '@modelcontextprotocol/ext-apps/app-bridge';
package/dist/index.js CHANGED
@@ -1584,9 +1584,10 @@ var MCPClient = class _MCPClient {
1584
1584
  throw new Error("Server URL is required to create transport");
1585
1585
  }
1586
1586
  const baseUrl = new URL(this.serverUrl);
1587
+ const hasAuthorizationHeader = Object.keys(this.headers || {}).some((key) => key.toLowerCase() === "authorization");
1587
1588
  const transportOptions = {
1588
- authProvider: this.oauthProvider,
1589
- ...this.headers && { headers: this.headers },
1589
+ ...!hasAuthorizationHeader && { authProvider: this.oauthProvider },
1590
+ ...this.headers && { requestInit: { headers: this.headers } },
1590
1591
  /**
1591
1592
  * Custom fetch implementation to handle connection timeouts.
1592
1593
  * Observation: SDK 1.24.0+ connections may hang indefinitely in some environments.
@@ -1687,6 +1688,7 @@ var MCPClient = class _MCPClient {
1687
1688
  serverUrl: this.serverUrl,
1688
1689
  callbackUrl: this.callbackUrl,
1689
1690
  transportType: this.transportType || "streamable_http",
1691
+ headers: this.headers,
1690
1692
  createdAt: this.createdAt,
1691
1693
  active: false
1692
1694
  }, Math.floor(STATE_EXPIRATION_MS / 1e3));
@@ -1711,6 +1713,7 @@ var MCPClient = class _MCPClient {
1711
1713
  serverUrl: this.serverUrl,
1712
1714
  callbackUrl: this.callbackUrl,
1713
1715
  transportType: this.transportType || "streamable_http",
1716
+ headers: this.headers,
1714
1717
  createdAt: this.createdAt || Date.now(),
1715
1718
  active
1716
1719
  };
@@ -2549,6 +2552,11 @@ function isConnectionEvent(event) {
2549
2552
 
2550
2553
  // src/server/handlers/sse-handler.ts
2551
2554
  var DEFAULT_HEARTBEAT_INTERVAL = 3e4;
2555
+ function normalizeHeaders(headers) {
2556
+ if (!headers || typeof headers !== "object") return void 0;
2557
+ const entries = Object.entries(headers).map(([key, value]) => [key.trim(), String(value).trim()]).filter(([key, value]) => key.length > 0 && value.length > 0);
2558
+ return entries.length > 0 ? Object.fromEntries(entries) : void 0;
2559
+ }
2552
2560
  var SSEConnectionManager = class {
2553
2561
  constructor(options, sendEvent) {
2554
2562
  this.options = options;
@@ -2673,6 +2681,7 @@ var SSEConnectionManager = class {
2673
2681
  */
2674
2682
  async connect(params) {
2675
2683
  const { serverName, serverUrl, callbackUrl, transportType } = params;
2684
+ const headers = normalizeHeaders(params.headers);
2676
2685
  const serverId = params.serverId && params.serverId.length <= 12 ? params.serverId : await storage.generateSessionId();
2677
2686
  const existingSessions = await storage.getIdentitySessionsData(this.identity);
2678
2687
  const duplicate = existingSessions.find(
@@ -2699,6 +2708,7 @@ var SSEConnectionManager = class {
2699
2708
  serverUrl,
2700
2709
  callbackUrl,
2701
2710
  transportType,
2711
+ headers,
2702
2712
  ...clientMetadata
2703
2713
  // Spread client metadata (clientName, clientUri, logoUri, policyUri)
2704
2714
  });