@samanhappy/mcphub 1.1.7 → 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 (114) 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/oauthServerController.js +12 -14
  8. package/dist/controllers/oauthServerController.js.map +1 -1
  9. package/dist/controllers/serverController.js +117 -11
  10. package/dist/controllers/serverController.js.map +1 -1
  11. package/dist/dao/OAuthTokenDaoDbImpl.js +2 -0
  12. package/dist/dao/OAuthTokenDaoDbImpl.js.map +1 -1
  13. package/dist/dao/ServerDao.js.map +1 -1
  14. package/dist/dao/ServerDaoDbImpl.js.map +1 -1
  15. package/dist/db/entities/OAuthToken.js +4 -0
  16. package/dist/db/entities/OAuthToken.js.map +1 -1
  17. package/dist/db/entities/Server.js.map +1 -1
  18. package/dist/middlewares/auth.js +7 -25
  19. package/dist/middlewares/auth.js.map +1 -1
  20. package/dist/middlewares/userContext.js +6 -34
  21. package/dist/middlewares/userContext.js.map +1 -1
  22. package/dist/models/OAuth.js +14 -93
  23. package/dist/models/OAuth.js.map +1 -1
  24. package/dist/routes/index.js +2 -1
  25. package/dist/routes/index.js.map +1 -1
  26. package/dist/services/betterAuthConfig.js +1 -0
  27. package/dist/services/betterAuthConfig.js.map +1 -1
  28. package/dist/services/contextCostService.js +3 -1
  29. package/dist/services/contextCostService.js.map +1 -1
  30. package/dist/services/mcpService.js +54 -34
  31. package/dist/services/mcpService.js.map +1 -1
  32. package/dist/services/oauthServerService.js +15 -1
  33. package/dist/services/oauthServerService.js.map +1 -1
  34. package/dist/services/openApiGeneratorService.js +3 -1
  35. package/dist/services/openApiGeneratorService.js.map +1 -1
  36. package/dist/services/personalOAuthService.js +70 -8
  37. package/dist/services/personalOAuthService.js.map +1 -1
  38. package/dist/services/registrationService.js +28 -0
  39. package/dist/services/registrationService.js.map +1 -0
  40. package/dist/services/smartRoutingService.js +7 -6
  41. package/dist/services/smartRoutingService.js.map +1 -1
  42. package/dist/services/templateService.js +3 -1
  43. package/dist/services/templateService.js.map +1 -1
  44. package/dist/services/userService.js +22 -4
  45. package/dist/services/userService.js.map +1 -1
  46. package/dist/utils/migration.js +1 -0
  47. package/dist/utils/migration.js.map +1 -1
  48. package/dist/utils/oauthBearer.js +4 -2
  49. package/dist/utils/oauthBearer.js.map +1 -1
  50. package/dist/utils/passthroughHeaders.js +17 -0
  51. package/dist/utils/passthroughHeaders.js.map +1 -0
  52. package/dist/utils/rateLimit.js +1 -1
  53. package/dist/utils/rateLimit.js.map +1 -1
  54. package/dist/utils/serverConfigValidation.js +2 -1
  55. package/dist/utils/serverConfigValidation.js.map +1 -1
  56. package/dist/utils/settingsSync.js +5 -1
  57. package/dist/utils/settingsSync.js.map +1 -1
  58. package/dist/utils/toolConfig.js +93 -0
  59. package/dist/utils/toolConfig.js.map +1 -0
  60. package/dist/utils/userSession.js +29 -0
  61. package/dist/utils/userSession.js.map +1 -0
  62. package/frontend/dist/assets/{ActivityPage-BEpHoGLB.js → ActivityPage-CJdAfOUF.js} +2 -2
  63. package/frontend/dist/assets/{ActivityPage-BEpHoGLB.js.map → ActivityPage-CJdAfOUF.js.map} +1 -1
  64. package/frontend/dist/assets/{CopyClientConfigDialog-B4RDMLQ7.js → CopyClientConfigDialog-DKktm8jj.js} +2 -2
  65. package/frontend/dist/assets/{CopyClientConfigDialog-B4RDMLQ7.js.map → CopyClientConfigDialog-DKktm8jj.js.map} +1 -1
  66. package/frontend/dist/assets/{CredentialsPage-46Z8Qv7O.js → CredentialsPage-CPyZrp4Z.js} +2 -2
  67. package/frontend/dist/assets/{CredentialsPage-46Z8Qv7O.js.map → CredentialsPage-CPyZrp4Z.js.map} +1 -1
  68. package/frontend/dist/assets/{Dashboard-Bp8ZGDp5.js → Dashboard-DM_IiBIT.js} +2 -2
  69. package/frontend/dist/assets/{Dashboard-Bp8ZGDp5.js.map → Dashboard-DM_IiBIT.js.map} +1 -1
  70. package/frontend/dist/assets/{EndpointCopy-CH7rfwDL.js → EndpointCopy-DHQjJesJ.js} +2 -2
  71. package/frontend/dist/assets/{EndpointCopy-CH7rfwDL.js.map → EndpointCopy-DHQjJesJ.js.map} +1 -1
  72. package/frontend/dist/assets/{GroupsPage-DTjOja6T.js → GroupsPage-VKHjil-L.js} +2 -2
  73. package/frontend/dist/assets/{GroupsPage-DTjOja6T.js.map → GroupsPage-VKHjil-L.js.map} +1 -1
  74. package/frontend/dist/assets/LoginPage-CKrI0By4.js +2 -0
  75. package/frontend/dist/assets/LoginPage-CKrI0By4.js.map +1 -0
  76. package/frontend/dist/assets/{LogsPage-B4RyT3TS.js → LogsPage-Dh8gRpEH.js} +2 -2
  77. package/frontend/dist/assets/{LogsPage-B4RyT3TS.js.map → LogsPage-Dh8gRpEH.js.map} +1 -1
  78. package/frontend/dist/assets/{MarketPage-DV7Bs6bj.js → MarketPage-BN4qL8L9.js} +2 -2
  79. package/frontend/dist/assets/{MarketPage-DV7Bs6bj.js.map → MarketPage-BN4qL8L9.js.map} +1 -1
  80. package/frontend/dist/assets/{OAuthConsentPage-DdxMIqDO.js → OAuthConsentPage-Cyj-rrA4.js} +2 -2
  81. package/frontend/dist/assets/{OAuthConsentPage-DdxMIqDO.js.map → OAuthConsentPage-Cyj-rrA4.js.map} +1 -1
  82. package/frontend/dist/assets/{PromptsPage-61Uj8gCp.js → PromptsPage-YWD04XeI.js} +2 -2
  83. package/frontend/dist/assets/{PromptsPage-61Uj8gCp.js.map → PromptsPage-YWD04XeI.js.map} +1 -1
  84. package/frontend/dist/assets/{ResourcesPage-BSgOwVld.js → ResourcesPage-CVRzHCf4.js} +2 -2
  85. package/frontend/dist/assets/{ResourcesPage-BSgOwVld.js.map → ResourcesPage-CVRzHCf4.js.map} +1 -1
  86. package/frontend/dist/assets/ServersPage-DJBurfOe.js +39 -0
  87. package/frontend/dist/assets/ServersPage-DJBurfOe.js.map +1 -0
  88. package/frontend/dist/assets/{SettingsPage-C8zYH_jq.js → SettingsPage-3sK6NJRn.js} +6 -6
  89. package/frontend/dist/assets/SettingsPage-3sK6NJRn.js.map +1 -0
  90. package/frontend/dist/assets/{StatusDot-R86yLB-f.js → StatusDot-CLZidCyq.js} +2 -2
  91. package/frontend/dist/assets/{StatusDot-R86yLB-f.js.map → StatusDot-CLZidCyq.js.map} +1 -1
  92. package/frontend/dist/assets/{ToggleGroup-DN1ttokb.js → ToggleGroup-Dfh4jKpP.js} +2 -2
  93. package/frontend/dist/assets/{ToggleGroup-DN1ttokb.js.map → ToggleGroup-Dfh4jKpP.js.map} +1 -1
  94. package/frontend/dist/assets/{UsersPage-BCMjm9JG.js → UsersPage-DfFqSRVb.js} +2 -2
  95. package/frontend/dist/assets/{UsersPage-BCMjm9JG.js.map → UsersPage-DfFqSRVb.js.map} +1 -1
  96. package/frontend/dist/assets/{clipboard-DjzVWhkB.js → clipboard-wUZFI68F.js} +2 -2
  97. package/frontend/dist/assets/{clipboard-DjzVWhkB.js.map → clipboard-wUZFI68F.js.map} +1 -1
  98. package/frontend/dist/assets/index-BbogfcdA.js +3 -0
  99. package/frontend/dist/assets/index-BbogfcdA.js.map +1 -0
  100. package/frontend/dist/assets/{resourceService-DRZl8_Vm.js → resourceService-D7yitP7i.js} +2 -2
  101. package/frontend/dist/assets/{resourceService-DRZl8_Vm.js.map → resourceService-D7yitP7i.js.map} +1 -1
  102. package/frontend/dist/assets/{useCostData-DVLGVcuy.js → useCostData-33G6s4EW.js} +2 -2
  103. package/frontend/dist/assets/{useCostData-DVLGVcuy.js.map → useCostData-33G6s4EW.js.map} +1 -1
  104. package/frontend/dist/assets/{variableDetection-DiE4h0o7.js → variableDetection-BVSe56ia.js} +2 -2
  105. package/frontend/dist/assets/{variableDetection-DiE4h0o7.js.map → variableDetection-BVSe56ia.js.map} +1 -1
  106. package/frontend/dist/index.html +1 -1
  107. package/package.json +2 -2
  108. package/frontend/dist/assets/LoginPage-o6ibb_j3.js +0 -2
  109. package/frontend/dist/assets/LoginPage-o6ibb_j3.js.map +0 -1
  110. package/frontend/dist/assets/ServersPage-DYumMhzV.js +0 -39
  111. package/frontend/dist/assets/ServersPage-DYumMhzV.js.map +0 -1
  112. package/frontend/dist/assets/SettingsPage-C8zYH_jq.js.map +0 -1
  113. package/frontend/dist/assets/index-P_O2kAcB.js +0 -3
  114. package/frontend/dist/assets/index-P_O2kAcB.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"betterAuthConfig.js","sourceRoot":"","sources":["../../src/services/betterAuthConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"betterAuthConfig.js","sourceRoot":"","sources":["../../src/services/betterAuthConfig.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { itemCostForTool, itemCostForPrompt, itemCostForResource, countTokens, serializeToolDefinition, } from '../utils/tokenCost.js';
2
2
  import { getServersInfo } from './mcpService.js';
3
+ import { applyHiddenParams } from '../utils/toolConfig.js';
3
4
  import { getNameSeparator } from '../config/index.js';
4
5
  import { getAllGroups, normalizeGroupServers } from './groupService.js';
5
6
  import { getSmartRoutingConfig } from '../utils/smartRouting.js';
@@ -14,7 +15,8 @@ export async function serverCostFromInfo(info) {
14
15
  // Tools and prompts carry an explicit `enabled` boolean set by getServersInfo.
15
16
  // Count all three kinds concurrently rather than awaiting each batch in sequence.
16
17
  const [tools, prompts, resources] = await Promise.all([
17
- Promise.all((info.tools ?? []).map((t) => itemCostForTool(t))),
18
+ // Cost what a model receives: hidden parameters are not in the schema it sees
19
+ Promise.all((info.tools ?? []).map((t) => itemCostForTool(applyHiddenParams(t, t)))),
18
20
  Promise.all((info.prompts ?? []).map((p) => itemCostForPrompt(p))),
19
21
  Promise.all((info.resources ?? []).map((r) => itemCostForResource(r))),
20
22
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"contextCostService.js","sourceRoot":"","sources":["../../src/services/contextCostService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextCostService.js","sourceRoot":"","sources":["../../src/services/contextCostService.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAW,EAAE,CAChD,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;AAExD,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAgB;IACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,4FAA4F;IAC5F,+EAA+E;IAC/E,kFAAkF;IAClF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,8EAA8E;QAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;KACvE,CAAC,CAAC;IACH,MAAM,KAAK,GAAe,CAAC,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAkB,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,sFAAsF;AACtF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,GAAW,EAAU,EAAE;IACtE,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,SAAuC,EAAE,KAAa,EAAW,EAAE,CACrF,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAE9E,wFAAwF;AACxF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,SAAiB,EACjB,UAAkB,EACS,EAAE;IAC7B,MAAM,GAAG,GAAG,UAAU,SAAS,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAY,EAAmB,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,WAAW,CACT,uBAAuB,CAAC;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CACH,CACF,CACF,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,kCAAkC,CAAC,GAAG,EAAE,KAAK,CAAC;QAC9C,kCAAkC,CAAC,GAAG,EAAE,IAAI,CAAC;KAC9C,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU;QAC7C,qBAAqB,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,UAAU;KAC7D,CAAC;AACJ,CAAC,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3D,cAAc,EAAE;QAChB,YAAY,EAAE;QACd,qBAAqB,EAAE;KACxB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,KAAK,IAAI,CAAC;IAElD,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,OAAO,GAAyB,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS;gBAAE,SAAS;YACnC,cAAc,IAAI,CAAC,CAAC;YACpB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC5B,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;gBACnB,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,KAAK,MAAM;oBAClB,CAAC,CAAC,MAAM,CAAC,KAAK;oBACd,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;wBACtB,CAAC,CAAC,MAAM,CAAC,OAAO;wBAChB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;gBACzB,yEAAyE;gBACzE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC1F,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC/C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;oBACrB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9D,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc;YACd,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;SACtF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { isSafePassthroughHeader } from '../utils/passthroughHeaders.js';
1
2
  import { observeToolCall, setMetricsServer } from './metricsService.js';
2
3
  import { hasPersonalOAuth, PersonalOAuthContext, personalOAuthContexts, personalAuthorizationRequired, } from './personalOAuthService.js';
3
4
  import { preserveListFreshness, combineListFreshness, remainingListTtl, } from '../utils/listFreshness.js';
@@ -10,6 +11,7 @@ import { createHash } from 'node:crypto';
10
11
  import { canAccessGroupRoute } from '../utils/groupAccess.js';
11
12
  import { canServeToolRequests } from '../utils/serverAvailability.js';
12
13
  import { assertToolCallArgumentsSafe, isToolCallGuardEnabled, ToolCallBlockedError, } from '../middlewares/toolCallGuard.js';
14
+ import { applyHiddenParams, findToolConfig, removeHiddenArguments, } from '../utils/toolConfig.js';
13
15
  import { PrincipalRuntimeService } from './principalRuntimeService.js';
14
16
  import { UserContextService } from './userContextService.js';
15
17
  import { deleteCredentialBindings, missingCredentialError } from './credentialBindingService.js';
@@ -505,6 +507,8 @@ const hasDescriptionOverride = (config) => {
505
507
  const resolveDescriptionOverride = (defaultDescription, config) => {
506
508
  return hasDescriptionOverride(config) ? config?.description || '' : defaultDescription || '';
507
509
  };
510
+ // The dashboard/API projection keeps the full input schema (the dashboard
511
+ // lists every parameter to choose what to hide) and reports the configured list.
508
512
  const buildToolWithDescriptionMetadata = (tool, toolConfig) => {
509
513
  const upstreamDescription = tool.description || '';
510
514
  return {
@@ -512,13 +516,15 @@ const buildToolWithDescriptionMetadata = (tool, toolConfig) => {
512
516
  description: resolveDescriptionOverride(upstreamDescription, toolConfig),
513
517
  defaultDescription: upstreamDescription,
514
518
  hasDescriptionOverride: hasDescriptionOverride(toolConfig),
519
+ ...(toolConfig?.hiddenParams?.length ? { hiddenParams: toolConfig.hiddenParams } : {}),
515
520
  enabled: toolConfig?.enabled !== false,
516
521
  };
517
522
  };
518
- // Apply any per-tool description override before the tool text is embedded for
519
- // Smart Routing search. Deliberately narrower than buildToolWithDescriptionMetadata:
520
- // only `description` (plus the hasDescriptionOverride marker used by the
521
- // tool-set hash) is touched, so serverInfo.tools (built by
523
+ // Apply any per-tool description override and hidden parameters before the tool
524
+ // text is embedded for Smart Routing search. Deliberately narrower than
525
+ // buildToolWithDescriptionMetadata: only `description` (plus the
526
+ // hasDescriptionOverride marker used by the tool-set hash) and `inputSchema`
527
+ // are touched, so serverInfo.tools (built by
522
528
  // normalizeToolForCache/updateServerToolsCache) still never carries `enabled` --
523
529
  // preserving the existing invariant that execution gating reads the persisted
524
530
  // config directly, not this projection. Without this step, overrides only
@@ -529,16 +535,18 @@ const applyDescriptionOverridesForEmbedding = async (serverName, tools) => {
529
535
  if (!serverConfig?.tools) {
530
536
  return tools;
531
537
  }
538
+ // A partial sync passes only some tools; the key rule needs all of them
539
+ const runtimeNames = (getServerByName(serverName)?.tools ?? tools).map((tool) => tool.name);
532
540
  return tools.map((tool) => {
533
- const bareToolName = normalizeToolNameForServer(serverName, tool.name);
534
- const toolConfig = serverConfig.tools?.[tool.name] ?? serverConfig.tools?.[bareToolName];
541
+ const toolConfig = findToolConfig(serverConfig.tools, serverName, tool.name, runtimeNames);
542
+ const visibleTool = applyHiddenParams(tool, toolConfig);
535
543
  return hasDescriptionOverride(toolConfig)
536
544
  ? {
537
- ...tool,
545
+ ...visibleTool,
538
546
  description: resolveDescriptionOverride(tool.description, toolConfig),
539
547
  hasDescriptionOverride: true,
540
548
  }
541
- : tool;
549
+ : visibleTool;
542
550
  });
543
551
  };
544
552
  // Tail of the embedding tasks queued per server. A per-user connect and a
@@ -1162,7 +1170,7 @@ export const collectPassthroughHeaders = (requestHeaders, passthroughHeaderNames
1162
1170
  const passthroughHeaders = {};
1163
1171
  for (const headerName of passthroughHeaderNames) {
1164
1172
  const normalizedHeaderName = headerName.trim();
1165
- if (!normalizedHeaderName) {
1173
+ if (!isSafePassthroughHeader(normalizedHeaderName)) {
1166
1174
  continue;
1167
1175
  }
1168
1176
  const headerValue = headerValueToString(getHeaderValue(requestHeaders, normalizedHeaderName));
@@ -1351,6 +1359,16 @@ export const createTransportFromConfig = async (name, conf) => {
1351
1359
  }
1352
1360
  return transport;
1353
1361
  };
1362
+ // Call arguments without the tool's hidden parameters; `toolName` is the bare upstream name.
1363
+ // Looked up by the cached runtime name: findToolConfig removes one server prefix,
1364
+ // so a bare name that itself starts with the prefix (server `fc`, tool
1365
+ // `fc-scrape`) would otherwise resolve to the wrong entry.
1366
+ const withoutHiddenArguments = (serverInfo, toolName, args) => {
1367
+ const runtimeName = `${serverInfo.name}${getNameSeparator()}${toolName}`;
1368
+ const tool = serverInfo.tools?.find((candidate) => candidate.name === runtimeName);
1369
+ const toolConfig = findToolConfig(serverInfo.config?.tools, serverInfo.name, runtimeName, (serverInfo.tools ?? []).map((candidate) => candidate.name));
1370
+ return removeHiddenArguments(args, tool?.inputSchema, toolConfig);
1371
+ };
1354
1372
  // Helper function to handle client.callTool with reconnection logic
1355
1373
  const callToolWithReconnect = async (serverInfo, toolParams, options, maxRetries = 1, isolated) => {
1356
1374
  // Local, reassignable refs so a reconnect can swap in the new connection for
@@ -1361,6 +1379,11 @@ const callToolWithReconnect = async (serverInfo, toolParams, options, maxRetries
1361
1379
  if (!client) {
1362
1380
  throw new Error(`Client not found for server: ${serverInfo.name}`);
1363
1381
  }
1382
+ // Both MCP call paths pass through here, so hidden parameters are dropped once.
1383
+ toolParams = {
1384
+ ...toolParams,
1385
+ arguments: withoutHiddenArguments(serverInfo, toolParams.name, toolParams.arguments),
1386
+ };
1364
1387
  if (hasPersonalAuthentication(serverInfo.config)) {
1365
1388
  return client.callTool(toolParams, options || {});
1366
1389
  }
@@ -2094,11 +2117,8 @@ export const getServersInfo = async (page, limit, user) => {
2094
2117
  // as the dashboard sends, or bare, as a direct API call may) with no
2095
2118
  // normalization — check both so the dashboard reflects a disable set
2096
2119
  // either way instead of always showing enabled:true for one of them.
2097
- const toolsWithEnabled = tools.map((tool) => {
2098
- const bareToolName = normalizeToolNameForServer(name, tool.name);
2099
- const toolConfig = serverConfig?.tools?.[tool.name] ?? serverConfig?.tools?.[bareToolName];
2100
- return buildToolWithDescriptionMetadata(tool, toolConfig);
2101
- });
2120
+ const runtimeNames = tools.map((tool) => tool.name);
2121
+ const toolsWithEnabled = tools.map((tool) => buildToolWithDescriptionMetadata(tool, findToolConfig(serverConfig?.tools, name, tool.name, runtimeNames)));
2102
2122
  const promptsWithEnabled = prompts.map((prompt) => {
2103
2123
  const promptConfig = serverConfig?.prompts?.[prompt.name];
2104
2124
  return {
@@ -2339,12 +2359,12 @@ const filterToolsByConfig = async (serverName, tools) => {
2339
2359
  // If no tool configuration exists, all tools are enabled by default
2340
2360
  return tools;
2341
2361
  }
2362
+ // Callers may pass a subset; the key rule needs every tool of the server
2363
+ const runtimeNames = (getServerByName(serverName)?.tools ?? tools).map((tool) => tool.name);
2342
2364
  return tools.filter((tool) => {
2343
- // toggleTool stores the disable under whatever key string the caller used
2344
- // (bare upstream name or server-prefixed name, never normalized) — check
2345
- // both, same as findToolOnServer's execution-time gate.
2346
- const bareToolName = normalizeToolNameForServer(serverName, tool.name);
2347
- const toolConfig = serverConfig.tools?.[tool.name] ?? serverConfig.tools?.[bareToolName];
2365
+ // A disable may be stored under the runtime or the bare name — same key rule
2366
+ // as findToolOnServer's execution-time gate (findToolConfig).
2367
+ const toolConfig = findToolConfig(serverConfig.tools, serverName, tool.name, runtimeNames);
2348
2368
  // If tool is not in config, it's enabled by default
2349
2369
  return toolConfig?.enabled !== false;
2350
2370
  });
@@ -2989,16 +3009,11 @@ const findToolOnServer = (serverInfo, toolName, allowRawName) => {
2989
3009
  // which is a different object. So the persisted per-tool config must be
2990
3010
  // consulted directly here.
2991
3011
  //
2992
- // toggleTool (serverController.ts) stores `tools[toolName] = ...` using
2993
- // whatever string the caller passed as :toolName, with no normalization.
2994
- // The dashboard sends the already-prefixed `tool.name`, matching what
2995
- // getServersInfo's toolsWithEnabled already reads — but any other caller
2996
- // (REST API used directly, scripts, docs examples) can just as validly
2997
- // pass the bare upstream name, which then never matches a prefixed-only
2998
- // lookup. Check both so a disable takes effect regardless of which form
2999
- // was used to set it.
3000
- const bareToolName = normalizeToolNameForServer(serverInfo.name, tool.name);
3001
- const toolConfig = serverInfo.config?.tools?.[tool.name] ?? serverInfo.config?.tools?.[bareToolName];
3012
+ // A disable may be stored under the runtime (prefixed) name, as the
3013
+ // dashboard writes it, or under the bare upstream name, as a settings file
3014
+ // or a direct API call may. findToolConfig checks both, and never reads
3015
+ // another tool's runtime key as this tool's bare name.
3016
+ const toolConfig = findToolConfig(serverInfo.config?.tools, serverInfo.name, tool.name, serverInfo.tools.map((candidate) => candidate.name));
3002
3017
  if (toolConfig && toolConfig.enabled === false) {
3003
3018
  return undefined;
3004
3019
  }
@@ -3099,12 +3114,13 @@ const listGroupTools = async (group, filteredServerInfos, serverConfigsByName, a
3099
3114
  let tools = await filterToolsByConfig(serverInfo.name, serverInfo.tools);
3100
3115
  // If this is a group request, apply group-level tool filtering
3101
3116
  tools = await filterToolsByGroup(group, serverInfo.name, tools, groupServerConfig);
3102
- // Apply custom descriptions from server configuration
3117
+ // Apply custom descriptions and hidden parameters from server configuration
3103
3118
  const serverConfig = await getServerDao().findById(serverInfo.name);
3119
+ const runtimeNames = serverInfo.tools.map((tool) => tool.name);
3104
3120
  const toolsWithCustomDescriptions = tools.map((tool) => {
3105
- const toolConfig = serverConfig?.tools?.[tool.name];
3121
+ const toolConfig = findToolConfig(serverConfig?.tools, serverInfo.name, tool.name, runtimeNames);
3106
3122
  return {
3107
- ...tool,
3123
+ ...applyHiddenParams(tool, toolConfig),
3108
3124
  description: resolveDescriptionOverride(tool.description, toolConfig),
3109
3125
  };
3110
3126
  });
@@ -3364,6 +3380,8 @@ const handleCallToolRequestImpl = async (request, extra) => {
3364
3380
  if (requestHeaders && targetServerInfo.config?.openapi?.passthroughHeaders) {
3365
3381
  passthroughHeaders = {};
3366
3382
  for (const headerName of targetServerInfo.config.openapi.passthroughHeaders) {
3383
+ if (!isSafePassthroughHeader(headerName))
3384
+ continue;
3367
3385
  // Handle different header name cases (Express normalizes headers to lowercase)
3368
3386
  const headerValue = requestHeaders[headerName] || requestHeaders[headerName.toLowerCase()];
3369
3387
  if (headerValue) {
@@ -3380,7 +3398,7 @@ const handleCallToolRequestImpl = async (request, extra) => {
3380
3398
  throw new Error(`OpenAPI server '${targetServerInfo.name}' requires cookie-session state and is not yet available on stateless MCP requests`);
3381
3399
  }
3382
3400
  await reserveHostedIfNeeded(targetServerInfo.name, cleanToolName);
3383
- const result = await openApiClient.callTool(cleanToolName, finalArgs, passthroughHeaders, false, stateId);
3401
+ const result = await openApiClient.callTool(cleanToolName, withoutHiddenArguments(targetServerInfo, cleanToolName, finalArgs), passthroughHeaders, false, stateId);
3384
3402
  await settleHostedIfNeeded({
3385
3403
  success: true,
3386
3404
  requestContent: finalArgs,
@@ -3543,6 +3561,8 @@ const handleCallToolRequestImpl = async (request, extra) => {
3543
3561
  if (requestHeaders && serverInfo.config?.openapi?.passthroughHeaders) {
3544
3562
  passthroughHeaders = {};
3545
3563
  for (const headerName of serverInfo.config.openapi.passthroughHeaders) {
3564
+ if (!isSafePassthroughHeader(headerName))
3565
+ continue;
3546
3566
  // Handle different header name cases (Express normalizes headers to lowercase)
3547
3567
  const headerValue = requestHeaders[headerName] || requestHeaders[headerName.toLowerCase()];
3548
3568
  if (headerValue) {
@@ -3560,7 +3580,7 @@ const handleCallToolRequestImpl = async (request, extra) => {
3560
3580
  throw new Error(`OpenAPI server '${serverInfo.name}' requires cookie-session state and is not yet available on stateless MCP requests`);
3561
3581
  }
3562
3582
  await reserveHostedIfNeeded(serverInfo.name, cleanToolName);
3563
- const result = await openApiClient.callTool(cleanToolName, finalArgs, passthroughHeaders, false, stateId);
3583
+ const result = await openApiClient.callTool(cleanToolName, withoutHiddenArguments(serverInfo, cleanToolName, finalArgs), passthroughHeaders, false, stateId);
3564
3584
  await settleHostedIfNeeded({
3565
3585
  success: true,
3566
3586
  requestContent: finalArgs,