@samanhappy/mcphub 1.0.40 → 1.0.42
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.fr.md +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/dist/clients/legacyMcpClient.js +37 -0
- package/dist/clients/legacyMcpClient.js.map +1 -0
- package/dist/controllers/mcpbController.js +8 -0
- package/dist/controllers/mcpbController.js.map +1 -1
- package/dist/controllers/oauthCallbackController.js +91 -45
- package/dist/controllers/oauthCallbackController.js.map +1 -1
- package/dist/controllers/serverController.js +52 -7
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/middlewares/index.js +10 -7
- package/dist/middlewares/index.js.map +1 -1
- package/dist/routes/index.js +8 -2
- package/dist/routes/index.js.map +1 -1
- package/dist/services/betterAuthConfig.js +19 -0
- package/dist/services/betterAuthConfig.js.map +1 -1
- package/dist/services/keepAliveService.js +1 -2
- package/dist/services/keepAliveService.js.map +1 -1
- package/dist/services/mcpOAuthProvider.js +14 -1
- package/dist/services/mcpOAuthProvider.js.map +1 -1
- package/dist/services/mcpService.js +76 -40
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/oauthService.js +1 -2
- package/dist/services/oauthService.js.map +1 -1
- package/dist/services/proxy.js +0 -8
- package/dist/services/proxy.js.map +1 -1
- package/dist/services/sseService.js +5 -5
- package/dist/services/sseService.js.map +1 -1
- package/dist/services/vectorSearchService.js +24 -11
- package/dist/services/vectorSearchService.js.map +1 -1
- package/dist/utils/jsonSchemaValidator.js +5 -5
- package/dist/utils/jsonSchemaValidator.js.map +1 -1
- package/dist/utils/mcpProtocol.js +9 -0
- package/dist/utils/mcpProtocol.js.map +1 -0
- package/dist/utils/oauthIssuer.js +16 -9
- package/dist/utils/oauthIssuer.js.map +1 -1
- package/dist/utils/rateLimit.js +20 -2
- package/dist/utils/rateLimit.js.map +1 -1
- package/dist/utils/requireAdmin.js +8 -0
- package/dist/utils/requireAdmin.js.map +1 -1
- package/dist/utils/smartRouting.js +69 -27
- package/dist/utils/smartRouting.js.map +1 -1
- package/frontend/dist/assets/{ActivityPage-B5DanW8q.js → ActivityPage-DTouw-He.js} +2 -2
- package/frontend/dist/assets/{ActivityPage-B5DanW8q.js.map → ActivityPage-DTouw-He.js.map} +1 -1
- package/frontend/dist/assets/{CopyClientConfigDialog-C6U6_eyy.js → CopyClientConfigDialog-BtO0YcVK.js} +2 -2
- package/frontend/dist/assets/{CopyClientConfigDialog-C6U6_eyy.js.map → CopyClientConfigDialog-BtO0YcVK.js.map} +1 -1
- package/frontend/dist/assets/{CredentialsPage-CXK8Xkao.js → CredentialsPage-BeSMd9m4.js} +2 -2
- package/frontend/dist/assets/{CredentialsPage-CXK8Xkao.js.map → CredentialsPage-BeSMd9m4.js.map} +1 -1
- package/frontend/dist/assets/Dashboard-DuaKaJAK.js +2 -0
- package/frontend/dist/assets/{Dashboard-LIC6BqIA.js.map → Dashboard-DuaKaJAK.js.map} +1 -1
- package/frontend/dist/assets/{EndpointCopy-CeZbEsF2.js → EndpointCopy-Bos3ZWUc.js} +2 -2
- package/frontend/dist/assets/{EndpointCopy-CeZbEsF2.js.map → EndpointCopy-Bos3ZWUc.js.map} +1 -1
- package/frontend/dist/assets/GroupsPage-Cv3lZSCh.js +33 -0
- package/frontend/dist/assets/{GroupsPage-DwVaRIap.js.map → GroupsPage-Cv3lZSCh.js.map} +1 -1
- package/frontend/dist/assets/{LoginPage-CPqSMwWO.js → LoginPage-DUnjHB-q.js} +2 -2
- package/frontend/dist/assets/{LoginPage-CPqSMwWO.js.map → LoginPage-DUnjHB-q.js.map} +1 -1
- package/frontend/dist/assets/{LogsPage-eCHGem9T.js → LogsPage-BxjYh1MS.js} +2 -2
- package/frontend/dist/assets/{LogsPage-eCHGem9T.js.map → LogsPage-BxjYh1MS.js.map} +1 -1
- package/frontend/dist/assets/MarketPage-BnxAofuO.js +2 -0
- package/frontend/dist/assets/MarketPage-BnxAofuO.js.map +1 -0
- package/frontend/dist/assets/{OAuthConsentPage-DJITYpCM.js → OAuthConsentPage-rAx5ELdp.js} +2 -2
- package/frontend/dist/assets/{OAuthConsentPage-DJITYpCM.js.map → OAuthConsentPage-rAx5ELdp.js.map} +1 -1
- package/frontend/dist/assets/{PromptsPage-DQ02iDOJ.js → PromptsPage-Bh4Woe2Q.js} +2 -2
- package/frontend/dist/assets/{PromptsPage-DQ02iDOJ.js.map → PromptsPage-Bh4Woe2Q.js.map} +1 -1
- package/frontend/dist/assets/{ResourcesPage-mUU0DVus.js → ResourcesPage-BREUhWYG.js} +2 -2
- package/frontend/dist/assets/{ResourcesPage-mUU0DVus.js.map → ResourcesPage-BREUhWYG.js.map} +1 -1
- package/frontend/dist/assets/{ServersPage-DsS8j6tl.js → ServersPage-DCqew7Dq.js} +5 -5
- package/frontend/dist/assets/{ServersPage-DsS8j6tl.js.map → ServersPage-DCqew7Dq.js.map} +1 -1
- package/frontend/dist/assets/SettingsPage-DGAB-Jy8.js +12 -0
- package/frontend/dist/assets/SettingsPage-DGAB-Jy8.js.map +1 -0
- package/frontend/dist/assets/{StatusDot-Bcv2BwIL.js → StatusDot-CYPIH-Iz.js} +2 -2
- package/frontend/dist/assets/{StatusDot-Bcv2BwIL.js.map → StatusDot-CYPIH-Iz.js.map} +1 -1
- package/frontend/dist/assets/{ToggleGroup-C_7sDUlr.js → ToggleGroup-B4Lt01jM.js} +2 -2
- package/frontend/dist/assets/{ToggleGroup-C_7sDUlr.js.map → ToggleGroup-B4Lt01jM.js.map} +1 -1
- package/frontend/dist/assets/{UsersPage-ufaG2-Ag.js → UsersPage-LvOfLsJc.js} +2 -2
- package/frontend/dist/assets/{UsersPage-ufaG2-Ag.js.map → UsersPage-LvOfLsJc.js.map} +1 -1
- package/frontend/dist/assets/clipboard--jmjkvaW.js +2 -0
- package/frontend/dist/assets/clipboard--jmjkvaW.js.map +1 -0
- package/frontend/dist/assets/index-Cv7we3z-.css +1 -0
- package/frontend/dist/assets/index-qPkrYLbl.js +3 -0
- package/frontend/dist/assets/index-qPkrYLbl.js.map +1 -0
- package/frontend/dist/assets/{resourceService-CN5cMjQ0.js → resourceService-DkIvmxRC.js} +2 -2
- package/frontend/dist/assets/{resourceService-CN5cMjQ0.js.map → resourceService-DkIvmxRC.js.map} +1 -1
- package/frontend/dist/assets/{useCostData-B9XzWVsV.js → useCostData-B-uPi7i8.js} +2 -2
- package/frontend/dist/assets/{useCostData-B9XzWVsV.js.map → useCostData-B-uPi7i8.js.map} +1 -1
- package/frontend/dist/assets/{variableDetection-Dxw0g2ON.js → variableDetection-RlrBM33Q.js} +2 -2
- package/frontend/dist/assets/{variableDetection-Dxw0g2ON.js.map → variableDetection-RlrBM33Q.js.map} +1 -1
- package/frontend/dist/index.html +3 -6
- package/package.json +12 -3
- package/frontend/dist/assets/Dashboard-LIC6BqIA.js +0 -2
- package/frontend/dist/assets/GroupsPage-DwVaRIap.js +0 -33
- package/frontend/dist/assets/MarketPage-RqD2-rxq.js +0 -3
- package/frontend/dist/assets/MarketPage-RqD2-rxq.js.map +0 -1
- package/frontend/dist/assets/SettingsPage-CIeF1sDE.js +0 -12
- package/frontend/dist/assets/SettingsPage-CIeF1sDE.js.map +0 -1
- package/frontend/dist/assets/clipboard-BukcCPLt.js +0 -2
- package/frontend/dist/assets/clipboard-BukcCPLt.js.map +0 -1
- package/frontend/dist/assets/index-C8aAOWR7.js +0 -3
- package/frontend/dist/assets/index-C8aAOWR7.js.map +0 -1
- package/frontend/dist/assets/index-D4Vy78bV.css +0 -1
- package/frontend/dist/assets/useSettingsData-J_hwKZA6.js +0 -2
- package/frontend/dist/assets/useSettingsData-J_hwKZA6.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP OAuth Provider Implementation
|
|
3
3
|
*
|
|
4
|
-
* Implements OAuthClientProvider interface from @modelcontextprotocol/
|
|
4
|
+
* Implements OAuthClientProvider interface from @modelcontextprotocol/client
|
|
5
5
|
* to handle OAuth 2.0 authentication for upstream MCP servers using the SDK's built-in
|
|
6
6
|
* OAuth support.
|
|
7
7
|
*
|
|
@@ -234,6 +234,15 @@ export class MCPHubOAuthProvider {
|
|
|
234
234
|
}
|
|
235
235
|
logger.log('Saved OAuth tokens', { serverName: this.serverName });
|
|
236
236
|
}
|
|
237
|
+
// Capture the SDK's actual discovery result before redirecting. Keep this
|
|
238
|
+
// snapshot with the pending flow so callback validation survives restarts.
|
|
239
|
+
saveDiscoveryState(state) {
|
|
240
|
+
const metadata = state.authorizationServerMetadata;
|
|
241
|
+
this._issuer = metadata?.issuer;
|
|
242
|
+
this._issRequired = Boolean(metadata &&
|
|
243
|
+
'authorization_response_iss_parameter_supported' in metadata &&
|
|
244
|
+
metadata.authorization_response_iss_parameter_supported === true);
|
|
245
|
+
}
|
|
237
246
|
/**
|
|
238
247
|
* Redirect to authorization URL
|
|
239
248
|
* In a server environment, we can't directly redirect the user
|
|
@@ -256,6 +265,8 @@ export class MCPHubOAuthProvider {
|
|
|
256
265
|
try {
|
|
257
266
|
const pendingUpdate = {
|
|
258
267
|
authorizationUrl,
|
|
268
|
+
issuer: this._issuer ?? this.serverConfig.oauth?.dynamicRegistration?.issuer,
|
|
269
|
+
issRequired: this._issRequired,
|
|
259
270
|
state,
|
|
260
271
|
};
|
|
261
272
|
if (this._codeVerifier) {
|
|
@@ -278,6 +289,8 @@ export class MCPHubOAuthProvider {
|
|
|
278
289
|
serverInfo.status = 'oauth_required';
|
|
279
290
|
serverInfo.oauth = {
|
|
280
291
|
authorizationUrl,
|
|
292
|
+
issuer: this._issuer ?? this.serverConfig.oauth?.dynamicRegistration?.issuer,
|
|
293
|
+
issRequired: this._issRequired,
|
|
281
294
|
state,
|
|
282
295
|
// codeVerifier is intentionally NOT stored on serverInfo.oauth: it is a
|
|
283
296
|
// PKCE credential, and storing it on the long-lived ServerInfo taints the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpOAuthProvider.js","sourceRoot":"","sources":["../../src/services/mcpOAuthProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcpOAuthProvider.js","sourceRoot":"","sources":["../../src/services/mcpOAuthProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
+
import { LegacyMcpClient } from '../clients/legacyMcpClient.js';
|
|
2
|
+
import { LEGACY_PROTOCOL_VERSIONS } from '../utils/mcpProtocol.js';
|
|
1
3
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
4
|
import { canAccessGroupRoute } from '../utils/groupAccess.js';
|
|
3
5
|
import { PrincipalRuntimeService } from './principalRuntimeService.js';
|
|
4
6
|
import { UserContextService } from './userContextService.js';
|
|
5
7
|
import { deleteCredentialBindings, missingCredentialError } from './credentialBindingService.js';
|
|
6
|
-
import { CredentialBindingError, hasCredentialTemplate, validateCredentialTemplate } from '../utils/credentialTemplate.js';
|
|
8
|
+
import { CredentialBindingError, hasCredentialTemplate, validateCredentialTemplate, } from '../utils/credentialTemplate.js';
|
|
7
9
|
import os from 'os';
|
|
8
10
|
import path from 'path';
|
|
9
11
|
import fs from 'fs';
|
|
10
12
|
import treeKill from 'tree-kill';
|
|
11
13
|
import { isProcessTreeKillAvailable } from '../utils/processTree.js';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
|
|
16
|
-
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
17
|
-
import { StreamableHTTPClientTransport, } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
18
|
-
import { normalizeHeaders } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
14
|
+
import { StdioClientTransport } from '@modelcontextprotocol/client/stdio';
|
|
15
|
+
import { SSEClientTransport, StreamableHTTPClientTransport, } from '@modelcontextprotocol/client';
|
|
16
|
+
import { Server } from '@modelcontextprotocol/server';
|
|
19
17
|
import { createFetchWithProxy, getProxyConfigFromEnv } from './proxy.js';
|
|
20
18
|
import { assertSafeUrl, createRedirectValidatingFetch } from '../utils/ssrf.js';
|
|
21
19
|
import { createAbortIsolatingFetch } from '../utils/abortIsolatingFetch.js';
|
|
@@ -40,7 +38,7 @@ import { assertHostedToolAllowed, filterHostedTools, reserveHostedToolCall, sett
|
|
|
40
38
|
import { formatErrorForLogging, sanitizeStringForLogging, summarizeErrorForLogging, } from '../utils/serialization.js';
|
|
41
39
|
import { addStdioErrorContext, observeStdioStderr } from '../utils/stdioDiagnostics.js';
|
|
42
40
|
import { MCP_APPS_CAPABILITIES, filterModelVisibleTools, hasMcpAppsCapability, isAppOnlyTool, stripMcpAppsMetadata, } from '../utils/mcpApps.js';
|
|
43
|
-
import { supportsCacheRefresh, injectRefreshFlag, clearRunnerCache, resolveRunnerPackageVersion } from '../utils/cacheUtils.js';
|
|
41
|
+
import { supportsCacheRefresh, injectRefreshFlag, clearRunnerCache, resolveRunnerPackageVersion, } from '../utils/cacheUtils.js';
|
|
44
42
|
import { checkPackageUpdate } from '../utils/packageUpdate.js';
|
|
45
43
|
const servers = {};
|
|
46
44
|
import { setupClientKeepAlive } from './keepAliveService.js';
|
|
@@ -691,7 +689,7 @@ const logListChangedRefreshError = (listType) => {
|
|
|
691
689
|
logger.warn(`Failed to refresh ${listType} list after upstream notification`);
|
|
692
690
|
};
|
|
693
691
|
const createUpstreamMcpClient = (name, getServerInfo) => {
|
|
694
|
-
return new
|
|
692
|
+
return new LegacyMcpClient({
|
|
695
693
|
name: `mcp-client-${name}`,
|
|
696
694
|
version: '1.0.0',
|
|
697
695
|
}, {
|
|
@@ -1029,10 +1027,17 @@ export const createRequestContextAwareFetch = (baseFetch, passthroughHeaderNames
|
|
|
1029
1027
|
if (Object.keys(passthroughHeaders).length === 0) {
|
|
1030
1028
|
return baseFetch(url, init);
|
|
1031
1029
|
}
|
|
1030
|
+
const headers = init?.headers;
|
|
1031
|
+
const entries = headers instanceof Headers
|
|
1032
|
+
? [...headers.entries()]
|
|
1033
|
+
: Array.isArray(headers)
|
|
1034
|
+
? headers
|
|
1035
|
+
: Object.entries(headers ?? {});
|
|
1036
|
+
const replacedNames = new Set(Object.keys(passthroughHeaders).map((name) => name.toLowerCase()));
|
|
1032
1037
|
return baseFetch(url, {
|
|
1033
1038
|
...init,
|
|
1034
1039
|
headers: {
|
|
1035
|
-
...
|
|
1040
|
+
...Object.fromEntries(entries.filter(([name]) => !replacedNames.has(name.toLowerCase()))),
|
|
1036
1041
|
...passthroughHeaders,
|
|
1037
1042
|
},
|
|
1038
1043
|
});
|
|
@@ -1070,11 +1075,17 @@ export const createTransportFromConfig = async (name, conf) => {
|
|
|
1070
1075
|
}
|
|
1071
1076
|
if (conf.type === 'streamable-http') {
|
|
1072
1077
|
const options = {};
|
|
1073
|
-
let headers = conf.headers
|
|
1078
|
+
let headers = conf.headers
|
|
1079
|
+
? hasCredentialTemplate(conf)
|
|
1080
|
+
? conf.headers
|
|
1081
|
+
: replaceEnvVars(conf.headers, env)
|
|
1082
|
+
: {};
|
|
1074
1083
|
const baseFetch = createAbortIsolatingFetch(createFetchWithProxy(getProxyConfigFromEnv(env)));
|
|
1075
1084
|
const requestAwareFetch = createRedirectValidatingFetch(createRequestContextAwareFetch(baseFetch, conf.passthroughHeaders), allowInternal);
|
|
1076
1085
|
// Create OAuth provider if configured - SDK will handle authentication automatically
|
|
1077
|
-
const authProvider = hasCredentialTemplate(conf)
|
|
1086
|
+
const authProvider = hasCredentialTemplate(conf)
|
|
1087
|
+
? undefined
|
|
1088
|
+
: await createOAuthProvider(name, conf);
|
|
1078
1089
|
if (authProvider) {
|
|
1079
1090
|
options.authProvider = authProvider;
|
|
1080
1091
|
// When the OAuth provider is active, strip any static Authorization
|
|
@@ -1097,11 +1108,17 @@ export const createTransportFromConfig = async (name, conf) => {
|
|
|
1097
1108
|
else if (conf.url) {
|
|
1098
1109
|
// SSE transport
|
|
1099
1110
|
const options = {};
|
|
1100
|
-
let headers = conf.headers
|
|
1111
|
+
let headers = conf.headers
|
|
1112
|
+
? hasCredentialTemplate(conf)
|
|
1113
|
+
? conf.headers
|
|
1114
|
+
: replaceEnvVars(conf.headers, env)
|
|
1115
|
+
: {};
|
|
1101
1116
|
const baseFetch = createAbortIsolatingFetch(createFetchWithProxy(getProxyConfigFromEnv(env)));
|
|
1102
1117
|
const requestAwareFetch = createRedirectValidatingFetch(createRequestContextAwareFetch(baseFetch, conf.passthroughHeaders), allowInternal);
|
|
1103
1118
|
// Create OAuth provider if configured - SDK will handle authentication automatically
|
|
1104
|
-
const authProvider = hasCredentialTemplate(conf)
|
|
1119
|
+
const authProvider = hasCredentialTemplate(conf)
|
|
1120
|
+
? undefined
|
|
1121
|
+
: await createOAuthProvider(name, conf);
|
|
1105
1122
|
if (authProvider) {
|
|
1106
1123
|
options.authProvider = authProvider;
|
|
1107
1124
|
// Drop static Authorization header when OAuth manages auth (see above).
|
|
@@ -1189,11 +1206,11 @@ const callToolWithReconnect = async (serverInfo, toolParams, options, maxRetries
|
|
|
1189
1206
|
throw new Error(`Client not found for server: ${serverInfo.name}`);
|
|
1190
1207
|
}
|
|
1191
1208
|
if (hasCredentialTemplate(serverInfo.config)) {
|
|
1192
|
-
return client.callTool(toolParams,
|
|
1209
|
+
return client.callTool(toolParams, options || {});
|
|
1193
1210
|
}
|
|
1194
1211
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
1195
1212
|
try {
|
|
1196
|
-
const result = await client.callTool(toolParams,
|
|
1213
|
+
const result = await client.callTool(toolParams, options || {});
|
|
1197
1214
|
// Check auth error
|
|
1198
1215
|
checkAuthError(result);
|
|
1199
1216
|
return result;
|
|
@@ -1206,10 +1223,12 @@ const callToolWithReconnect = async (serverInfo, toolParams, options, maxRetries
|
|
|
1206
1223
|
if (attempt < maxRetries && transport && ((isStreamableHttp && isHttp40xError) || isSSE)) {
|
|
1207
1224
|
logger.warn(`${isHttp40xError ? 'HTTP 40x error' : 'error'} detected for ${isStreamableHttp ? 'StreamableHTTP' : 'SSE'} server ${serverInfo.name}${isolated ? ` (isolated session ${isolated.sessionId})` : ''}, attempting reconnection (attempt ${attempt + 1}/${maxRetries + 1})`);
|
|
1208
1225
|
try {
|
|
1209
|
-
const
|
|
1210
|
-
if (!
|
|
1226
|
+
const rawConfig = await getServerDao().findById(serverInfo.name);
|
|
1227
|
+
if (!rawConfig) {
|
|
1211
1228
|
throw new Error(`Server configuration not found for: ${serverInfo.name}`);
|
|
1212
1229
|
}
|
|
1230
|
+
// Match initial connection expansion before URL validation and transport creation.
|
|
1231
|
+
const server = replaceEnvVars(rawConfig);
|
|
1213
1232
|
const newTransport = await createTransportFromConfig(serverInfo.name, server);
|
|
1214
1233
|
const newClient = createUpstreamMcpClient(serverInfo.name, () => serverInfo);
|
|
1215
1234
|
// Reconnect with new transport
|
|
@@ -1363,10 +1382,18 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
|
|
|
1363
1382
|
if (hasCredentialTemplate(expandedConf)) {
|
|
1364
1383
|
validateCredentialTemplate(expandedConf);
|
|
1365
1384
|
nextServerInfos.push({
|
|
1366
|
-
name,
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1385
|
+
name,
|
|
1386
|
+
owner: expandedConf.owner,
|
|
1387
|
+
visibility: expandedConf.visibility,
|
|
1388
|
+
sharedWithUsers: expandedConf.sharedWithUsers,
|
|
1389
|
+
enabled: true,
|
|
1390
|
+
status: 'disconnected',
|
|
1391
|
+
error: null,
|
|
1392
|
+
tools: [],
|
|
1393
|
+
prompts: [],
|
|
1394
|
+
resources: [],
|
|
1395
|
+
createTime: Date.now(),
|
|
1396
|
+
config: expandedConf,
|
|
1370
1397
|
});
|
|
1371
1398
|
continue;
|
|
1372
1399
|
}
|
|
@@ -1952,7 +1979,9 @@ export const getServersInfo = async (page, limit, user) => {
|
|
|
1952
1979
|
config: resolvedType || serverConfig?.description || serverConfig?.command
|
|
1953
1980
|
? {
|
|
1954
1981
|
...(resolvedType ? { type: resolvedType } : {}),
|
|
1955
|
-
...(hasCredentialTemplate(serverConfig)
|
|
1982
|
+
...(hasCredentialTemplate(serverConfig)
|
|
1983
|
+
? { credentialTemplate: validateCredentialTemplate(serverConfig) }
|
|
1984
|
+
: {}),
|
|
1956
1985
|
...(serverConfig?.description ? { description: serverConfig.description } : {}),
|
|
1957
1986
|
// Expose command so the frontend can determine if reinstall is
|
|
1958
1987
|
// supported (npx/uvx only). This is not a secret — it's the
|
|
@@ -1973,6 +2002,12 @@ export const getServerByName = (name) => {
|
|
|
1973
2002
|
export const getServerByOAuthState = (state) => {
|
|
1974
2003
|
return serverInfos.find((serverInfo) => serverInfo.oauth?.state === state);
|
|
1975
2004
|
};
|
|
2005
|
+
// Get server by the persisted pending-authorization state (restart recovery).
|
|
2006
|
+
// This is an exact match against a stored, server-generated state — never a
|
|
2007
|
+
// lookup derived from attacker-controlled input (see GHSA-vc28-27px-x492).
|
|
2008
|
+
export const getServerByPendingOAuthState = (state) => {
|
|
2009
|
+
return serverInfos.find((serverInfo) => serverInfo.config?.oauth?.pendingAuthorization?.state === state);
|
|
2010
|
+
};
|
|
1976
2011
|
/**
|
|
1977
2012
|
* Reconnect a server after OAuth authorization or configuration change
|
|
1978
2013
|
* This will close the existing connection and reinitialize the server
|
|
@@ -3089,7 +3124,9 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3089
3124
|
// Call the tool on the target server (MCP servers)
|
|
3090
3125
|
// For servers with perSessionClient: true, use a per-session dedicated client
|
|
3091
3126
|
let isolatedCtx;
|
|
3092
|
-
if (targetServerInfo.config?.perSessionClient &&
|
|
3127
|
+
if (targetServerInfo.config?.perSessionClient &&
|
|
3128
|
+
!hasCredentialTemplate(targetServerInfo.config) &&
|
|
3129
|
+
sessionId) {
|
|
3093
3130
|
const isolated = await getOrCreateIsolatedClient(sessionId, targetServerInfo);
|
|
3094
3131
|
isolatedCtx = { sessionId, client: isolated.client, transport: isolated.transport };
|
|
3095
3132
|
}
|
|
@@ -3253,7 +3290,9 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3253
3290
|
// Handle MCP servers
|
|
3254
3291
|
// For servers with perSessionClient: true, use a per-session dedicated client
|
|
3255
3292
|
let isolatedCtx;
|
|
3256
|
-
if (serverInfo.config?.perSessionClient &&
|
|
3293
|
+
if (serverInfo.config?.perSessionClient &&
|
|
3294
|
+
!hasCredentialTemplate(serverInfo.config) &&
|
|
3295
|
+
sessionId) {
|
|
3257
3296
|
const isolated = await getOrCreateIsolatedClient(sessionId, serverInfo);
|
|
3258
3297
|
isolatedCtx = { sessionId, client: isolated.client, transport: isolated.transport };
|
|
3259
3298
|
}
|
|
@@ -3700,9 +3739,7 @@ const createPrincipalRuntime = async (name, resolvedConfig) => {
|
|
|
3700
3739
|
const client = new OpenAPIClient(resolvedConfig);
|
|
3701
3740
|
await client.initialize();
|
|
3702
3741
|
info.openApiClient = protectClient(client);
|
|
3703
|
-
info.tools = client
|
|
3704
|
-
.getTools()
|
|
3705
|
-
.map((tool) => ({
|
|
3742
|
+
info.tools = client.getTools().map((tool) => ({
|
|
3706
3743
|
...tool,
|
|
3707
3744
|
name: `${name}${getNameSeparator()}${tool.name}`,
|
|
3708
3745
|
inputSchema: cleanInputSchema(tool.inputSchema),
|
|
@@ -3710,7 +3747,7 @@ const createPrincipalRuntime = async (name, resolvedConfig) => {
|
|
|
3710
3747
|
}
|
|
3711
3748
|
else {
|
|
3712
3749
|
const transport = await createTransportFromConfig(name, resolvedConfig);
|
|
3713
|
-
const client = new
|
|
3750
|
+
const client = new LegacyMcpClient({ name: `mcp-client-${name}`, version: '1.0.0' }, {
|
|
3714
3751
|
capabilities: MCP_APPS_CAPABILITIES,
|
|
3715
3752
|
jsonSchemaValidator: new ResilientJsonSchemaValidator(),
|
|
3716
3753
|
});
|
|
@@ -3788,9 +3825,7 @@ const withPrincipalServers = (handler, operation) => async (request, extra) => {
|
|
|
3788
3825
|
: request?.params?.name;
|
|
3789
3826
|
// An explicit REST target takes precedence over every qualified-name prefix.
|
|
3790
3827
|
// Otherwise prefer the longest exposed prefix, including group aliases.
|
|
3791
|
-
let target = extra?.server
|
|
3792
|
-
? candidates.find((info) => info.name === extra.server)
|
|
3793
|
-
: undefined;
|
|
3828
|
+
let target = extra?.server ? candidates.find((info) => info.name === extra.server) : undefined;
|
|
3794
3829
|
if (extra?.server && !target && (operation === 'tool' || operation === 'prompt')) {
|
|
3795
3830
|
throw new ToolUnavailableError(`Tool not available: ${requestedName}`, 'server-or-name-not-found');
|
|
3796
3831
|
}
|
|
@@ -3892,6 +3927,7 @@ export const createMcpServer = (name, version, options) => {
|
|
|
3892
3927
|
}
|
|
3893
3928
|
// If no group, use default name (global routing)
|
|
3894
3929
|
const server = new Server({ name: serverName, version }, {
|
|
3930
|
+
supportedProtocolVersions: LEGACY_PROTOCOL_VERSIONS,
|
|
3895
3931
|
capabilities: {
|
|
3896
3932
|
tools: { listChanged: true },
|
|
3897
3933
|
prompts: { listChanged: true },
|
|
@@ -3902,13 +3938,13 @@ export const createMcpServer = (name, version, options) => {
|
|
|
3902
3938
|
? { instructions: normalizedOptions.instructions }
|
|
3903
3939
|
: {}),
|
|
3904
3940
|
});
|
|
3905
|
-
server.setRequestHandler(
|
|
3906
|
-
server.setRequestHandler(
|
|
3907
|
-
server.setRequestHandler(
|
|
3908
|
-
server.setRequestHandler(
|
|
3909
|
-
server.setRequestHandler(
|
|
3910
|
-
server.setRequestHandler(
|
|
3911
|
-
server.setRequestHandler(
|
|
3941
|
+
server.setRequestHandler('tools/list', handleListToolsRequest);
|
|
3942
|
+
server.setRequestHandler('tools/call', handleCallToolRequest);
|
|
3943
|
+
server.setRequestHandler('prompts/get', handleGetPromptRequest);
|
|
3944
|
+
server.setRequestHandler('prompts/list', handleListPromptsRequest);
|
|
3945
|
+
server.setRequestHandler('resources/list', handleListResourcesRequest);
|
|
3946
|
+
server.setRequestHandler('resources/templates/list', handleListResourceTemplatesRequest);
|
|
3947
|
+
server.setRequestHandler('resources/read', handleReadResourceRequest);
|
|
3912
3948
|
return server;
|
|
3913
3949
|
};
|
|
3914
3950
|
export const getFilteredServerInfosForGroup = async (group, options) => {
|