@samanhappy/mcphub 1.2.1 → 1.2.3

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 (125) hide show
  1. package/dist/constants/oauthServerDefaults.js +2 -0
  2. package/dist/constants/oauthServerDefaults.js.map +1 -1
  3. package/dist/controllers/bearerKeyController.js +50 -2
  4. package/dist/controllers/bearerKeyController.js.map +1 -1
  5. package/dist/controllers/credentialBindingController.js +30 -1
  6. package/dist/controllers/credentialBindingController.js.map +1 -1
  7. package/dist/controllers/oauthApprovalController.js +63 -0
  8. package/dist/controllers/oauthApprovalController.js.map +1 -0
  9. package/dist/controllers/oauthServerController.js +55 -20
  10. package/dist/controllers/oauthServerController.js.map +1 -1
  11. package/dist/controllers/serverController.js +19 -1
  12. package/dist/controllers/serverController.js.map +1 -1
  13. package/dist/dao/DaoFactory.js +7 -0
  14. package/dist/dao/DaoFactory.js.map +1 -1
  15. package/dist/dao/DatabaseDaoFactory.js +4 -0
  16. package/dist/dao/DatabaseDaoFactory.js.map +1 -1
  17. package/dist/dao/OAuthApprovalDao.js +52 -0
  18. package/dist/dao/OAuthApprovalDao.js.map +1 -0
  19. package/dist/dao/OAuthApprovalDaoDbImpl.js +26 -0
  20. package/dist/dao/OAuthApprovalDaoDbImpl.js.map +1 -0
  21. package/dist/dao/OAuthTokenDaoDbImpl.js +2 -0
  22. package/dist/dao/OAuthTokenDaoDbImpl.js.map +1 -1
  23. package/dist/dao/index.js +1 -0
  24. package/dist/dao/index.js.map +1 -1
  25. package/dist/db/entities/OAuthApproval.js +58 -0
  26. package/dist/db/entities/OAuthApproval.js.map +1 -0
  27. package/dist/db/entities/OAuthToken.js +4 -0
  28. package/dist/db/entities/OAuthToken.js.map +1 -1
  29. package/dist/db/entities/index.js +3 -1
  30. package/dist/db/entities/index.js.map +1 -1
  31. package/dist/middlewares/auth.js +2 -2
  32. package/dist/middlewares/auth.js.map +1 -1
  33. package/dist/middlewares/userContext.js +26 -5
  34. package/dist/middlewares/userContext.js.map +1 -1
  35. package/dist/models/OAuth.js +19 -3
  36. package/dist/models/OAuth.js.map +1 -1
  37. package/dist/routes/index.js +6 -1
  38. package/dist/routes/index.js.map +1 -1
  39. package/dist/services/credentialBindingService.js +39 -3
  40. package/dist/services/credentialBindingService.js.map +1 -1
  41. package/dist/services/forwardAuthService.js +27 -11
  42. package/dist/services/forwardAuthService.js.map +1 -1
  43. package/dist/services/mcpService.js +131 -5
  44. package/dist/services/mcpService.js.map +1 -1
  45. package/dist/services/oauthApprovalService.js +74 -0
  46. package/dist/services/oauthApprovalService.js.map +1 -0
  47. package/dist/services/oauthClientRegistration.js +9 -4
  48. package/dist/services/oauthClientRegistration.js.map +1 -1
  49. package/dist/services/oauthServerService.js +24 -7
  50. package/dist/services/oauthServerService.js.map +1 -1
  51. package/dist/services/personalOAuthService.js +3 -1
  52. package/dist/services/personalOAuthService.js.map +1 -1
  53. package/dist/services/sseService.js +23 -11
  54. package/dist/services/sseService.js.map +1 -1
  55. package/dist/services/userService.js +2 -0
  56. package/dist/services/userService.js.map +1 -1
  57. package/dist/services/vectorSearchService.js +139 -73
  58. package/dist/services/vectorSearchService.js.map +1 -1
  59. package/dist/utils/bearerAuth.js +23 -0
  60. package/dist/utils/bearerAuth.js.map +1 -1
  61. package/dist/utils/migration.js +1 -0
  62. package/dist/utils/migration.js.map +1 -1
  63. package/dist/utils/passthroughHeaders.js +4 -3
  64. package/dist/utils/passthroughHeaders.js.map +1 -1
  65. package/dist/utils/resourceTemplateMatch.js +229 -0
  66. package/dist/utils/resourceTemplateMatch.js.map +1 -0
  67. package/dist/utils/upstreamError.js +10 -1
  68. package/dist/utils/upstreamError.js.map +1 -1
  69. package/frontend/dist/assets/{ActivityPage-DZFLY-Um.js → ActivityPage-DhNQ7kmd.js} +2 -2
  70. package/frontend/dist/assets/{ActivityPage-DZFLY-Um.js.map → ActivityPage-DhNQ7kmd.js.map} +1 -1
  71. package/frontend/dist/assets/CredentialsPage-DysT6EhJ.js +2 -0
  72. package/frontend/dist/assets/CredentialsPage-DysT6EhJ.js.map +1 -0
  73. package/frontend/dist/assets/{Dashboard-BRU2Gk9z.js → Dashboard-CIkS2wIr.js} +2 -2
  74. package/frontend/dist/assets/{Dashboard-BRU2Gk9z.js.map → Dashboard-CIkS2wIr.js.map} +1 -1
  75. package/frontend/dist/assets/{EndpointCopy-3f1Uw-gu.js → EndpointCopy-zuPM6wTV.js} +2 -2
  76. package/frontend/dist/assets/{EndpointCopy-3f1Uw-gu.js.map → EndpointCopy-zuPM6wTV.js.map} +1 -1
  77. package/frontend/dist/assets/{GroupsPage-D_E7QL_o.js → GroupsPage-DXE8on9r.js} +2 -2
  78. package/frontend/dist/assets/{GroupsPage-D_E7QL_o.js.map → GroupsPage-DXE8on9r.js.map} +1 -1
  79. package/frontend/dist/assets/{LoginPage-Bsfdp4yD.js → LoginPage-DP5A-fpr.js} +2 -2
  80. package/frontend/dist/assets/{LoginPage-Bsfdp4yD.js.map → LoginPage-DP5A-fpr.js.map} +1 -1
  81. package/frontend/dist/assets/{LogsPage-CCHmA5cZ.js → LogsPage-kFZF0A3x.js} +2 -2
  82. package/frontend/dist/assets/{LogsPage-CCHmA5cZ.js.map → LogsPage-kFZF0A3x.js.map} +1 -1
  83. package/frontend/dist/assets/{MarketPage-DrQQT14y.js → MarketPage-DaodfOD8.js} +2 -2
  84. package/frontend/dist/assets/{MarketPage-DrQQT14y.js.map → MarketPage-DaodfOD8.js.map} +1 -1
  85. package/frontend/dist/assets/OAuthApprovalsPage-BbkfaOs3.js +2 -0
  86. package/frontend/dist/assets/OAuthApprovalsPage-BbkfaOs3.js.map +1 -0
  87. package/frontend/dist/assets/{OAuthConsentPage-934ieVvL.js → OAuthConsentPage-BX5MIl4y.js} +2 -2
  88. package/frontend/dist/assets/{OAuthConsentPage-934ieVvL.js.map → OAuthConsentPage-BX5MIl4y.js.map} +1 -1
  89. package/frontend/dist/assets/{PromptsPage-QAI8kF63.js → PromptsPage-DEIMpdNn.js} +2 -2
  90. package/frontend/dist/assets/{PromptsPage-QAI8kF63.js.map → PromptsPage-DEIMpdNn.js.map} +1 -1
  91. package/frontend/dist/assets/{ResourcesPage-TclV1l2q.js → ResourcesPage-CjkaRPQd.js} +2 -2
  92. package/frontend/dist/assets/{ResourcesPage-TclV1l2q.js.map → ResourcesPage-CjkaRPQd.js.map} +1 -1
  93. package/frontend/dist/assets/{ServersPage-Bc0tS2uo.js → ServersPage-LpIlO6by.js} +4 -4
  94. package/frontend/dist/assets/{ServersPage-Bc0tS2uo.js.map → ServersPage-LpIlO6by.js.map} +1 -1
  95. package/frontend/dist/assets/SettingsPage-fL5-63Ve.js +14 -0
  96. package/frontend/dist/assets/SettingsPage-fL5-63Ve.js.map +1 -0
  97. package/frontend/dist/assets/{StatusDot-C_UTW6B7.js → StatusDot-DyEnhqJV.js} +2 -2
  98. package/frontend/dist/assets/{StatusDot-C_UTW6B7.js.map → StatusDot-DyEnhqJV.js.map} +1 -1
  99. package/frontend/dist/assets/{ToggleGroup-CUUsTJDm.js → ToggleGroup-CNkUGOeP.js} +2 -2
  100. package/frontend/dist/assets/{ToggleGroup-CUUsTJDm.js.map → ToggleGroup-CNkUGOeP.js.map} +1 -1
  101. package/frontend/dist/assets/{UsersPage-MpTb3xJ-.js → UsersPage-DeGScomQ.js} +2 -2
  102. package/frontend/dist/assets/{UsersPage-MpTb3xJ-.js.map → UsersPage-DeGScomQ.js.map} +1 -1
  103. package/frontend/dist/assets/{clipboard-DVbqnePj.js → clipboard-PC3TyCTa.js} +2 -2
  104. package/frontend/dist/assets/{clipboard-DVbqnePj.js.map → clipboard-PC3TyCTa.js.map} +1 -1
  105. package/frontend/dist/assets/{costRevision-DXEYAFUy.js → costRevision-DkLRM8DI.js} +2 -2
  106. package/frontend/dist/assets/{costRevision-DXEYAFUy.js.map → costRevision-DkLRM8DI.js.map} +1 -1
  107. package/frontend/dist/assets/index-8GliUQTA.js +3 -0
  108. package/frontend/dist/assets/index-8GliUQTA.js.map +1 -0
  109. package/frontend/dist/assets/index-CyD60EHI.css +1 -0
  110. package/frontend/dist/assets/{resourceService-DPjgql8Z.js → resourceService-BN-FT_uq.js} +2 -2
  111. package/frontend/dist/assets/{resourceService-DPjgql8Z.js.map → resourceService-BN-FT_uq.js.map} +1 -1
  112. package/frontend/dist/assets/{useCostData-CDNXYHZf.js → useCostData-DNk0WL-a.js} +2 -2
  113. package/frontend/dist/assets/{useCostData-CDNXYHZf.js.map → useCostData-DNk0WL-a.js.map} +1 -1
  114. package/frontend/dist/assets/{variableDetection-DGr_LErx.js → variableDetection-DQg-vRNn.js} +2 -2
  115. package/frontend/dist/assets/{variableDetection-DGr_LErx.js.map → variableDetection-DQg-vRNn.js.map} +1 -1
  116. package/frontend/dist/index.html +2 -2
  117. package/mcp_settings.json +2 -0
  118. package/package.json +1 -1
  119. package/frontend/dist/assets/CredentialsPage-BqEsnkMx.js +0 -2
  120. package/frontend/dist/assets/CredentialsPage-BqEsnkMx.js.map +0 -1
  121. package/frontend/dist/assets/SettingsPage-Dfhl51E1.js +0 -14
  122. package/frontend/dist/assets/SettingsPage-Dfhl51E1.js.map +0 -1
  123. package/frontend/dist/assets/index-BNm-68Gn.js +0 -3
  124. package/frontend/dist/assets/index-BNm-68Gn.js.map +0 -1
  125. package/frontend/dist/assets/index-C33aH9Y7.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"credentialBindingService.js","sourceRoot":"","sources":["../../src/services/credentialBindingService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentialBindingService.js","sourceRoot":"","sources":["../../src/services/credentialBindingService.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import crypto from 'crypto';
2
2
  import { createRemoteJWKSet, decodeJwt, errors as joseErrors, jwtVerify } from 'jose';
3
3
  import { createUser, findUserByEmail, findUserBySsoUserId, findUserByUsername, } from '../models/User.js';
4
4
  import { normalizeOptionalString, normalizeStringArray, resolveBooleanSetting, resolveStringArraySetting, resolveStringSetting, } from '../utils/settingResolvers.js';
5
+ import { resolveForwardAuthTokenHeaderName } from '../utils/bearerAuth.js';
5
6
  import { logger } from '../utils/logger.js';
6
7
  /**
7
8
  * Forward auth trusts an identity asserted by an upstream gateway as a JWT and
@@ -23,6 +24,8 @@ const DEFAULT_USERNAME_CLAIM = 'preferred_username';
23
24
  const DEFAULT_EMAIL_CLAIM = 'email';
24
25
  const CLOCK_TOLERANCE_SECONDS = 30;
25
26
  const MAX_USERNAME_LENGTH = 255;
27
+ // RFC 9110 field-name: one or more token characters.
28
+ const HEADER_NAME_PATTERN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
26
29
  // Only asymmetric algorithms are meaningful with a remote JWKS. HS* and `none`
27
30
  // are never accepted, whatever the configuration says.
28
31
  const ASYMMETRIC_ALGORITHMS = new Set([
@@ -83,6 +86,7 @@ export const resolveForwardAuthRuntimeConfig = (systemConfig) => {
83
86
  const audience = resolveAudienceSetting(process.env.FORWARD_AUTH_AUDIENCE, jwksSettings.audience);
84
87
  const configuredAlgorithms = resolveStringArraySetting(process.env.FORWARD_AUTH_ALGORITHMS, jwksSettings.algorithms, DEFAULT_ALGORITHMS);
85
88
  const algorithms = configuredAlgorithms.filter((alg) => ASYMMETRIC_ALGORITHMS.has(alg));
89
+ const tokenHeader = resolveForwardAuthTokenHeaderName(systemConfig);
86
90
  const usernameClaim = resolveStringSetting(process.env.FORWARD_AUTH_USERNAME_CLAIM, settings.usernameClaim, DEFAULT_USERNAME_CLAIM) || DEFAULT_USERNAME_CLAIM;
87
91
  const emailClaim = resolveStringSetting(process.env.FORWARD_AUTH_EMAIL_CLAIM, settings.emailClaim, DEFAULT_EMAIL_CLAIM) || DEFAULT_EMAIL_CLAIM;
88
92
  const autoCreate = resolveBooleanSetting(process.env.FORWARD_AUTH_AUTO_CREATE, settings.autoCreate, true);
@@ -109,6 +113,10 @@ export const resolveForwardAuthRuntimeConfig = (systemConfig) => {
109
113
  reportConfigError(`jwks.algorithms must list only asymmetric algorithms (${[...ASYMMETRIC_ALGORITHMS].join(', ')})`);
110
114
  enabled = false;
111
115
  }
116
+ else if (tokenHeader && !HEADER_NAME_PATTERN.test(tokenHeader)) {
117
+ reportConfigError('jwks.tokenHeader must be a valid HTTP header name');
118
+ enabled = false;
119
+ }
112
120
  }
113
121
  return {
114
122
  enabled,
@@ -117,6 +125,7 @@ export const resolveForwardAuthRuntimeConfig = (systemConfig) => {
117
125
  issuer,
118
126
  audience,
119
127
  algorithms,
128
+ tokenHeader,
120
129
  usernameClaim,
121
130
  emailClaim,
122
131
  autoCreate,
@@ -221,6 +230,23 @@ const describeVerificationError = (error) => {
221
230
  return 'JWKS request timed out';
222
231
  return error instanceof Error ? error.message : 'verification failed';
223
232
  };
233
+ const claimsConfiguredIssuer = (token, config) => {
234
+ if (!config.enabled || !config.jwksUri || !config.issuer) {
235
+ return false;
236
+ }
237
+ try {
238
+ return decodeJwt(token).iss === config.issuer;
239
+ }
240
+ catch {
241
+ return false;
242
+ }
243
+ };
244
+ /**
245
+ * Whether forward auth owns this token: it then either authenticates or
246
+ * rejects it, and other methods are never tried. The signature is not checked.
247
+ */
248
+ export const isForwardAuthToken = (token, systemConfig) => Boolean(token) &&
249
+ claimsConfiguredIssuer(token, resolveForwardAuthRuntimeConfig(systemConfig));
224
250
  /**
225
251
  * Authenticate a bearer token as a forward-auth JWT.
226
252
  *
@@ -234,17 +260,7 @@ export const authenticateForwardAuthToken = async (token, systemConfig) => {
234
260
  return { status: 'skipped' };
235
261
  }
236
262
  const config = resolveForwardAuthRuntimeConfig(systemConfig);
237
- if (!config.enabled || !config.jwksUri || !config.issuer) {
238
- return { status: 'skipped' };
239
- }
240
- let unverifiedIssuer;
241
- try {
242
- unverifiedIssuer = decodeJwt(token).iss;
243
- }
244
- catch {
245
- return { status: 'skipped' };
246
- }
247
- if (unverifiedIssuer !== config.issuer) {
263
+ if (!claimsConfiguredIssuer(token, config)) {
248
264
  return { status: 'skipped' };
249
265
  }
250
266
  let payload;
@@ -1 +1 @@
1
- {"version":3,"file":"forwardAuthService.js","sourceRoot":"","sources":["../../src/services/forwardAuthService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forwardAuthService.js","sourceRoot":"","sources":["../../src/services/forwardAuthService.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { withReplicaLock } from './replicaLock.js';
5
5
  import { projectGroupToolName, assertValidGroupToolNames } from '../utils/groupToolNames.js';
6
6
  import { isSafePassthroughHeader } from '../utils/passthroughHeaders.js';
7
7
  import { observeToolCall, setMetricsServer } from './metricsService.js';
8
- import { hasPersonalOAuth, PersonalOAuthContext, personalOAuthContexts, personalAuthorizationRequired, } from './personalOAuthService.js';
8
+ import { hasPersonalOAuth, PersonalOAuthContext, personalOAuthContexts, personalAuthorizationRequired, PersonalAuthorizationRequiredError, } from './personalOAuthService.js';
9
9
  import { preserveListFreshness, combineListFreshness, remainingListTtl, } from '../utils/listFreshness.js';
10
10
  import { expandServerConfig, getServerEnvironment } from './serverConfigEnvironment.js';
11
11
  import { getMcpRequestGroup } from '../utils/mcpRequestGroup.js';
@@ -17,6 +17,7 @@ import { AsyncLocalStorage } from 'node:async_hooks';
17
17
  import { createHash } from 'node:crypto';
18
18
  import { canAccessGroupRoute } from '../utils/groupAccess.js';
19
19
  import { canServeToolRequests } from '../utils/serverAvailability.js';
20
+ import { uriMatchesResourceTemplate } from '../utils/resourceTemplateMatch.js';
20
21
  import { assertToolCallArgumentsSafe, isToolCallGuardEnabled, ToolCallBlockedError, } from '../middlewares/toolCallGuard.js';
21
22
  import { applyHiddenParams, findToolConfig, removeHiddenArguments, } from '../utils/toolConfig.js';
22
23
  import { prepareCapabilitySnapshot, recordCapabilitySnapshot, flushCapabilitySnapshot, } from './capabilitySnapshotService.js';
@@ -31,7 +32,7 @@ import treeKill from 'tree-kill';
31
32
  import { isProcessTreeKillAvailable } from '../utils/processTree.js';
32
33
  import { StdioClientTransport } from '@modelcontextprotocol/client/stdio';
33
34
  import { SSEClientTransport, StreamableHTTPClientTransport, } from '../clients/mcpSdkClient.js';
34
- import { Server } from '@modelcontextprotocol/server';
35
+ import { ProtocolError, Server } from '@modelcontextprotocol/server';
35
36
  import { createFetchWithProxy, getProxyConfigFromEnv } from './proxy.js';
36
37
  import { assertSafeUrl, createRedirectValidatingFetch } from '../utils/ssrf.js';
37
38
  import { createAbortIsolatingFetch } from '../utils/abortIsolatingFetch.js';
@@ -862,6 +863,29 @@ const updateServerPromptsCache = (serverInfo, prompts) => {
862
863
  const updateServerResourcesCache = (serverInfo, resources) => {
863
864
  serverInfo.resources = preserveListFreshness(resources, resources.map(normalizeResourceForCache));
864
865
  };
866
+ const updateServerResourceTemplatesCache = (serverInfo, resourceTemplates) => {
867
+ serverInfo.resourceTemplates = Array.isArray(resourceTemplates) ? resourceTemplates : [];
868
+ };
869
+ // Best effort: many servers do not implement resources/templates/list.
870
+ const refreshServerResourceTemplatesCache = async (getTarget, client, options, owner = client) => {
871
+ try {
872
+ if (!client.getServerCapabilities?.()?.resources)
873
+ return undefined;
874
+ const { resourceTemplates } = await client.listResourceTemplates({}, options || {});
875
+ const target = getTarget();
876
+ if (target && target.client === owner) {
877
+ updateServerResourceTemplatesCache(target, resourceTemplates);
878
+ }
879
+ return resourceTemplates;
880
+ }
881
+ catch (error) {
882
+ logger.debug('Failed to list resource templates for server', {
883
+ serverName: getTarget()?.name,
884
+ error: summarizeErrorForLogging(error),
885
+ });
886
+ return undefined;
887
+ }
888
+ };
865
889
  // Modern HTTP has no list-changed push stream. Refresh only the lists needed
866
890
  // by the current request; TTL and in-flight work are scoped to the live client.
867
891
  const refreshModernServerLists = async (info, fields) => {
@@ -983,6 +1007,10 @@ const createUpstreamMcpClient = (name, getServerInfo, serverConfig, downstream)
983
1007
  }
984
1008
  updateServerResourcesCache(serverInfo, resources);
985
1009
  broadcastResourceListChanged();
1010
+ // Templates have no list-changed notification of their own.
1011
+ if (serverInfo.client) {
1012
+ void refreshServerResourceTemplatesCache(getServerInfo, serverInfo.client, serverInfo.options);
1013
+ }
986
1014
  },
987
1015
  },
988
1016
  },
@@ -2111,6 +2139,7 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
2111
2139
  });
2112
2140
  }
2113
2141
  if (capabilities?.resources) {
2142
+ void refreshServerResourceTemplatesCache(liveServerInfo, client, initRequestOptions || requestOptions);
2114
2143
  client
2115
2144
  .listResources({}, initRequestOptions || requestOptions)
2116
2145
  .then((resources) => {
@@ -2910,6 +2939,7 @@ const ensureServerReady = async (serverInfo) => {
2910
2939
  }
2911
2940
  }
2912
2941
  if (capabilities?.resources) {
2942
+ void refreshServerResourceTemplatesCache(() => serverInfo, client, requestOptions);
2913
2943
  try {
2914
2944
  const resources = await client.listResources({}, requestOptions);
2915
2945
  resourceCount = resources.resources.length;
@@ -3004,6 +3034,7 @@ export const resetServerOAuthConnection = (name) => {
3004
3034
  serverInfo.tools = [];
3005
3035
  serverInfo.prompts = [];
3006
3036
  serverInfo.resources = [];
3037
+ serverInfo.resourceTemplates = undefined;
3007
3038
  serverInfo.oauth = undefined;
3008
3039
  broadcastToolListChanged();
3009
3040
  broadcastPromptListChanged();
@@ -4220,8 +4251,12 @@ const handleListResourceTemplatesRequestImpl = async (_, extra) => {
4220
4251
  if (!serverInfo.client?.listResourceTemplates) {
4221
4252
  return [];
4222
4253
  }
4223
- const templates = await serverInfo.client.listResourceTemplates({}, serverInfo.options || {});
4254
+ const client = serverInfo.client;
4255
+ const templates = await client.listResourceTemplates({}, serverInfo.options || {});
4224
4256
  snapshots.push(templates.resourceTemplates);
4257
+ if (serverInfo.client === client) {
4258
+ updateServerResourceTemplatesCache(serverInfo, templates.resourceTemplates);
4259
+ }
4225
4260
  const filteredTemplates = await filterResourceTemplatesByGroup(lookupGroup, serverInfo.name, templates.resourceTemplates || [], serverConfigsByName.get(serverInfo.name));
4226
4261
  return appsRouteContext.enabled
4227
4262
  ? filteredTemplates
@@ -4234,6 +4269,60 @@ const handleListResourceTemplatesRequestImpl = async (_, extra) => {
4234
4269
  }
4235
4270
  return { resourceTemplates };
4236
4271
  };
4272
+ const TEMPLATE_LIST_RETRY_MS = 60000;
4273
+ const templateListFailedAt = new WeakMap();
4274
+ const getReadableResourceTemplates = async (serverInfo, uri, lookupGroup, groupServerConfig) => {
4275
+ const serverConfig = await getServerDao().findById(serverInfo.name);
4276
+ const groupConfig = await getGroupServerConfig(lookupGroup, serverInfo.name, groupServerConfig);
4277
+ if (serverConfig?.resources?.[uri]?.enabled === false ||
4278
+ (Array.isArray(groupConfig?.resources) && groupConfig.resources.length === 0)) {
4279
+ return [];
4280
+ }
4281
+ const client = serverInfo.client;
4282
+ // Modern upstreams have no list-changed stream, so honor the templates' own TTL.
4283
+ const modern = client?.getProtocolEra?.() === 'modern';
4284
+ if ((serverInfo.resourceTemplates === undefined || modern) &&
4285
+ serverInfo.status === 'connected' &&
4286
+ client &&
4287
+ (templateListFailedAt.get(client) ?? -Infinity) < Date.now() - TEMPLATE_LIST_RETRY_MS) {
4288
+ const refresh = async () => {
4289
+ const listed = await refreshServerResourceTemplatesCache(() => serverInfo, client, serverInfo.options);
4290
+ if (listed === undefined) {
4291
+ templateListFailedAt.set(client, Date.now());
4292
+ }
4293
+ };
4294
+ await (modern ? revalidateUpstreamList(client, 'templates', refresh) : refresh());
4295
+ }
4296
+ const templates = serverInfo.resourceTemplates;
4297
+ if (!templates?.length) {
4298
+ return [];
4299
+ }
4300
+ const enabled = templates.filter((template) => serverConfig?.resources?.[template.uriTemplate]?.enabled !== false);
4301
+ if (!groupConfig ||
4302
+ !Array.isArray(groupConfig.resources) ||
4303
+ groupConfig.resources.includes(uri)) {
4304
+ return enabled;
4305
+ }
4306
+ // Listing shows templates under any selected prefix; reading needs the template itself selected.
4307
+ const selected = new Set(groupConfig.resources);
4308
+ return enabled.filter((template) => selected.has(template.uriTemplate));
4309
+ };
4310
+ const findResourceTemplateServer = async (uri, lookupGroup, filteredServerInfos, serverConfigsByName) => {
4311
+ for (const serverInfo of filteredServerInfos) {
4312
+ // Idle on-demand servers keep cached templates; the read wakes them.
4313
+ const idleOnDemand = serverInfo.config?.startOnDemand === true &&
4314
+ serverInfo.status === 'disconnected' &&
4315
+ !serverInfo.client;
4316
+ if (serverInfo.status !== 'connected' && !idleOnDemand) {
4317
+ continue;
4318
+ }
4319
+ const templates = await getReadableResourceTemplates(serverInfo, uri, lookupGroup, serverConfigsByName.get(serverInfo.name));
4320
+ if (templates.some((template) => uriMatchesResourceTemplate(template.uriTemplate, uri))) {
4321
+ return serverInfo;
4322
+ }
4323
+ }
4324
+ return undefined;
4325
+ };
4237
4326
  const handleReadResourceRequestImpl = async (request, extra) => {
4238
4327
  try {
4239
4328
  const { uri } = request.params;
@@ -4349,7 +4438,32 @@ const handleReadResourceRequestImpl = async (request, extra) => {
4349
4438
  }
4350
4439
  }
4351
4440
  else {
4352
- throw new Error(`Resource not found: ${uri}`);
4441
+ const templateServer = await findResourceTemplateServer(uri, lookupGroup, filteredServerInfos, serverConfigsByName);
4442
+ if (!templateServer) {
4443
+ throw new Error(`Resource not found: ${uri}`);
4444
+ }
4445
+ const releaseOnDemandRead = beginOnDemandToolCall(templateServer);
4446
+ try {
4447
+ if (templateServer.config?.startOnDemand) {
4448
+ if (!templateServer.client) {
4449
+ await ensureServerReady(templateServer);
4450
+ }
4451
+ templateServer.lastUsedAt = Date.now();
4452
+ }
4453
+ const client = templateServer.client;
4454
+ if (!client) {
4455
+ throw new Error(`Resource not found: ${uri}`);
4456
+ }
4457
+ result = readOptions
4458
+ ? await client.readResource({ uri }, readOptions)
4459
+ : await client.readResource({ uri });
4460
+ }
4461
+ finally {
4462
+ releaseOnDemandRead?.();
4463
+ }
4464
+ if (!result || !Array.isArray(result.contents)) {
4465
+ throw new Error(`Failed to read resource: ${uri}`);
4466
+ }
4353
4467
  }
4354
4468
  return appsRouteContext.enabled
4355
4469
  ? result
@@ -4497,6 +4611,8 @@ const createPrincipalRuntime = async (name, resolvedConfig, scope, toolsOnly = f
4497
4611
  info.prompts = preserveListFreshness(prompts, prompts.map((prompt) => normalizePromptForCache(name, prompt)));
4498
4612
  }
4499
4613
  if (capabilities?.resources) {
4614
+ // The raw client: the protected one holds the replica credential lock while listing.
4615
+ void refreshServerResourceTemplatesCache(() => info, client, resolvedConfig.options, info.client);
4500
4616
  const { resources } = await client.listResources({}, resolvedConfig.options);
4501
4617
  info.resources = preserveListFreshness(resources, resources.map(normalizeResourceForCache));
4502
4618
  }
@@ -4755,7 +4871,17 @@ const withPrincipalServers = (handler, operation) => async (request, extra) => {
4755
4871
  : { ...request, params: { ...request.params, name: `${prefix}${requestedName}` } };
4756
4872
  }
4757
4873
  }
4758
- return await principalServerScope.run([...scoped.values()], () => handler(resolvedRequest, extra));
4874
+ const result = await principalServerScope.run([...scoped.values()], () => handler(resolvedRequest, extra));
4875
+ if (operation === 'tools-list' && result.tools?.length === 0) {
4876
+ const authorizationFailures = [...failures].filter(([, error]) => error instanceof PersonalAuthorizationRequiredError);
4877
+ if (authorizationFailures.length) {
4878
+ throw new ProtocolError(-32000, authorizationFailures.map(([, error]) => error.message).join(' '), {
4879
+ code: 'PERSONAL_AUTHORIZATION_REQUIRED',
4880
+ servers: authorizationFailures.map(([name]) => name),
4881
+ });
4882
+ }
4883
+ }
4884
+ return result;
4759
4885
  }
4760
4886
  finally {
4761
4887
  for (const release of releases)