@samanhappy/mcphub 1.1.6 → 1.1.8

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 (145) hide show
  1. package/dist/clients/openapi.js +2 -1
  2. package/dist/clients/openapi.js.map +1 -1
  3. package/dist/controllers/authController.js +27 -1
  4. package/dist/controllers/authController.js.map +1 -1
  5. package/dist/controllers/configController.js +4 -1
  6. package/dist/controllers/configController.js.map +1 -1
  7. package/dist/controllers/groupController.js +21 -6
  8. package/dist/controllers/groupController.js.map +1 -1
  9. package/dist/controllers/metricsController.js +33 -0
  10. package/dist/controllers/metricsController.js.map +1 -0
  11. package/dist/controllers/oauthServerController.js +12 -14
  12. package/dist/controllers/oauthServerController.js.map +1 -1
  13. package/dist/controllers/serverController.js +117 -11
  14. package/dist/controllers/serverController.js.map +1 -1
  15. package/dist/dao/GroupDaoDbImpl.js +9 -0
  16. package/dist/dao/GroupDaoDbImpl.js.map +1 -1
  17. package/dist/dao/OAuthTokenDaoDbImpl.js +2 -0
  18. package/dist/dao/OAuthTokenDaoDbImpl.js.map +1 -1
  19. package/dist/dao/ServerDao.js.map +1 -1
  20. package/dist/dao/ServerDaoDbImpl.js.map +1 -1
  21. package/dist/db/entities/Group.js +8 -0
  22. package/dist/db/entities/Group.js.map +1 -1
  23. package/dist/db/entities/OAuthToken.js +4 -0
  24. package/dist/db/entities/OAuthToken.js.map +1 -1
  25. package/dist/db/entities/Server.js +4 -0
  26. package/dist/db/entities/Server.js.map +1 -1
  27. package/dist/middlewares/auth.js +7 -25
  28. package/dist/middlewares/auth.js.map +1 -1
  29. package/dist/middlewares/toolCallGuard.js +499 -0
  30. package/dist/middlewares/toolCallGuard.js.map +1 -0
  31. package/dist/middlewares/userContext.js +6 -34
  32. package/dist/middlewares/userContext.js.map +1 -1
  33. package/dist/models/OAuth.js +14 -93
  34. package/dist/models/OAuth.js.map +1 -1
  35. package/dist/routes/index.js +4 -1
  36. package/dist/routes/index.js.map +1 -1
  37. package/dist/services/betterAuthConfig.js +1 -0
  38. package/dist/services/betterAuthConfig.js.map +1 -1
  39. package/dist/services/contextCostService.js +3 -1
  40. package/dist/services/contextCostService.js.map +1 -1
  41. package/dist/services/groupService.js +1 -0
  42. package/dist/services/groupService.js.map +1 -1
  43. package/dist/services/mcpOAuthProvider.js +0 -2
  44. package/dist/services/mcpOAuthProvider.js.map +1 -1
  45. package/dist/services/mcpService.js +120 -45
  46. package/dist/services/mcpService.js.map +1 -1
  47. package/dist/services/metricsService.js +54 -0
  48. package/dist/services/metricsService.js.map +1 -0
  49. package/dist/services/oauthClientRegistration.js +1 -1
  50. package/dist/services/oauthClientRegistration.js.map +1 -1
  51. package/dist/services/oauthServerService.js +15 -1
  52. package/dist/services/oauthServerService.js.map +1 -1
  53. package/dist/services/openApiGeneratorService.js +3 -1
  54. package/dist/services/openApiGeneratorService.js.map +1 -1
  55. package/dist/services/personalOAuthService.js +70 -8
  56. package/dist/services/personalOAuthService.js.map +1 -1
  57. package/dist/services/registrationService.js +28 -0
  58. package/dist/services/registrationService.js.map +1 -0
  59. package/dist/services/smartRoutingService.js +7 -6
  60. package/dist/services/smartRoutingService.js.map +1 -1
  61. package/dist/services/templateService.js +3 -1
  62. package/dist/services/templateService.js.map +1 -1
  63. package/dist/services/toolResultCompressionService.js +26 -1
  64. package/dist/services/toolResultCompressionService.js.map +1 -1
  65. package/dist/services/userService.js +22 -4
  66. package/dist/services/userService.js.map +1 -1
  67. package/dist/utils/migration.js +4 -2
  68. package/dist/utils/migration.js.map +1 -1
  69. package/dist/utils/oauthBearer.js +4 -2
  70. package/dist/utils/oauthBearer.js.map +1 -1
  71. package/dist/utils/oauthRedirectUri.js +3 -11
  72. package/dist/utils/oauthRedirectUri.js.map +1 -1
  73. package/dist/utils/parameterConversion.js +9 -4
  74. package/dist/utils/parameterConversion.js.map +1 -1
  75. package/dist/utils/passthroughHeaders.js +17 -0
  76. package/dist/utils/passthroughHeaders.js.map +1 -0
  77. package/dist/utils/rateLimit.js +1 -1
  78. package/dist/utils/rateLimit.js.map +1 -1
  79. package/dist/utils/serialization.js +2 -5
  80. package/dist/utils/serialization.js.map +1 -1
  81. package/dist/utils/serverConfigValidation.js +2 -1
  82. package/dist/utils/serverConfigValidation.js.map +1 -1
  83. package/dist/utils/settingsSync.js +58 -5
  84. package/dist/utils/settingsSync.js.map +1 -1
  85. package/dist/utils/tokenTruncation.js +1 -1
  86. package/dist/utils/tokenTruncation.js.map +1 -1
  87. package/dist/utils/toolConfig.js +93 -0
  88. package/dist/utils/toolConfig.js.map +1 -0
  89. package/dist/utils/userSession.js +29 -0
  90. package/dist/utils/userSession.js.map +1 -0
  91. package/frontend/dist/assets/{ActivityPage-e2s2j32V.js → ActivityPage-CJdAfOUF.js} +2 -2
  92. package/frontend/dist/assets/{ActivityPage-e2s2j32V.js.map → ActivityPage-CJdAfOUF.js.map} +1 -1
  93. package/frontend/dist/assets/{CopyClientConfigDialog-B71Cl89b.js → CopyClientConfigDialog-DKktm8jj.js} +2 -2
  94. package/frontend/dist/assets/{CopyClientConfigDialog-B71Cl89b.js.map → CopyClientConfigDialog-DKktm8jj.js.map} +1 -1
  95. package/frontend/dist/assets/{CredentialsPage-BnA17pRJ.js → CredentialsPage-CPyZrp4Z.js} +2 -2
  96. package/frontend/dist/assets/{CredentialsPage-BnA17pRJ.js.map → CredentialsPage-CPyZrp4Z.js.map} +1 -1
  97. package/frontend/dist/assets/{Dashboard-gC_Z286J.js → Dashboard-DM_IiBIT.js} +2 -2
  98. package/frontend/dist/assets/{Dashboard-gC_Z286J.js.map → Dashboard-DM_IiBIT.js.map} +1 -1
  99. package/frontend/dist/assets/{EndpointCopy-BjD8ehcn.js → EndpointCopy-DHQjJesJ.js} +2 -2
  100. package/frontend/dist/assets/{EndpointCopy-BjD8ehcn.js.map → EndpointCopy-DHQjJesJ.js.map} +1 -1
  101. package/frontend/dist/assets/{GroupsPage-DiT_skCf.js → GroupsPage-VKHjil-L.js} +4 -4
  102. package/frontend/dist/assets/GroupsPage-VKHjil-L.js.map +1 -0
  103. package/frontend/dist/assets/LoginPage-CKrI0By4.js +2 -0
  104. package/frontend/dist/assets/LoginPage-CKrI0By4.js.map +1 -0
  105. package/frontend/dist/assets/{LogsPage-BzI3IAHO.js → LogsPage-Dh8gRpEH.js} +2 -2
  106. package/frontend/dist/assets/{LogsPage-BzI3IAHO.js.map → LogsPage-Dh8gRpEH.js.map} +1 -1
  107. package/frontend/dist/assets/{MarketPage-DVo32QTs.js → MarketPage-BN4qL8L9.js} +2 -2
  108. package/frontend/dist/assets/{MarketPage-DVo32QTs.js.map → MarketPage-BN4qL8L9.js.map} +1 -1
  109. package/frontend/dist/assets/{OAuthConsentPage-DUapnxQ9.js → OAuthConsentPage-Cyj-rrA4.js} +2 -2
  110. package/frontend/dist/assets/{OAuthConsentPage-DUapnxQ9.js.map → OAuthConsentPage-Cyj-rrA4.js.map} +1 -1
  111. package/frontend/dist/assets/{PromptsPage-BAqJay5m.js → PromptsPage-YWD04XeI.js} +2 -2
  112. package/frontend/dist/assets/{PromptsPage-BAqJay5m.js.map → PromptsPage-YWD04XeI.js.map} +1 -1
  113. package/frontend/dist/assets/{ResourcesPage-kIOm5X1A.js → ResourcesPage-CVRzHCf4.js} +2 -2
  114. package/frontend/dist/assets/{ResourcesPage-kIOm5X1A.js.map → ResourcesPage-CVRzHCf4.js.map} +1 -1
  115. package/frontend/dist/assets/ServersPage-DJBurfOe.js +39 -0
  116. package/frontend/dist/assets/ServersPage-DJBurfOe.js.map +1 -0
  117. package/frontend/dist/assets/{SettingsPage-DkMmUgCh.js → SettingsPage-3sK6NJRn.js} +6 -6
  118. package/frontend/dist/assets/SettingsPage-3sK6NJRn.js.map +1 -0
  119. package/frontend/dist/assets/{StatusDot-Bm_C7v3r.js → StatusDot-CLZidCyq.js} +2 -2
  120. package/frontend/dist/assets/{StatusDot-Bm_C7v3r.js.map → StatusDot-CLZidCyq.js.map} +1 -1
  121. package/frontend/dist/assets/{ToggleGroup-DcOtP3Gf.js → ToggleGroup-Dfh4jKpP.js} +2 -2
  122. package/frontend/dist/assets/{ToggleGroup-DcOtP3Gf.js.map → ToggleGroup-Dfh4jKpP.js.map} +1 -1
  123. package/frontend/dist/assets/{UsersPage-DpcbXD3K.js → UsersPage-DfFqSRVb.js} +2 -2
  124. package/frontend/dist/assets/{UsersPage-DpcbXD3K.js.map → UsersPage-DfFqSRVb.js.map} +1 -1
  125. package/frontend/dist/assets/{clipboard-CvokTzlX.js → clipboard-wUZFI68F.js} +2 -2
  126. package/frontend/dist/assets/{clipboard-CvokTzlX.js.map → clipboard-wUZFI68F.js.map} +1 -1
  127. package/frontend/dist/assets/framework-vendor-CQFm9vKd.js.map +1 -1
  128. package/frontend/dist/assets/index-BbogfcdA.js +3 -0
  129. package/frontend/dist/assets/index-BbogfcdA.js.map +1 -0
  130. package/frontend/dist/assets/{resourceService-CbZwkCgS.js → resourceService-D7yitP7i.js} +2 -2
  131. package/frontend/dist/assets/{resourceService-CbZwkCgS.js.map → resourceService-D7yitP7i.js.map} +1 -1
  132. package/frontend/dist/assets/{useCostData-DZ5NdhVp.js → useCostData-33G6s4EW.js} +2 -2
  133. package/frontend/dist/assets/{useCostData-DZ5NdhVp.js.map → useCostData-33G6s4EW.js.map} +1 -1
  134. package/frontend/dist/assets/{variableDetection-SMtrW-P5.js → variableDetection-BVSe56ia.js} +2 -2
  135. package/frontend/dist/assets/{variableDetection-SMtrW-P5.js.map → variableDetection-BVSe56ia.js.map} +1 -1
  136. package/frontend/dist/index.html +1 -1
  137. package/package.json +3 -2
  138. package/frontend/dist/assets/GroupsPage-DiT_skCf.js.map +0 -1
  139. package/frontend/dist/assets/LoginPage-DK3WmTV9.js +0 -2
  140. package/frontend/dist/assets/LoginPage-DK3WmTV9.js.map +0 -1
  141. package/frontend/dist/assets/ServersPage-CkUdGq0R.js +0 -39
  142. package/frontend/dist/assets/ServersPage-CkUdGq0R.js.map +0 -1
  143. package/frontend/dist/assets/SettingsPage-DkMmUgCh.js.map +0 -1
  144. package/frontend/dist/assets/index-DkQidC_d.js +0 -3
  145. package/frontend/dist/assets/index-DkQidC_d.js.map +0 -1
@@ -1,9 +1,8 @@
1
+ import { getUserSessionVersion, resolveJwtUser } from '../utils/userSession.js';
1
2
  import { getOAuthServer, handleTokenRequest, handleAuthenticateRequest, } from '../services/oauthServerService.js';
2
3
  import { findOAuthClientIncludingCimd, isCimdClientId } from '../services/cimdClientService.js';
3
4
  import { getSystemConfigDao, getGroupDao, getServerDao } from '../dao/index.js';
4
5
  import OAuth2Server from '@node-oauth/oauth2-server';
5
- import jwt from 'jsonwebtoken';
6
- import { JWT_SECRET } from '../config/jwt.js';
7
6
  import { resolveBetterAuthUser } from '../services/betterAuthSession.js';
8
7
  import { cloneDefaultOAuthServerConfig } from '../constants/oauthServerDefaults.js';
9
8
  import { getPublicInstallBaseUrl, getProtectedResourceUrlFromMetadataRequest, } from '../utils/protectedResource.js';
@@ -29,6 +28,7 @@ async function resolveBetterAuthUserForAuthorize(req) {
29
28
  const authenticatedUser = {
30
29
  username: user.username,
31
30
  isAdmin: !!user.isAdmin,
31
+ sessionVersion: getUserSessionVersion(user),
32
32
  };
33
33
  req.user = authenticatedUser;
34
34
  return authenticatedUser;
@@ -42,7 +42,7 @@ async function resolveBetterAuthUserForAuthorize(req) {
42
42
  /**
43
43
  * Attempt to attach a user to the request based on a JWT token present in header, query, or body.
44
44
  */
45
- function resolveUserFromRequest(req) {
45
+ async function resolveUserFromRequest(req) {
46
46
  const headerToken = req.header('x-auth-token');
47
47
  const queryToken = typeof req.query.token === 'string' ? req.query.token : undefined;
48
48
  const bodyToken = req.body && typeof req.body.token === 'string'
@@ -52,16 +52,14 @@ function resolveUserFromRequest(req) {
52
52
  if (!token) {
53
53
  return null;
54
54
  }
55
- try {
56
- const decoded = jwt.verify(token, JWT_SECRET);
57
- if (decoded?.user) {
58
- return decoded.user;
55
+ const user = await resolveJwtUser(token);
56
+ return user
57
+ ? {
58
+ username: user.username,
59
+ isAdmin: !!user.isAdmin,
60
+ sessionVersion: getUserSessionVersion(user),
59
61
  }
60
- }
61
- catch (error) {
62
- logger.warn('Invalid JWT supplied to OAuth authorize endpoint:', error);
63
- }
64
- return null;
62
+ : null;
65
63
  }
66
64
  /**
67
65
  * Helper function to escape HTML
@@ -327,7 +325,7 @@ export const getAuthorize = async (req, res) => {
327
325
  // Check if user is authenticated (including via JWT token)
328
326
  let user = req.user;
329
327
  if (!user) {
330
- const tokenUser = resolveUserFromRequest(req);
328
+ const tokenUser = await resolveUserFromRequest(req);
331
329
  if (tokenUser) {
332
330
  req.user = tokenUser;
333
331
  user = tokenUser;
@@ -448,7 +446,7 @@ export const postAuthorize = async (req, res) => {
448
446
  // Better Auth session cookie for social-login users — see #815).
449
447
  let user = req.user;
450
448
  if (!user) {
451
- const tokenUser = resolveUserFromRequest(req);
449
+ const tokenUser = await resolveUserFromRequest(req);
452
450
  if (tokenUser) {
453
451
  req.user = tokenUser;
454
452
  user = tokenUser;
@@ -1 +1 @@
1
- {"version":3,"file":"oauthServerController.js","sourceRoot":"","sources":["../../src/controllers/oauthServerController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauthServerController.js","sourceRoot":"","sources":["../../src/controllers/oauthServerController.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ import { getSmartRoutingConfig, parseBooleanEnvVar, parseFullSchemaTopN, parseSi
24
24
  import { TOOL_DEFINITION_FIELDS } from '../constants/smartRoutingDefaults.js';
25
25
  import { previewOpenApiToolStats } from '../services/openApiToolStatsService.js';
26
26
  import { logger } from '../utils/logger.js';
27
+ import { findToolConfigKey, resolveRuntimeToolName } from '../utils/toolConfig.js';
28
+ // Runtime names of a connected server's tools, to resolve which tool a request means
29
+ const liveToolNames = (serverName) => (getServerByName(serverName)?.tools ?? []).map((tool) => tool.name);
27
30
  const getRequestUser = (req) => {
28
31
  return req.user || null;
29
32
  };
@@ -65,7 +68,9 @@ const ensureNonAdminCanManageConfig = (req, res, config) => {
65
68
  success: false,
66
69
  message: config.oauth?.allowInsecureTokenEndpoint === true
67
70
  ? 'Only admins can create or modify servers allowing HTTP OAuth token endpoints'
68
- : 'Only admins can create or modify stdio-based servers',
71
+ : config.passthroughHeaders?.length || config.openapi?.passthroughHeaders?.length
72
+ ? 'Only admins can create or modify servers forwarding caller headers'
73
+ : 'Only admins can create or modify stdio-based servers',
69
74
  });
70
75
  return false;
71
76
  }
@@ -89,8 +94,10 @@ const clearDescriptionOverride = (items, itemName) => {
89
94
  return nextItems;
90
95
  }
91
96
  const { description: _description, ...remainingConfig } = itemConfig;
92
- if (remainingConfig.enabled === false) {
93
- nextItems[itemName] = { enabled: false };
97
+ // Keep the entry while it still says something: a disable or hidden parameters.
98
+ if (remainingConfig.enabled === false ||
99
+ Object.keys(remainingConfig).some((key) => key !== 'enabled')) {
100
+ nextItems[itemName] = remainingConfig;
94
101
  }
95
102
  else {
96
103
  delete nextItems[itemName];
@@ -645,7 +652,10 @@ export const batchCreateServers = async (req, res) => {
645
652
  success: false,
646
653
  message: normalizedConfig.oauth?.allowInsecureTokenEndpoint === true
647
654
  ? 'Only admins can create or modify servers allowing HTTP OAuth token endpoints'
648
- : 'Only admins can create or modify stdio-based servers',
655
+ : normalizedConfig.passthroughHeaders?.length ||
656
+ normalizedConfig.openapi?.passthroughHeaders?.length
657
+ ? 'Only admins can create or modify servers forwarding caller headers'
658
+ : 'Only admins can create or modify stdio-based servers',
649
659
  });
650
660
  failureCount++;
651
661
  continue;
@@ -873,7 +883,9 @@ export const updateServer = async (req, res) => {
873
883
  if (!existingServer) {
874
884
  return;
875
885
  }
876
- if ((existingServer.oauth?.allowInsecureTokenEndpoint === true &&
886
+ if (((existingServer.oauth?.allowInsecureTokenEndpoint === true ||
887
+ Boolean(existingServer.passthroughHeaders?.length ||
888
+ existingServer.openapi?.passthroughHeaders?.length)) &&
877
889
  !ensureNonAdminCanManageConfig(req, res, existingServer)) ||
878
890
  !ensureNonAdminCanManageConfig(req, res, normalizedConfig)) {
879
891
  return;
@@ -1320,8 +1332,9 @@ export const toggleTool = async (req, res) => {
1320
1332
  const serverDao = getServerDao();
1321
1333
  // Initialize tools config if it doesn't exist
1322
1334
  const tools = server.tools || {};
1323
- // Set the tool's enabled state (preserve existing description if any)
1324
- tools[toolName] = { ...tools[toolName], enabled };
1335
+ // Set the tool's enabled state in its existing entry (keeps description and hidden parameters)
1336
+ const configKey = findToolConfigKey(tools, serverName, toolName, liveToolNames(serverName));
1337
+ tools[configKey] = { ...tools[configKey], enabled };
1325
1338
  // Update via DAO (supports both file and database modes)
1326
1339
  const result = await serverDao.updateTools(serverName, tools);
1327
1340
  if (!result) {
@@ -1385,10 +1398,11 @@ export const updateToolDescription = async (req, res) => {
1385
1398
  // Initialize tools config if it doesn't exist
1386
1399
  const tools = server.tools || {};
1387
1400
  // Set the tool's description
1388
- if (!tools[toolName]) {
1389
- tools[toolName] = { enabled: true };
1401
+ const configKey = findToolConfigKey(tools, serverName, toolName, liveToolNames(serverName));
1402
+ if (!tools[configKey]) {
1403
+ tools[configKey] = { enabled: true };
1390
1404
  }
1391
- tools[toolName].description = description;
1405
+ tools[configKey].description = description;
1392
1406
  // Update via DAO (supports both file and database modes)
1393
1407
  const result = await serverDao.updateTools(serverName, tools);
1394
1408
  if (!result) {
@@ -1420,6 +1434,94 @@ export const updateToolDescription = async (req, res) => {
1420
1434
  });
1421
1435
  }
1422
1436
  };
1437
+ // Set the top-level input parameters of a tool that models do not see. An
1438
+ // empty list removes the setting.
1439
+ export const updateToolHiddenParams = async (req, res) => {
1440
+ try {
1441
+ const serverName = decodeURIComponent(req.params.serverName);
1442
+ const toolName = decodeURIComponent(req.params.toolName);
1443
+ const { hiddenParams } = req.body;
1444
+ if (!serverName || !toolName || ['__proto__', 'constructor', 'prototype'].includes(toolName)) {
1445
+ res.status(400).json({
1446
+ success: false,
1447
+ message: 'Server name and tool name are required',
1448
+ });
1449
+ return;
1450
+ }
1451
+ if (!Array.isArray(hiddenParams) ||
1452
+ !hiddenParams.every((name) => typeof name === 'string' && name.length > 0)) {
1453
+ res.status(400).json({
1454
+ success: false,
1455
+ message: 'hiddenParams must be an array of parameter names',
1456
+ });
1457
+ return;
1458
+ }
1459
+ const server = await loadAuthorizedServer(req, res, serverName);
1460
+ if (!server) {
1461
+ return;
1462
+ }
1463
+ // Checked against the live schema when the tool is known; a disconnected
1464
+ // server's settings are stored as given, and required ones are never hidden.
1465
+ // The dashboard sends the runtime (prefixed) name, a direct caller may send
1466
+ // the bare one.
1467
+ const runtimeName = resolveRuntimeToolName(serverName, toolName, liveToolNames(serverName));
1468
+ const liveTool = getServerByName(serverName)?.tools?.find((tool) => tool.name === runtimeName);
1469
+ if (liveTool) {
1470
+ const schema = liveTool.inputSchema;
1471
+ const required = Array.isArray(schema.required) ? schema.required : [];
1472
+ const properties = schema.properties ?? {};
1473
+ const invalid = hiddenParams.find((name) => required.includes(name) || !Object.prototype.hasOwnProperty.call(properties, name));
1474
+ if (invalid) {
1475
+ res.status(400).json({
1476
+ success: false,
1477
+ message: required.includes(invalid)
1478
+ ? `Parameter '${invalid}' is required and cannot be hidden`
1479
+ : `Tool ${toolName} has no parameter '${invalid}'`,
1480
+ });
1481
+ return;
1482
+ }
1483
+ }
1484
+ // Write into the entry that already exists under either name, so a bare-name
1485
+ // description and a prefixed-name hiddenParams never shadow each other.
1486
+ const tools = { ...(server.tools || {}) };
1487
+ const configKey = findToolConfigKey(tools, serverName, toolName, liveToolNames(serverName));
1488
+ const { hiddenParams: _previous, ...toolConfig } = tools[configKey] ?? { enabled: true };
1489
+ const nextConfig = hiddenParams.length
1490
+ ? { ...toolConfig, hiddenParams: [...new Set(hiddenParams)] }
1491
+ : toolConfig;
1492
+ if (nextConfig.enabled !== false && Object.keys(nextConfig).every((key) => key === 'enabled')) {
1493
+ delete tools[configKey];
1494
+ }
1495
+ else {
1496
+ tools[configKey] = nextConfig;
1497
+ }
1498
+ const result = await getServerDao().updateTools(serverName, tools);
1499
+ if (!result) {
1500
+ res.status(500).json({
1501
+ success: false,
1502
+ message: 'Failed to save settings',
1503
+ });
1504
+ return;
1505
+ }
1506
+ const liveServer = getServerByName(serverName);
1507
+ if (liveServer?.config) {
1508
+ liveServer.config = { ...liveServer.config, tools };
1509
+ }
1510
+ notifyToolChanged();
1511
+ syncToolEmbedding(serverName, toolName);
1512
+ res.json({
1513
+ success: true,
1514
+ data: { hiddenParams: tools[configKey]?.hiddenParams ?? [] },
1515
+ message: `Tool ${toolName} hidden parameters updated successfully`,
1516
+ });
1517
+ }
1518
+ catch (error) {
1519
+ res.status(500).json({
1520
+ success: false,
1521
+ message: 'Internal server error',
1522
+ });
1523
+ }
1524
+ };
1423
1525
  // Reset tool description override for a specific server back to the upstream default
1424
1526
  export const resetToolDescription = async (req, res) => {
1425
1527
  try {
@@ -1437,7 +1539,7 @@ export const resetToolDescription = async (req, res) => {
1437
1539
  return;
1438
1540
  }
1439
1541
  const serverDao = getServerDao();
1440
- const tools = clearDescriptionOverride(server.tools || {}, toolName);
1542
+ const tools = clearDescriptionOverride(server.tools || {}, findToolConfigKey(server.tools, serverName, toolName, liveToolNames(serverName)));
1441
1543
  const result = await serverDao.updateTools(serverName, tools);
1442
1544
  if (!result) {
1443
1545
  res.status(500).json({
@@ -1577,6 +1679,7 @@ export const updateSystemConfig = async (req, res) => {
1577
1679
  !hasSessionRebuildUpdate &&
1578
1680
  !hasOAuthServerUpdate &&
1579
1681
  !hasBetterAuthUpdate &&
1682
+ typeof auth?.allowRegistration !== 'boolean' &&
1580
1683
  !hasActivityLogUpdate &&
1581
1684
  !hasNetworkUpdate) {
1582
1685
  res.status(400).json({
@@ -2053,6 +2156,9 @@ export const updateSystemConfig = async (req, res) => {
2053
2156
  target.dynamicRegistration = dynamicTarget;
2054
2157
  }
2055
2158
  }
2159
+ if (typeof auth?.allowRegistration === 'boolean') {
2160
+ systemConfig.auth.allowRegistration = auth.allowRegistration;
2161
+ }
2056
2162
  if (auth?.betterAuth) {
2057
2163
  const target = systemConfig.auth.betterAuth;
2058
2164
  const providersTarget = target.providers || {};