@samanhappy/mcphub 1.0.46 → 1.1.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.
Files changed (61) hide show
  1. package/dist/clients/legacyMcpClient.js +30 -4
  2. package/dist/clients/legacyMcpClient.js.map +1 -1
  3. package/dist/clients/openapi.js +4 -1
  4. package/dist/clients/openapi.js.map +1 -1
  5. package/dist/services/mcpService.js +101 -18
  6. package/dist/services/mcpService.js.map +1 -1
  7. package/dist/services/proxy.js +4 -0
  8. package/dist/services/proxy.js.map +1 -1
  9. package/dist/services/sseService.js +11 -8
  10. package/dist/services/sseService.js.map +1 -1
  11. package/dist/utils/listFreshness.js +44 -0
  12. package/dist/utils/listFreshness.js.map +1 -0
  13. package/dist/utils/ssrf.js +49 -2
  14. package/dist/utils/ssrf.js.map +1 -1
  15. package/frontend/dist/assets/{ActivityPage-C4vGn8kC.js → ActivityPage-Dp0qfFJ7.js} +2 -2
  16. package/frontend/dist/assets/{ActivityPage-C4vGn8kC.js.map → ActivityPage-Dp0qfFJ7.js.map} +1 -1
  17. package/frontend/dist/assets/{CopyClientConfigDialog-gqu8M16p.js → CopyClientConfigDialog-Bj0FEskD.js} +2 -2
  18. package/frontend/dist/assets/{CopyClientConfigDialog-gqu8M16p.js.map → CopyClientConfigDialog-Bj0FEskD.js.map} +1 -1
  19. package/frontend/dist/assets/{CredentialsPage-EJYe8sf_.js → CredentialsPage-C-yB8aQU.js} +2 -2
  20. package/frontend/dist/assets/{CredentialsPage-EJYe8sf_.js.map → CredentialsPage-C-yB8aQU.js.map} +1 -1
  21. package/frontend/dist/assets/{Dashboard-CqqzEeM3.js → Dashboard-cbalSWB1.js} +2 -2
  22. package/frontend/dist/assets/{Dashboard-CqqzEeM3.js.map → Dashboard-cbalSWB1.js.map} +1 -1
  23. package/frontend/dist/assets/{EndpointCopy-sH8M0Zl-.js → EndpointCopy-V8MoW7SG.js} +2 -2
  24. package/frontend/dist/assets/{EndpointCopy-sH8M0Zl-.js.map → EndpointCopy-V8MoW7SG.js.map} +1 -1
  25. package/frontend/dist/assets/{GroupsPage-BAiER86x.js → GroupsPage-DTXuiuqc.js} +2 -2
  26. package/frontend/dist/assets/{GroupsPage-BAiER86x.js.map → GroupsPage-DTXuiuqc.js.map} +1 -1
  27. package/frontend/dist/assets/{LoginPage-BPhnf62f.js → LoginPage-kfbiuyWa.js} +2 -2
  28. package/frontend/dist/assets/{LoginPage-BPhnf62f.js.map → LoginPage-kfbiuyWa.js.map} +1 -1
  29. package/frontend/dist/assets/{LogsPage-Ci0H5Hbz.js → LogsPage-Bwv0shjb.js} +2 -2
  30. package/frontend/dist/assets/{LogsPage-Ci0H5Hbz.js.map → LogsPage-Bwv0shjb.js.map} +1 -1
  31. package/frontend/dist/assets/{MarketPage-B0bU64Fu.js → MarketPage-3jMYsH4H.js} +2 -2
  32. package/frontend/dist/assets/{MarketPage-B0bU64Fu.js.map → MarketPage-3jMYsH4H.js.map} +1 -1
  33. package/frontend/dist/assets/{OAuthConsentPage-COPngtNn.js → OAuthConsentPage-DI-IQ2gj.js} +2 -2
  34. package/frontend/dist/assets/{OAuthConsentPage-COPngtNn.js.map → OAuthConsentPage-DI-IQ2gj.js.map} +1 -1
  35. package/frontend/dist/assets/{PromptsPage-DkRz0aOM.js → PromptsPage-BuVTifDV.js} +2 -2
  36. package/frontend/dist/assets/{PromptsPage-DkRz0aOM.js.map → PromptsPage-BuVTifDV.js.map} +1 -1
  37. package/frontend/dist/assets/{ResourcesPage-D9UvvBJO.js → ResourcesPage-COSY92pD.js} +2 -2
  38. package/frontend/dist/assets/{ResourcesPage-D9UvvBJO.js.map → ResourcesPage-COSY92pD.js.map} +1 -1
  39. package/frontend/dist/assets/{ServersPage-D9DDRTwG.js → ServersPage-BlZvDfZE.js} +4 -4
  40. package/frontend/dist/assets/{ServersPage-D9DDRTwG.js.map → ServersPage-BlZvDfZE.js.map} +1 -1
  41. package/frontend/dist/assets/{SettingsPage-p0RqcQ3b.js → SettingsPage-V0TrX4k8.js} +2 -2
  42. package/frontend/dist/assets/{SettingsPage-p0RqcQ3b.js.map → SettingsPage-V0TrX4k8.js.map} +1 -1
  43. package/frontend/dist/assets/{StatusDot-rU2z4UIB.js → StatusDot-BHfWZAic.js} +2 -2
  44. package/frontend/dist/assets/{StatusDot-rU2z4UIB.js.map → StatusDot-BHfWZAic.js.map} +1 -1
  45. package/frontend/dist/assets/{ToggleGroup-B-m_CA-c.js → ToggleGroup-C33UH_Ob.js} +2 -2
  46. package/frontend/dist/assets/{ToggleGroup-B-m_CA-c.js.map → ToggleGroup-C33UH_Ob.js.map} +1 -1
  47. package/frontend/dist/assets/{UsersPage-BtCcY8iT.js → UsersPage-BXjVPFoF.js} +2 -2
  48. package/frontend/dist/assets/{UsersPage-BtCcY8iT.js.map → UsersPage-BXjVPFoF.js.map} +1 -1
  49. package/frontend/dist/assets/{clipboard-ZgOiZZfc.js → clipboard-r7a9vj44.js} +2 -2
  50. package/frontend/dist/assets/{clipboard-ZgOiZZfc.js.map → clipboard-r7a9vj44.js.map} +1 -1
  51. package/frontend/dist/assets/index-pouDG4uY.js +3 -0
  52. package/frontend/dist/assets/{index-DeDkxr8P.js.map → index-pouDG4uY.js.map} +1 -1
  53. package/frontend/dist/assets/{resourceService-B_JEhB8X.js → resourceService-5J2x7MrD.js} +2 -2
  54. package/frontend/dist/assets/{resourceService-B_JEhB8X.js.map → resourceService-5J2x7MrD.js.map} +1 -1
  55. package/frontend/dist/assets/{useCostData-B9tFvSJs.js → useCostData-CjmWUnd9.js} +2 -2
  56. package/frontend/dist/assets/{useCostData-B9tFvSJs.js.map → useCostData-CjmWUnd9.js.map} +1 -1
  57. package/frontend/dist/assets/{variableDetection-DSNGipcp.js → variableDetection-CAv2g3qV.js} +2 -2
  58. package/frontend/dist/assets/{variableDetection-DSNGipcp.js.map → variableDetection-CAv2g3qV.js.map} +1 -1
  59. package/frontend/dist/index.html +1 -1
  60. package/package.json +1 -1
  61. package/frontend/dist/assets/index-DeDkxr8P.js +0 -3
@@ -1,3 +1,4 @@
1
+ import { invalidateListFreshness, recordListFreshness } from '../utils/listFreshness.js';
1
2
  import { Client } from '@modelcontextprotocol/client';
2
3
  import { LEGACY_PROTOCOL_VERSIONS } from '../utils/mcpProtocol.js';
3
4
  /** Keep v1's single-page discovery and output validation while using SDK v2. */
@@ -9,23 +10,48 @@ export class LegacyMcpClient extends Client {
9
10
  supportedProtocolVersions: LEGACY_PROTOCOL_VERSIONS,
10
11
  enforceStrictCapabilities: true,
11
12
  });
13
+ this.listVersions = new Map();
14
+ this.listSnapshots = new Map();
12
15
  this.listedTools = new Map();
13
16
  }
17
+ async freshList(key, fetch, snapshot) {
18
+ const version = (this.listVersions.get(key) ?? 0) + 1;
19
+ this.listVersions.set(key, version);
20
+ const previous = this.listSnapshots.get(key);
21
+ if (previous)
22
+ invalidateListFreshness(previous);
23
+ const startedAt = performance.now();
24
+ const result = await fetch();
25
+ const items = snapshot(result);
26
+ if (this.listVersions.get(key) === version) {
27
+ recordListFreshness(items, result.nextCursor ? undefined : result.ttlMs, startedAt);
28
+ this.listSnapshots.set(key, items);
29
+ }
30
+ return result;
31
+ }
32
+ async close() {
33
+ for (const snapshot of this.listSnapshots.values())
34
+ invalidateListFreshness(snapshot);
35
+ this.listSnapshots.clear();
36
+ for (const [key, version] of this.listVersions)
37
+ this.listVersions.set(key, version + 1);
38
+ await super.close();
39
+ }
14
40
  async listTools(...[params, options]) {
15
- const result = await this.request({ method: 'tools/list', params }, options);
41
+ const result = await this.freshList('tools', () => this.request({ method: 'tools/list', params }, options), (result) => result.tools);
16
42
  this.listedTools.clear();
17
43
  for (const tool of result.tools)
18
44
  this.listedTools.set(tool.name, tool);
19
45
  return result;
20
46
  }
21
47
  listPrompts(...[params, options]) {
22
- return this.request({ method: 'prompts/list', params }, options);
48
+ return this.freshList('prompts', () => this.request({ method: 'prompts/list', params }, options), (result) => result.prompts);
23
49
  }
24
50
  listResources(...[params, options]) {
25
- return this.request({ method: 'resources/list', params }, options);
51
+ return this.freshList('resources', () => this.request({ method: 'resources/list', params }, options), (result) => result.resources);
26
52
  }
27
53
  listResourceTemplates(...[params, options]) {
28
- return this.request({ method: 'resources/templates/list', params }, options);
54
+ return this.freshList('templates', () => this.request({ method: 'resources/templates/list', params }, options), (result) => result.resourceTemplates);
29
55
  }
30
56
  callTool(...[params, options]) {
31
57
  return super.callTool(params, {
@@ -1 +1 @@
1
- {"version":3,"file":"legacyMcpClient.js","sourceRoot":"","sources":["../../src/clients/legacyMcpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,gFAAgF;AAChF,MAAM,OAAO,eAAgB,SAAQ,MAAM;IAGzC,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,CAAuC;QAClE,KAAK,CAAC,IAAI,EAAE;YACV,GAAG,OAAO;YACV,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,yBAAyB,EAAE,wBAAwB;YACnD,yBAAyB,EAAE,IAAI;SAChC,CAAC,CAAC;QARY,gBAAW,GAAG,IAAI,GAAG,EAAgB,CAAC;IASvD,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAkC;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAoC;QAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAEQ,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAsC;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAEQ,qBAAqB,CAC5B,GAAG,CAAC,MAAM,EAAE,OAAO,CAA8C;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAEQ,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAiC;QACpE,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC5B,GAAG,OAAO;YACV,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;SAC7E,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"legacyMcpClient.js","sourceRoot":"","sources":["../../src/clients/legacyMcpClient.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { readFile } from 'node:fs/promises';
5
5
  import { CookieJar } from 'tough-cookie';
6
6
  import SwaggerParser from '@apidevtools/swagger-parser';
7
7
  import * as yaml from 'js-yaml';
8
- import { assertSafeUrl, UnsafeUrlError, createRedirectValidatingFetch } from '../utils/ssrf.js';
8
+ import { assertSafeUrl, UnsafeUrlError, createRedirectValidatingFetch, ssrfConnectionOptions, } from '../utils/ssrf.js';
9
9
  import { getUserDao } from '../dao/index.js';
10
10
  import { sanitizeStringForLogging, createSafeJSON } from '../utils/serialization.js';
11
11
  import { buildMultipartParts, encodeFormUrlEncoded, makeMultipartBodySchemaModelFriendly, selectRequestBodyContent, serializeMultipartBody, } from '../utils/openApiRequestBody.js';
@@ -264,6 +264,7 @@ export class OpenAPIClient {
264
264
  allowInternal: this.allowInternalNetworks,
265
265
  });
266
266
  const response = await this.httpClient.request({
267
+ ...ssrfConnectionOptions(this.allowInternalNetworks),
267
268
  method: 'post',
268
269
  url: safeTokenUrl,
269
270
  baseURL: undefined,
@@ -332,6 +333,7 @@ export class OpenAPIClient {
332
333
  allowInternal: this.allowInternalNetworks,
333
334
  });
334
335
  const requestConfig = {
336
+ ...ssrfConnectionOptions(this.allowInternalNetworks),
335
337
  responseType: 'text',
336
338
  transformResponse: [(data) => data],
337
339
  };
@@ -824,6 +826,7 @@ export class OpenAPIClient {
824
826
  }
825
827
  authorizationUsedForRequest = this.getDefaultAuthorizationHeader();
826
828
  attemptedUpstreamRequest = true;
829
+ Object.assign(requestConfig, ssrfConnectionOptions(this.allowInternalNetworks));
827
830
  const response = await this.httpClient.request(requestConfig);
828
831
  if (cookieSessionEnabled && resolvedTarget) {
829
832
  this.captureResponseCookies(response, resolvedTarget.href, sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/clients/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/clients/openapi.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { preserveListFreshness, combineListFreshness, remainingListTtl, } from '../utils/listFreshness.js';
1
2
  import { expandServerConfig, getServerEnvironment } from './serverConfigEnvironment.js';
2
3
  import { getMcpRequestGroup } from '../utils/mcpRequestGroup.js';
3
4
  import { LegacyMcpClient } from '../clients/legacyMcpClient.js';
@@ -30,7 +31,7 @@ import { removeServerToolEmbeddings, removeToolEmbeddings, saveToolsAsVectorEmbe
30
31
  import { OpenAPIClient } from '../clients/openapi.js';
31
32
  import { RequestContextService } from './requestContextService.js';
32
33
  import { getDataService } from './services.js';
33
- import { getServerDao, getGroupDao, getSystemConfigDao, getBuiltinPromptDao, getBuiltinResourceDao, } from '../dao/index.js';
34
+ import { getBearerKeyDao, getServerDao, getGroupDao, getSystemConfigDao, getBuiltinPromptDao, getBuiltinResourceDao, } from '../dao/index.js';
34
35
  import { initializeAllOAuthClients } from './oauthService.js';
35
36
  import { createOAuthProvider } from './mcpOAuthProvider.js';
36
37
  import { initSmartRoutingService, getSmartRoutingTools, handleSearchToolsRequest, handleDescribeToolRequest, isSmartRoutingGroup, } from './smartRoutingService.js';
@@ -782,7 +783,7 @@ export const setServerInfosForTest = (infos) => {
782
783
  serverInfos = infos;
783
784
  };
784
785
  export const updateServerToolsCache = (serverInfo, tools, options) => {
785
- serverInfo.tools = tools.map((tool) => normalizeToolForCache(serverInfo.name, tool));
786
+ serverInfo.tools = preserveListFreshness(tools, tools.map((tool) => normalizeToolForCache(serverInfo.name, tool)));
786
787
  syncToolsAsVectorEmbeddings(serverInfo.name, serverInfo.tools, {
787
788
  reportProgress: options?.reportEmbeddingProgress === true,
788
789
  }).catch(() => {
@@ -790,10 +791,10 @@ export const updateServerToolsCache = (serverInfo, tools, options) => {
790
791
  });
791
792
  };
792
793
  const updateServerPromptsCache = (serverInfo, prompts) => {
793
- serverInfo.prompts = prompts.map((prompt) => normalizePromptForCache(serverInfo.name, prompt));
794
+ serverInfo.prompts = preserveListFreshness(prompts, prompts.map((prompt) => normalizePromptForCache(serverInfo.name, prompt)));
794
795
  };
795
796
  const updateServerResourcesCache = (serverInfo, resources) => {
796
- serverInfo.resources = resources.map(normalizeResourceForCache);
797
+ serverInfo.resources = preserveListFreshness(resources, resources.map(normalizeResourceForCache));
797
798
  };
798
799
  const logListChangedRefreshError = (listType) => {
799
800
  logger.warn(`Failed to refresh ${listType} list after upstream notification`);
@@ -807,6 +808,7 @@ const createUpstreamMcpClient = (name, getServerInfo) => {
807
808
  jsonSchemaValidator: new ResilientJsonSchemaValidator(),
808
809
  listChanged: {
809
810
  tools: {
811
+ debounceMs: 0,
810
812
  onChanged: (error, tools) => {
811
813
  const serverInfo = getServerInfo();
812
814
  if (error) {
@@ -821,6 +823,7 @@ const createUpstreamMcpClient = (name, getServerInfo) => {
821
823
  },
822
824
  },
823
825
  prompts: {
826
+ debounceMs: 0,
824
827
  onChanged: (error, prompts) => {
825
828
  const serverInfo = getServerInfo();
826
829
  if (error) {
@@ -835,6 +838,7 @@ const createUpstreamMcpClient = (name, getServerInfo) => {
835
838
  },
836
839
  },
837
840
  resources: {
841
+ debounceMs: 0,
838
842
  onChanged: (error, resources) => {
839
843
  const serverInfo = getServerInfo();
840
844
  if (error) {
@@ -3764,19 +3768,24 @@ const handleListResourceTemplatesRequestImpl = async (_, extra) => {
3764
3768
  const { filteredServerInfos, serverConfigsByName } = await getFilteredServerInfosForGroup(lookupGroup, {
3765
3769
  requireClient: true,
3766
3770
  });
3771
+ const snapshots = [];
3767
3772
  const results = await Promise.allSettled(filteredServerInfos.map(async (serverInfo) => {
3768
3773
  if (!serverInfo.client?.listResourceTemplates) {
3769
3774
  return [];
3770
3775
  }
3771
3776
  const templates = await serverInfo.client.listResourceTemplates({}, serverInfo.options || {});
3777
+ snapshots.push(templates.resourceTemplates);
3772
3778
  const filteredTemplates = await filterResourceTemplatesByGroup(lookupGroup, serverInfo.name, templates.resourceTemplates || [], serverConfigsByName.get(serverInfo.name));
3773
3779
  return appsRouteContext.enabled
3774
3780
  ? filteredTemplates
3775
3781
  : filteredTemplates.map((template) => stripMcpAppsMetadata(template));
3776
3782
  }));
3777
- return {
3778
- resourceTemplates: results.flatMap((result) => result.status === 'fulfilled' ? result.value : []),
3779
- };
3783
+ const resourceTemplates = results.flatMap((result) => result.status === 'fulfilled' ? result.value : []);
3784
+ if (results.every((result) => result.status === 'fulfilled') &&
3785
+ snapshots.length === filteredServerInfos.length) {
3786
+ combineListFreshness(snapshots, resourceTemplates);
3787
+ }
3788
+ return { resourceTemplates };
3780
3789
  };
3781
3790
  const handleReadResourceRequestImpl = async (request, extra) => {
3782
3791
  try {
@@ -3954,12 +3963,18 @@ const createPrincipalRuntime = async (name, resolvedConfig) => {
3954
3963
  info.client = protectClient(client);
3955
3964
  await client.connect(transport, resolvedConfig.options || {});
3956
3965
  const capabilities = client.getServerCapabilities();
3957
- if (capabilities?.tools)
3958
- info.tools = (await client.listTools({}, resolvedConfig.options)).tools.map((tool) => normalizeToolForCache(name, tool));
3959
- if (capabilities?.prompts)
3960
- info.prompts = (await client.listPrompts({}, resolvedConfig.options)).prompts.map((prompt) => normalizePromptForCache(name, prompt));
3961
- if (capabilities?.resources)
3962
- info.resources = (await client.listResources({}, resolvedConfig.options)).resources.map(normalizeResourceForCache);
3966
+ if (capabilities?.tools) {
3967
+ const { tools } = await client.listTools({}, resolvedConfig.options);
3968
+ info.tools = preserveListFreshness(tools, tools.map((tool) => normalizeToolForCache(name, tool)));
3969
+ }
3970
+ if (capabilities?.prompts) {
3971
+ const { prompts } = await client.listPrompts({}, resolvedConfig.options);
3972
+ info.prompts = preserveListFreshness(prompts, prompts.map((prompt) => normalizePromptForCache(name, prompt)));
3973
+ }
3974
+ if (capabilities?.resources) {
3975
+ const { resources } = await client.listResources({}, resolvedConfig.options);
3976
+ info.resources = preserveListFreshness(resources, resources.map(normalizeResourceForCache));
3977
+ }
3963
3978
  info.version = client.getServerVersion()?.version;
3964
3979
  // Record the resolved npx/uvx package version backing this server.
3965
3980
  applyResolvedPackageVersion(info, resolvedConfig);
@@ -4111,14 +4126,82 @@ const withPrincipalServers = (handler, operation) => async (request, extra) => {
4111
4126
  release();
4112
4127
  }
4113
4128
  };
4129
+ // Re-read authoritative inputs across awaits; no projected response is cached.
4130
+ const listProjectionInputs = async (group, field) => {
4131
+ const user = UserContextService.getInstance().getCurrentUser();
4132
+ const keyId = RequestContextService.getInstance().getBearerKeyContext().keyId;
4133
+ const liveUser = user?.username ? await getUserDao().findByUsername(user.username) : undefined;
4134
+ const key = keyId ? await getBearerKeyDao().findById(keyId) : undefined;
4135
+ if ((user?.username && (!liveUser || Boolean(user.isAdmin) !== Boolean(liveUser.isAdmin))) ||
4136
+ (keyId && !key?.enabled))
4137
+ return undefined;
4138
+ const lookupGroup = getGroupLookupName(group);
4139
+ const groupDao = getGroupDao();
4140
+ let routeGroup = lookupGroup ? await groupDao.findByName(lookupGroup) : undefined;
4141
+ if (!routeGroup &&
4142
+ lookupGroup &&
4143
+ /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(lookupGroup)) {
4144
+ routeGroup = await groupDao.findById(lookupGroup);
4145
+ }
4146
+ return JSON.stringify([
4147
+ await getServerDao().findAll(),
4148
+ routeGroup,
4149
+ await getSystemConfigDao().get(),
4150
+ field === 'prompts' ? await getBuiltinPromptDao().findEnabled() : undefined,
4151
+ field === 'resources' ? await getBuiltinResourceDao().findEnabled() : undefined,
4152
+ liveUser,
4153
+ key,
4154
+ RequestContextService.getInstance().getRequestContext()?.clientCapabilities,
4155
+ getVisibleServerInfos().map((info) => ({
4156
+ name: info.name,
4157
+ status: info.status,
4158
+ enabled: info.enabled,
4159
+ owner: info.owner,
4160
+ visibility: info.visibility,
4161
+ sharedWithUsers: info.sharedWithUsers,
4162
+ config: info.config,
4163
+ })),
4164
+ ]);
4165
+ };
4114
4166
  // Lists combine cached discovery with live gateway configuration and authorization.
4115
4167
  // Upstream freshness alone cannot guarantee freshness of the resulting projection.
4116
- const withCacheHints = (handler, passthroughTtl = false) => async (request, extra) => {
4168
+ const withCacheHints = (handler, passthroughTtl = false, listField) => async (request, extra) => {
4117
4169
  if (!RequestContextService.getInstance().getRequestContext()?.stateless) {
4118
4170
  return handler(request, extra);
4119
4171
  }
4120
4172
  const startedAt = performance.now();
4173
+ const group = getMcpRequestGroup(extra);
4174
+ const inputs = listField ? await listProjectionInputs(group, listField) : undefined;
4175
+ const before = listField
4176
+ ? await getFilteredServerInfosForGroup(getGroupLookupName(group))
4177
+ : undefined;
4178
+ const snapshots = before && listField && listField !== 'resourceTemplates'
4179
+ ? before.filteredServerInfos.map((info) => info[listField])
4180
+ : [];
4181
+ const clients = before?.filteredServerInfos.map((info) => info.client);
4121
4182
  const result = await handler(request, extra);
4183
+ if (listField) {
4184
+ const after = await getFilteredServerInfosForGroup(getGroupLookupName(group));
4185
+ const stable = typeof inputs === 'string' &&
4186
+ inputs === (await listProjectionInputs(group, listField)) &&
4187
+ before?.filteredServerInfos.length === after.filteredServerInfos.length &&
4188
+ before.filteredServerInfos.every((info, index) => info === after.filteredServerInfos[index] &&
4189
+ info.client === clients?.[index] &&
4190
+ info.status === 'connected' &&
4191
+ (listField === 'resourceTemplates' || info[listField] === snapshots[index]));
4192
+ const generated = (listField === 'tools' && isSmartRoutingGroup(group)) ||
4193
+ (listField === 'prompts' && (await getBuiltinPromptDao().findEnabled()).length > 0) ||
4194
+ (listField === 'resources' && (await getBuiltinResourceDao().findEnabled()).length > 0);
4195
+ const unknownPermissions = RequestContextService.getInstance().getHostedAuthContext();
4196
+ const dependencies = listField === 'resourceTemplates' ? [result.resourceTemplates] : snapshots;
4197
+ return {
4198
+ ...result,
4199
+ ttlMs: stable && !generated && !unknownPermissions
4200
+ ? remainingListTtl(dependencies, startedAt, performance.now())
4201
+ : 0,
4202
+ cacheScope: 'private',
4203
+ };
4204
+ }
4122
4205
  const upstreamTtl = result.ttlMs;
4123
4206
  const ttlMs = passthroughTtl &&
4124
4207
  typeof upstreamTtl === 'number' &&
@@ -4130,12 +4213,12 @@ const withCacheHints = (handler, passthroughTtl = false) => async (request, extr
4130
4213
  // and capabilities. Shared caches must not reuse the gateway result across users.
4131
4214
  return { ...result, ttlMs, cacheScope: 'private' };
4132
4215
  };
4133
- export const handleListToolsRequest = withPrincipalServers(withCacheHints(handleListToolsRequestImpl), 'list');
4216
+ export const handleListToolsRequest = withPrincipalServers(withCacheHints(handleListToolsRequestImpl, false, 'tools'), 'list');
4134
4217
  export const handleCallToolRequest = withPrincipalServers(handleCallToolRequestImpl, 'tool');
4135
4218
  export const handleGetPromptRequest = withPrincipalServers(handleGetPromptRequestImpl, 'prompt');
4136
- export const handleListPromptsRequest = withPrincipalServers(withCacheHints(handleListPromptsRequestImpl), 'list');
4137
- export const handleListResourcesRequest = withPrincipalServers(withCacheHints(handleListResourcesRequestImpl), 'list');
4138
- export const handleListResourceTemplatesRequest = withPrincipalServers(withCacheHints(handleListResourceTemplatesRequestImpl), 'list');
4219
+ export const handleListPromptsRequest = withPrincipalServers(withCacheHints(handleListPromptsRequestImpl, false, 'prompts'), 'list');
4220
+ export const handleListResourcesRequest = withPrincipalServers(withCacheHints(handleListResourcesRequestImpl, false, 'resources'), 'list');
4221
+ export const handleListResourceTemplatesRequest = withPrincipalServers(withCacheHints(handleListResourceTemplatesRequestImpl, false, 'resourceTemplates'), 'list');
4139
4222
  export const handleReadResourceRequest = withPrincipalServers(withCacheHints(handleReadResourceRequestImpl, true), 'resource');
4140
4223
  export const createMcpServer = (name, version, options) => {
4141
4224
  const normalizedOptions = typeof options === 'string' ? { group: options } : (options ?? {});