@mcp-ts/sdk 2.3.4 → 2.4.0
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/README.md +113 -30
- package/dist/adapters/agui-adapter.d.mts +3 -3
- package/dist/adapters/agui-adapter.d.ts +3 -3
- package/dist/adapters/agui-middleware.d.mts +3 -3
- package/dist/adapters/agui-middleware.d.ts +3 -3
- package/dist/adapters/ai-adapter.d.mts +3 -3
- package/dist/adapters/ai-adapter.d.ts +3 -3
- package/dist/adapters/langchain-adapter.d.mts +3 -3
- package/dist/adapters/langchain-adapter.d.ts +3 -3
- package/dist/adapters/mastra-adapter.d.mts +1 -1
- package/dist/adapters/mastra-adapter.d.ts +1 -1
- package/dist/client/index.d.mts +2 -2
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +2 -2
- package/dist/client/index.mjs.map +1 -1
- package/dist/client/react.d.mts +9 -8
- package/dist/client/react.d.ts +9 -8
- package/dist/client/react.js +66 -26
- package/dist/client/react.js.map +1 -1
- package/dist/client/react.mjs +67 -27
- package/dist/client/react.mjs.map +1 -1
- package/dist/client/vue.d.mts +6 -5
- package/dist/client/vue.d.ts +6 -5
- package/dist/client/vue.js +27 -17
- package/dist/client/vue.js.map +1 -1
- package/dist/client/vue.mjs +27 -17
- package/dist/client/vue.mjs.map +1 -1
- package/dist/{index-Cfjsme-a.d.mts → index-ByIjEReo.d.mts} +2 -2
- package/dist/{index-CmjMd2ac.d.ts → index-CtXvKl8N.d.ts} +2 -2
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +728 -306
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +722 -304
- package/dist/index.mjs.map +1 -1
- package/dist/{multi-session-client-C7hGqzgM.d.mts → multi-session-client-CIMUGF8S.d.mts} +15 -33
- package/dist/{multi-session-client-C_kPHpD5.d.ts → multi-session-client-CnvZEGPY.d.ts} +15 -33
- package/dist/server/index.d.mts +45 -17
- package/dist/server/index.d.ts +45 -17
- package/dist/server/index.js +720 -300
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +716 -299
- package/dist/server/index.mjs.map +1 -1
- package/dist/shared/index.d.mts +9 -8
- package/dist/shared/index.d.ts +9 -8
- package/dist/shared/index.js +7 -5
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +5 -4
- package/dist/shared/index.mjs.map +1 -1
- package/dist/{tool-router-BMzhoNYt.d.ts → tool-router-CZMrOG8J.d.ts} +1 -1
- package/dist/{tool-router-BhHsvBfP.d.mts → tool-router-CuApsDiV.d.mts} +1 -1
- package/dist/{types-CxFaaZrM.d.mts → types-DCk_IF4L.d.mts} +5 -3
- package/dist/{types-CxFaaZrM.d.ts → types-DCk_IF4L.d.ts} +5 -3
- package/migrations/neon/20260513010000_install_mcp_sessions.sql +40 -3
- package/migrations/neon/20260513020000_add_session_cleanup_cron.sql +4 -4
- package/migrations/supabase/20260330195700_install_mcp_sessions.sql +67 -3
- package/migrations/supabase/20260421010000_add_session_cleanup_cron.sql +6 -6
- package/package.json +13 -3
- package/src/client/core/sse-client.ts +2 -2
- package/src/client/react/index.ts +1 -1
- package/src/client/react/oauth-popup.tsx +34 -13
- package/src/client/react/use-mcp.ts +19 -45
- package/src/client/utils/session-state.ts +43 -0
- package/src/client/vue/use-mcp.ts +18 -47
- package/src/server/handlers/sse-handler.ts +9 -4
- package/src/server/mcp/multi-session-client.ts +2 -6
- package/src/server/mcp/oauth-client.ts +73 -101
- package/src/server/mcp/storage-oauth-provider.ts +79 -50
- package/src/server/storage/file-backend.ts +74 -18
- package/src/server/storage/index.ts +2 -4
- package/src/server/storage/memory-backend.ts +49 -13
- package/src/server/storage/neon-backend.ts +201 -68
- package/src/server/storage/redis-backend.ts +81 -23
- package/src/server/storage/session-lifecycle.ts +78 -0
- package/src/server/storage/sqlite-backend.ts +89 -15
- package/src/server/storage/supabase-backend.ts +188 -63
- package/src/server/storage/types.ts +49 -16
- package/src/shared/constants.ts +5 -6
- package/src/shared/types.ts +5 -3
- package/src/shared/utils.ts +26 -0
package/dist/shared/index.d.mts
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
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';
|
|
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-DELRKQPU.mjs';
|
|
3
|
-
import { v as ToolInfo } from '../types-
|
|
4
|
-
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 GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from '../types-
|
|
5
|
-
import { d as ToolRouter } from '../tool-router-
|
|
6
|
-
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from '../tool-router-
|
|
3
|
+
import { v as ToolInfo } from '../types-DCk_IF4L.mjs';
|
|
4
|
+
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 GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from '../types-DCk_IF4L.mjs';
|
|
5
|
+
import { d as ToolRouter } from '../tool-router-CuApsDiV.mjs';
|
|
6
|
+
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from '../tool-router-CuApsDiV.mjs';
|
|
7
7
|
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Centralized constants for MCP Redis library
|
|
11
11
|
* Eliminates magic numbers and enables consistent configuration
|
|
12
12
|
*/
|
|
13
|
-
declare const SESSION_TTL_SECONDS = 43200;
|
|
14
13
|
declare const STATE_EXPIRATION_MS: number;
|
|
14
|
+
declare const PENDING_SESSION_EXPIRATION_SECONDS: number;
|
|
15
|
+
declare const DORMANT_SESSION_EXPIRATION_MS: number;
|
|
16
|
+
declare const DORMANT_SESSION_EXPIRATION_SECONDS: number;
|
|
15
17
|
declare const DEFAULT_HEARTBEAT_INTERVAL_MS = 30000;
|
|
16
18
|
declare const REDIS_KEY_PREFIX = "mcp:session:";
|
|
17
|
-
declare const TOKEN_EXPIRY_BUFFER_MS: number;
|
|
18
19
|
declare const DEFAULT_CLIENT_NAME = "MCP Assistant";
|
|
19
20
|
declare const DEFAULT_CLIENT_URI = "https://mcp-assistant.in";
|
|
20
21
|
declare const DEFAULT_LOGO_URI = "https://mcp-assistant.in/logo.svg";
|
|
21
22
|
declare const DEFAULT_POLICY_URI = "https://mcp-assistant.in/privacy";
|
|
22
23
|
declare const SOFTWARE_ID = "@mcp-ts";
|
|
23
|
-
declare const SOFTWARE_VERSION = "
|
|
24
|
+
declare const SOFTWARE_VERSION = "2.3.4";
|
|
24
25
|
declare const MCP_CLIENT_NAME = "mcp-ts-oauth-client";
|
|
25
26
|
declare const MCP_CLIENT_VERSION = "2.0";
|
|
26
27
|
|
|
@@ -146,4 +147,4 @@ declare function resolveMetaToolProxy(toolName: string, args: Record<string, unk
|
|
|
146
147
|
args: Record<string, unknown>;
|
|
147
148
|
};
|
|
148
149
|
|
|
149
|
-
export { type CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, MCP_CLIENT_NAME, MCP_CLIENT_VERSION,
|
|
150
|
+
export { type CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, DORMANT_SESSION_EXPIRATION_MS, DORMANT_SESSION_EXPIRATION_SECONDS, MCP_CLIENT_NAME, MCP_CLIENT_VERSION, PENDING_SESSION_EXPIRATION_SECONDS, REDIS_KEY_PREFIX, SOFTWARE_ID, SOFTWARE_VERSION, STATE_EXPIRATION_MS, ToolInfo, ToolRouter, type ToolUiConfig, createExecuteToolDefinition, createGetSchemaToolDefinition, createListServersToolDefinition, createRegexSearchToolDefinition, createSearchToolDefinition, executeMetaTool, findToolByName, getToolUiResourceUri, isMetaTool, resolveMetaToolProxy };
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
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';
|
|
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-DELRKQPU.js';
|
|
3
|
-
import { v as ToolInfo } from '../types-
|
|
4
|
-
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 GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from '../types-
|
|
5
|
-
import { d as ToolRouter } from '../tool-router-
|
|
6
|
-
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from '../tool-router-
|
|
3
|
+
import { v as ToolInfo } from '../types-DCk_IF4L.js';
|
|
4
|
+
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 GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from '../types-DCk_IF4L.js';
|
|
5
|
+
import { d as ToolRouter } from '../tool-router-CZMrOG8J.js';
|
|
6
|
+
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from '../tool-router-CZMrOG8J.js';
|
|
7
7
|
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Centralized constants for MCP Redis library
|
|
11
11
|
* Eliminates magic numbers and enables consistent configuration
|
|
12
12
|
*/
|
|
13
|
-
declare const SESSION_TTL_SECONDS = 43200;
|
|
14
13
|
declare const STATE_EXPIRATION_MS: number;
|
|
14
|
+
declare const PENDING_SESSION_EXPIRATION_SECONDS: number;
|
|
15
|
+
declare const DORMANT_SESSION_EXPIRATION_MS: number;
|
|
16
|
+
declare const DORMANT_SESSION_EXPIRATION_SECONDS: number;
|
|
15
17
|
declare const DEFAULT_HEARTBEAT_INTERVAL_MS = 30000;
|
|
16
18
|
declare const REDIS_KEY_PREFIX = "mcp:session:";
|
|
17
|
-
declare const TOKEN_EXPIRY_BUFFER_MS: number;
|
|
18
19
|
declare const DEFAULT_CLIENT_NAME = "MCP Assistant";
|
|
19
20
|
declare const DEFAULT_CLIENT_URI = "https://mcp-assistant.in";
|
|
20
21
|
declare const DEFAULT_LOGO_URI = "https://mcp-assistant.in/logo.svg";
|
|
21
22
|
declare const DEFAULT_POLICY_URI = "https://mcp-assistant.in/privacy";
|
|
22
23
|
declare const SOFTWARE_ID = "@mcp-ts";
|
|
23
|
-
declare const SOFTWARE_VERSION = "
|
|
24
|
+
declare const SOFTWARE_VERSION = "2.3.4";
|
|
24
25
|
declare const MCP_CLIENT_NAME = "mcp-ts-oauth-client";
|
|
25
26
|
declare const MCP_CLIENT_VERSION = "2.0";
|
|
26
27
|
|
|
@@ -146,4 +147,4 @@ declare function resolveMetaToolProxy(toolName: string, args: Record<string, unk
|
|
|
146
147
|
args: Record<string, unknown>;
|
|
147
148
|
};
|
|
148
149
|
|
|
149
|
-
export { type CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, MCP_CLIENT_NAME, MCP_CLIENT_VERSION,
|
|
150
|
+
export { type CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, DORMANT_SESSION_EXPIRATION_MS, DORMANT_SESSION_EXPIRATION_SECONDS, MCP_CLIENT_NAME, MCP_CLIENT_VERSION, PENDING_SESSION_EXPIRATION_SECONDS, REDIS_KEY_PREFIX, SOFTWARE_ID, SOFTWARE_VERSION, STATE_EXPIRATION_MS, ToolInfo, ToolRouter, type ToolUiConfig, createExecuteToolDefinition, createGetSchemaToolDefinition, createListServersToolDefinition, createRegexSearchToolDefinition, createSearchToolDefinition, executeMetaTool, findToolByName, getToolUiResourceUri, isMetaTool, resolveMetaToolProxy };
|
package/dist/shared/index.js
CHANGED
|
@@ -68,17 +68,18 @@ var DisposableStore = class {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
// src/shared/constants.ts
|
|
71
|
-
var SESSION_TTL_SECONDS = 43200;
|
|
72
71
|
var STATE_EXPIRATION_MS = 10 * 60 * 1e3;
|
|
72
|
+
var PENDING_SESSION_EXPIRATION_SECONDS = Math.floor(STATE_EXPIRATION_MS / 1e3);
|
|
73
|
+
var DORMANT_SESSION_EXPIRATION_MS = 30 * 24 * 60 * 60 * 1e3;
|
|
74
|
+
var DORMANT_SESSION_EXPIRATION_SECONDS = Math.floor(DORMANT_SESSION_EXPIRATION_MS / 1e3);
|
|
73
75
|
var DEFAULT_HEARTBEAT_INTERVAL_MS = 3e4;
|
|
74
76
|
var REDIS_KEY_PREFIX = "mcp:session:";
|
|
75
|
-
var TOKEN_EXPIRY_BUFFER_MS = 5 * 60 * 1e3;
|
|
76
77
|
var DEFAULT_CLIENT_NAME = "MCP Assistant";
|
|
77
78
|
var DEFAULT_CLIENT_URI = "https://mcp-assistant.in";
|
|
78
79
|
var DEFAULT_LOGO_URI = "https://mcp-assistant.in/logo.svg";
|
|
79
80
|
var DEFAULT_POLICY_URI = "https://mcp-assistant.in/privacy";
|
|
80
81
|
var SOFTWARE_ID = "@mcp-ts";
|
|
81
|
-
var SOFTWARE_VERSION = "
|
|
82
|
+
var SOFTWARE_VERSION = "2.3.4";
|
|
82
83
|
var MCP_CLIENT_NAME = "mcp-ts-oauth-client";
|
|
83
84
|
var MCP_CLIENT_VERSION = "2.0";
|
|
84
85
|
|
|
@@ -1382,6 +1383,8 @@ exports.DEFAULT_CLIENT_URI = DEFAULT_CLIENT_URI;
|
|
|
1382
1383
|
exports.DEFAULT_HEARTBEAT_INTERVAL_MS = DEFAULT_HEARTBEAT_INTERVAL_MS;
|
|
1383
1384
|
exports.DEFAULT_LOGO_URI = DEFAULT_LOGO_URI;
|
|
1384
1385
|
exports.DEFAULT_POLICY_URI = DEFAULT_POLICY_URI;
|
|
1386
|
+
exports.DORMANT_SESSION_EXPIRATION_MS = DORMANT_SESSION_EXPIRATION_MS;
|
|
1387
|
+
exports.DORMANT_SESSION_EXPIRATION_SECONDS = DORMANT_SESSION_EXPIRATION_SECONDS;
|
|
1385
1388
|
exports.DisposableStore = DisposableStore;
|
|
1386
1389
|
exports.Emitter = Emitter;
|
|
1387
1390
|
exports.InvalidStateError = InvalidStateError;
|
|
@@ -1389,16 +1392,15 @@ exports.MCP_CLIENT_NAME = MCP_CLIENT_NAME;
|
|
|
1389
1392
|
exports.MCP_CLIENT_VERSION = MCP_CLIENT_VERSION;
|
|
1390
1393
|
exports.McpError = McpError;
|
|
1391
1394
|
exports.NotConnectedError = NotConnectedError;
|
|
1395
|
+
exports.PENDING_SESSION_EXPIRATION_SECONDS = PENDING_SESSION_EXPIRATION_SECONDS;
|
|
1392
1396
|
exports.REDIS_KEY_PREFIX = REDIS_KEY_PREFIX;
|
|
1393
1397
|
exports.RpcErrorCodes = RpcErrorCodes;
|
|
1394
|
-
exports.SESSION_TTL_SECONDS = SESSION_TTL_SECONDS;
|
|
1395
1398
|
exports.SOFTWARE_ID = SOFTWARE_ID;
|
|
1396
1399
|
exports.SOFTWARE_VERSION = SOFTWARE_VERSION;
|
|
1397
1400
|
exports.STATE_EXPIRATION_MS = STATE_EXPIRATION_MS;
|
|
1398
1401
|
exports.SchemaCompressor = SchemaCompressor;
|
|
1399
1402
|
exports.SessionNotFoundError = SessionNotFoundError;
|
|
1400
1403
|
exports.SessionValidationError = SessionValidationError;
|
|
1401
|
-
exports.TOKEN_EXPIRY_BUFFER_MS = TOKEN_EXPIRY_BUFFER_MS;
|
|
1402
1404
|
exports.ToolExecutionError = ToolExecutionError;
|
|
1403
1405
|
exports.ToolIndex = ToolIndex;
|
|
1404
1406
|
exports.ToolRouter = ToolRouter;
|