@loop_ouroboros/mcp-hub-lite 1.0.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 (499) hide show
  1. package/CHANGELOG.md +228 -0
  2. package/LICENSE +21 -0
  3. package/README.md +354 -0
  4. package/dist/client/assets/HomeView-f901HeKw.js +1 -0
  5. package/dist/client/assets/ResourceDetailView-BdOaL_-o.css +1 -0
  6. package/dist/client/assets/ResourceDetailView-Bz66ZjfY.js +1 -0
  7. package/dist/client/assets/ResourcesView-CjMklkyv.css +1 -0
  8. package/dist/client/assets/ResourcesView-lI_fItfA.js +1 -0
  9. package/dist/client/assets/ServerDashboard-7_8Og9JJ.css +1 -0
  10. package/dist/client/assets/ServerDashboard-Bgx8WVkx.js +2 -0
  11. package/dist/client/assets/ServerListView-Bws09jNR.css +1 -0
  12. package/dist/client/assets/ServerListView-CP6Ffkfx.js +30 -0
  13. package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +1 -0
  14. package/dist/client/assets/SessionsView-D68qKR4D.js +1 -0
  15. package/dist/client/assets/SettingsView-BPYfO9BE.js +1 -0
  16. package/dist/client/assets/ToolCallDialog-Br8FNebN.js +1 -0
  17. package/dist/client/assets/ToolCallDialog-C7eh7jHE.css +1 -0
  18. package/dist/client/assets/ToolsView-B6hUiR43.js +1 -0
  19. package/dist/client/assets/ToolsView-BLnU8cV6.css +1 -0
  20. package/dist/client/assets/_baseClone-DCmK847M.js +1 -0
  21. package/dist/client/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  22. package/dist/client/assets/el-form-item-BVMLpmVC.css +1 -0
  23. package/dist/client/assets/el-form-item-DM0q2hmO.js +12 -0
  24. package/dist/client/assets/el-input-BtI9NECe.js +1 -0
  25. package/dist/client/assets/el-input-CmuHb8HS.css +1 -0
  26. package/dist/client/assets/el-loading-CChNmKeI.js +1 -0
  27. package/dist/client/assets/el-loading-bpKhqqQq.css +1 -0
  28. package/dist/client/assets/el-overlay-B2ZKM6Up.css +1 -0
  29. package/dist/client/assets/el-overlay-lZZbPmsX.js +1 -0
  30. package/dist/client/assets/el-select-BXztu2b5.js +1 -0
  31. package/dist/client/assets/el-select-C0U_l4IZ.css +1 -0
  32. package/dist/client/assets/el-tab-pane-CnNoQHsR.css +1 -0
  33. package/dist/client/assets/el-tab-pane-Dy9ruaEX.js +1 -0
  34. package/dist/client/assets/el-table-column-98UyVgBH.js +1 -0
  35. package/dist/client/assets/el-table-column-T_mV9jNw.css +1 -0
  36. package/dist/client/assets/el-tag-B5lLT51E.js +1 -0
  37. package/dist/client/assets/el-tag-DjxZVOpb.css +1 -0
  38. package/dist/client/assets/event-BB_Ol6Sd.js +1 -0
  39. package/dist/client/assets/index-BgKcmWJr.js +1 -0
  40. package/dist/client/assets/index-BsDWtoIl.css +1 -0
  41. package/dist/client/assets/index-BzQXG7no.js +1 -0
  42. package/dist/client/assets/index-CSTs2jYk.js +2 -0
  43. package/dist/client/assets/omit-Bx5HJNV_.js +1 -0
  44. package/dist/client/assets/raf-B9VDMtMF.js +1 -0
  45. package/dist/client/assets/typescript-Bp3YSIOJ.js +1 -0
  46. package/dist/client/assets/vnode-B8aJx8u4.js +1 -0
  47. package/dist/client/assets/vue-vendor-6ny5zj9i.js +3 -0
  48. package/dist/client/index.html +15 -0
  49. package/dist/server/shared/index.d.ts +3 -0
  50. package/dist/server/shared/index.d.ts.map +1 -0
  51. package/dist/server/shared/index.js +2 -0
  52. package/dist/server/shared/models/index.d.ts +4 -0
  53. package/dist/server/shared/models/index.d.ts.map +1 -0
  54. package/dist/server/shared/models/index.js +3 -0
  55. package/dist/server/shared/models/resource.model.d.ts +8 -0
  56. package/dist/server/shared/models/resource.model.d.ts.map +1 -0
  57. package/dist/server/shared/models/resource.model.js +1 -0
  58. package/dist/server/shared/models/server.model.d.ts +57 -0
  59. package/dist/server/shared/models/server.model.d.ts.map +1 -0
  60. package/dist/server/shared/models/server.model.js +1 -0
  61. package/dist/server/shared/models/session.model.d.ts +73 -0
  62. package/dist/server/shared/models/session.model.d.ts.map +1 -0
  63. package/dist/server/shared/models/session.model.js +70 -0
  64. package/dist/server/shared/models/tool.model.d.ts +22 -0
  65. package/dist/server/shared/models/tool.model.d.ts.map +1 -0
  66. package/dist/server/shared/models/tool.model.js +1 -0
  67. package/dist/server/shared/types/client.types.d.ts +35 -0
  68. package/dist/server/shared/types/client.types.d.ts.map +1 -0
  69. package/dist/server/shared/types/client.types.js +5 -0
  70. package/dist/server/shared/types/common.types.d.ts +5 -0
  71. package/dist/server/shared/types/common.types.d.ts.map +1 -0
  72. package/dist/server/shared/types/common.types.js +2 -0
  73. package/dist/server/shared/types/index.d.ts +4 -0
  74. package/dist/server/shared/types/index.d.ts.map +1 -0
  75. package/dist/server/shared/types/index.js +3 -0
  76. package/dist/server/shared/types/session.types.d.ts +15 -0
  77. package/dist/server/shared/types/session.types.d.ts.map +1 -0
  78. package/dist/server/shared/types/session.types.js +5 -0
  79. package/dist/server/shared/types/websocket.types.d.ts +177 -0
  80. package/dist/server/shared/types/websocket.types.d.ts.map +1 -0
  81. package/dist/server/shared/types/websocket.types.js +25 -0
  82. package/dist/server/src/api/mcp/debug-response-wrapper.d.ts +13 -0
  83. package/dist/server/src/api/mcp/debug-response-wrapper.d.ts.map +1 -0
  84. package/dist/server/src/api/mcp/debug-response-wrapper.js +271 -0
  85. package/dist/server/src/api/mcp/gateway.d.ts +14 -0
  86. package/dist/server/src/api/mcp/gateway.d.ts.map +1 -0
  87. package/dist/server/src/api/mcp/gateway.js +116 -0
  88. package/dist/server/src/api/mcp/session-context-extractor.d.ts +47 -0
  89. package/dist/server/src/api/mcp/session-context-extractor.d.ts.map +1 -0
  90. package/dist/server/src/api/mcp/session-context-extractor.js +127 -0
  91. package/dist/server/src/api/mcp/sse-stream-manager.d.ts +13 -0
  92. package/dist/server/src/api/mcp/sse-stream-manager.d.ts.map +1 -0
  93. package/dist/server/src/api/mcp/sse-stream-manager.js +40 -0
  94. package/dist/server/src/api/web/clients.d.ts +30 -0
  95. package/dist/server/src/api/web/clients.d.ts.map +1 -0
  96. package/dist/server/src/api/web/clients.js +41 -0
  97. package/dist/server/src/api/web/config.d.ts +21 -0
  98. package/dist/server/src/api/web/config.d.ts.map +1 -0
  99. package/dist/server/src/api/web/config.js +119 -0
  100. package/dist/server/src/api/web/health.d.ts +21 -0
  101. package/dist/server/src/api/web/health.d.ts.map +1 -0
  102. package/dist/server/src/api/web/health.js +24 -0
  103. package/dist/server/src/api/web/hub-tools.d.ts +30 -0
  104. package/dist/server/src/api/web/hub-tools.d.ts.map +1 -0
  105. package/dist/server/src/api/web/hub-tools.js +202 -0
  106. package/dist/server/src/api/web/logs.d.ts +30 -0
  107. package/dist/server/src/api/web/logs.d.ts.map +1 -0
  108. package/dist/server/src/api/web/logs.js +141 -0
  109. package/dist/server/src/api/web/mcp-status.d.ts +29 -0
  110. package/dist/server/src/api/web/mcp-status.d.ts.map +1 -0
  111. package/dist/server/src/api/web/mcp-status.js +126 -0
  112. package/dist/server/src/api/web/resources.d.ts +28 -0
  113. package/dist/server/src/api/web/resources.d.ts.map +1 -0
  114. package/dist/server/src/api/web/resources.js +93 -0
  115. package/dist/server/src/api/web/search.d.ts +26 -0
  116. package/dist/server/src/api/web/search.d.ts.map +1 -0
  117. package/dist/server/src/api/web/search.js +62 -0
  118. package/dist/server/src/api/web/servers.d.ts +33 -0
  119. package/dist/server/src/api/web/servers.d.ts.map +1 -0
  120. package/dist/server/src/api/web/servers.js +235 -0
  121. package/dist/server/src/api/web/sessions.d.ts +29 -0
  122. package/dist/server/src/api/web/sessions.d.ts.map +1 -0
  123. package/dist/server/src/api/web/sessions.js +104 -0
  124. package/dist/server/src/api/ws/events.d.ts +29 -0
  125. package/dist/server/src/api/ws/events.d.ts.map +1 -0
  126. package/dist/server/src/api/ws/events.js +44 -0
  127. package/dist/server/src/api/ws/ws-handler.d.ts +83 -0
  128. package/dist/server/src/api/ws/ws-handler.d.ts.map +1 -0
  129. package/dist/server/src/api/ws/ws-handler.js +217 -0
  130. package/dist/server/src/app.d.ts +24 -0
  131. package/dist/server/src/app.d.ts.map +1 -0
  132. package/dist/server/src/app.js +108 -0
  133. package/dist/server/src/cli/commands/list.d.ts +71 -0
  134. package/dist/server/src/cli/commands/list.d.ts.map +1 -0
  135. package/dist/server/src/cli/commands/list.js +97 -0
  136. package/dist/server/src/cli/commands/restart.d.ts +42 -0
  137. package/dist/server/src/cli/commands/restart.d.ts.map +1 -0
  138. package/dist/server/src/cli/commands/restart.js +61 -0
  139. package/dist/server/src/cli/commands/start.d.ts +43 -0
  140. package/dist/server/src/cli/commands/start.d.ts.map +1 -0
  141. package/dist/server/src/cli/commands/start.js +160 -0
  142. package/dist/server/src/cli/commands/status.d.ts +39 -0
  143. package/dist/server/src/cli/commands/status.d.ts.map +1 -0
  144. package/dist/server/src/cli/commands/status.js +164 -0
  145. package/dist/server/src/cli/commands/stop.d.ts +34 -0
  146. package/dist/server/src/cli/commands/stop.d.ts.map +1 -0
  147. package/dist/server/src/cli/commands/stop.js +47 -0
  148. package/dist/server/src/cli/commands/ui.d.ts +44 -0
  149. package/dist/server/src/cli/commands/ui.d.ts.map +1 -0
  150. package/dist/server/src/cli/commands/ui.js +95 -0
  151. package/dist/server/src/cli/index.d.ts +62 -0
  152. package/dist/server/src/cli/index.d.ts.map +1 -0
  153. package/dist/server/src/cli/index.js +88 -0
  154. package/dist/server/src/cli/parse-args.d.ts +108 -0
  155. package/dist/server/src/cli/parse-args.d.ts.map +1 -0
  156. package/dist/server/src/cli/parse-args.js +131 -0
  157. package/dist/server/src/cli/server.d.ts +171 -0
  158. package/dist/server/src/cli/server.d.ts.map +1 -0
  159. package/dist/server/src/cli/server.js +246 -0
  160. package/dist/server/src/config/config-change-logger.d.ts +16 -0
  161. package/dist/server/src/config/config-change-logger.d.ts.map +1 -0
  162. package/dist/server/src/config/config-change-logger.js +43 -0
  163. package/dist/server/src/config/config-loader.d.ts +22 -0
  164. package/dist/server/src/config/config-loader.d.ts.map +1 -0
  165. package/dist/server/src/config/config-loader.js +66 -0
  166. package/dist/server/src/config/config-manager.d.ts +158 -0
  167. package/dist/server/src/config/config-manager.d.ts.map +1 -0
  168. package/dist/server/src/config/config-manager.js +246 -0
  169. package/dist/server/src/config/config-saver.d.ts +16 -0
  170. package/dist/server/src/config/config-saver.d.ts.map +1 -0
  171. package/dist/server/src/config/config-saver.js +28 -0
  172. package/dist/server/src/config/config.schema.d.ts +108 -0
  173. package/dist/server/src/config/config.schema.d.ts.map +1 -0
  174. package/dist/server/src/config/config.schema.js +103 -0
  175. package/dist/server/src/config/server-config-manager.d.ts +74 -0
  176. package/dist/server/src/config/server-config-manager.d.ts.map +1 -0
  177. package/dist/server/src/config/server-config-manager.js +157 -0
  178. package/dist/server/src/config/type-converter.d.ts +13 -0
  179. package/dist/server/src/config/type-converter.d.ts.map +1 -0
  180. package/dist/server/src/config/type-converter.js +37 -0
  181. package/dist/server/src/index.d.ts +3 -0
  182. package/dist/server/src/index.d.ts.map +1 -0
  183. package/dist/server/src/index.js +352 -0
  184. package/dist/server/src/models/event.model.d.ts +106 -0
  185. package/dist/server/src/models/event.model.d.ts.map +1 -0
  186. package/dist/server/src/models/event.model.js +5 -0
  187. package/dist/server/src/models/server.model.d.ts +19 -0
  188. package/dist/server/src/models/server.model.d.ts.map +1 -0
  189. package/dist/server/src/models/server.model.js +1 -0
  190. package/dist/server/src/models/system-tools.constants.d.ts +73 -0
  191. package/dist/server/src/models/system-tools.constants.d.ts.map +1 -0
  192. package/dist/server/src/models/system-tools.constants.js +31 -0
  193. package/dist/server/src/models/types.d.ts +84 -0
  194. package/dist/server/src/models/types.d.ts.map +1 -0
  195. package/dist/server/src/models/types.js +67 -0
  196. package/dist/server/src/pid/file.d.ts +26 -0
  197. package/dist/server/src/pid/file.d.ts.map +1 -0
  198. package/dist/server/src/pid/file.js +68 -0
  199. package/dist/server/src/pid/manager.d.ts +98 -0
  200. package/dist/server/src/pid/manager.d.ts.map +1 -0
  201. package/dist/server/src/pid/manager.js +158 -0
  202. package/dist/server/src/pid/types.d.ts +13 -0
  203. package/dist/server/src/pid/types.d.ts.map +1 -0
  204. package/dist/server/src/pid/types.js +4 -0
  205. package/dist/server/src/server/dev-server.d.ts +2 -0
  206. package/dist/server/src/server/dev-server.d.ts.map +1 -0
  207. package/dist/server/src/server/dev-server.js +171 -0
  208. package/dist/server/src/server/runner.d.ts +57 -0
  209. package/dist/server/src/server/runner.d.ts.map +1 -0
  210. package/dist/server/src/server/runner.js +163 -0
  211. package/dist/server/src/services/client-tracker.service.d.ts +132 -0
  212. package/dist/server/src/services/client-tracker.service.d.ts.map +1 -0
  213. package/dist/server/src/services/client-tracker.service.js +203 -0
  214. package/dist/server/src/services/connection/connection-manager.d.ts +478 -0
  215. package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -0
  216. package/dist/server/src/services/connection/connection-manager.js +929 -0
  217. package/dist/server/src/services/connection/index.d.ts +6 -0
  218. package/dist/server/src/services/connection/index.d.ts.map +1 -0
  219. package/dist/server/src/services/connection/index.js +4 -0
  220. package/dist/server/src/services/connection/tool-cache.d.ts +122 -0
  221. package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -0
  222. package/dist/server/src/services/connection/tool-cache.js +202 -0
  223. package/dist/server/src/services/connection/types.d.ts +30 -0
  224. package/dist/server/src/services/connection/types.d.ts.map +1 -0
  225. package/dist/server/src/services/connection/types.js +1 -0
  226. package/dist/server/src/services/event-bus.service.d.ts +169 -0
  227. package/dist/server/src/services/event-bus.service.d.ts.map +1 -0
  228. package/dist/server/src/services/event-bus.service.js +200 -0
  229. package/dist/server/src/services/gateway/gateway.service.d.ts +61 -0
  230. package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -0
  231. package/dist/server/src/services/gateway/gateway.service.js +107 -0
  232. package/dist/server/src/services/gateway/index.d.ts +8 -0
  233. package/dist/server/src/services/gateway/index.d.ts.map +1 -0
  234. package/dist/server/src/services/gateway/index.js +6 -0
  235. package/dist/server/src/services/gateway/log-formatter.d.ts +26 -0
  236. package/dist/server/src/services/gateway/log-formatter.d.ts.map +1 -0
  237. package/dist/server/src/services/gateway/log-formatter.js +66 -0
  238. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts +13 -0
  239. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -0
  240. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +131 -0
  241. package/dist/server/src/services/gateway/request-handlers/index.d.ts +9 -0
  242. package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -0
  243. package/dist/server/src/services/gateway/request-handlers/index.js +8 -0
  244. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +11 -0
  245. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -0
  246. package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +85 -0
  247. package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts +11 -0
  248. package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -0
  249. package/dist/server/src/services/gateway/request-handlers/resources-handler.js +56 -0
  250. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts +11 -0
  251. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -0
  252. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +228 -0
  253. package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts +11 -0
  254. package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts.map +1 -0
  255. package/dist/server/src/services/gateway/request-handlers/tools-handler.js +79 -0
  256. package/dist/server/src/services/gateway/tool-list-generator.d.ts +23 -0
  257. package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -0
  258. package/dist/server/src/services/gateway/tool-list-generator.js +115 -0
  259. package/dist/server/src/services/gateway/types.d.ts +27 -0
  260. package/dist/server/src/services/gateway/types.d.ts.map +1 -0
  261. package/dist/server/src/services/gateway/types.js +4 -0
  262. package/dist/server/src/services/gateway.service.d.ts +7 -0
  263. package/dist/server/src/services/gateway.service.d.ts.map +1 -0
  264. package/dist/server/src/services/gateway.service.js +6 -0
  265. package/dist/server/src/services/hub-manager.service.d.ts +299 -0
  266. package/dist/server/src/services/hub-manager.service.d.ts.map +1 -0
  267. package/dist/server/src/services/hub-manager.service.js +413 -0
  268. package/dist/server/src/services/hub-tools/index.d.ts +10 -0
  269. package/dist/server/src/services/hub-tools/index.d.ts.map +1 -0
  270. package/dist/server/src/services/hub-tools/index.js +6 -0
  271. package/dist/server/src/services/hub-tools/resource-generator.d.ts +63 -0
  272. package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -0
  273. package/dist/server/src/services/hub-tools/resource-generator.js +141 -0
  274. package/dist/server/src/services/hub-tools/server-selector.d.ts +63 -0
  275. package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -0
  276. package/dist/server/src/services/hub-tools/server-selector.js +108 -0
  277. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +47 -0
  278. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -0
  279. package/dist/server/src/services/hub-tools/system-tool-definitions.js +225 -0
  280. package/dist/server/src/services/hub-tools/tool-search.d.ts +85 -0
  281. package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -0
  282. package/dist/server/src/services/hub-tools/tool-search.js +115 -0
  283. package/dist/server/src/services/hub-tools/types.d.ts +42 -0
  284. package/dist/server/src/services/hub-tools/types.d.ts.map +1 -0
  285. package/dist/server/src/services/hub-tools/types.js +1 -0
  286. package/dist/server/src/services/hub-tools.service.d.ts +235 -0
  287. package/dist/server/src/services/hub-tools.service.d.ts.map +1 -0
  288. package/dist/server/src/services/hub-tools.service.js +457 -0
  289. package/dist/server/src/services/log-storage.service.d.ts +177 -0
  290. package/dist/server/src/services/log-storage.service.d.ts.map +1 -0
  291. package/dist/server/src/services/log-storage.service.js +243 -0
  292. package/dist/server/src/services/mcp-connection-manager.d.ts +7 -0
  293. package/dist/server/src/services/mcp-connection-manager.d.ts.map +1 -0
  294. package/dist/server/src/services/mcp-connection-manager.js +6 -0
  295. package/dist/server/src/services/mcp-session-manager.d.ts +6 -0
  296. package/dist/server/src/services/mcp-session-manager.d.ts.map +1 -0
  297. package/dist/server/src/services/mcp-session-manager.js +4 -0
  298. package/dist/server/src/services/search/index.d.ts +5 -0
  299. package/dist/server/src/services/search/index.d.ts.map +1 -0
  300. package/dist/server/src/services/search/index.js +5 -0
  301. package/dist/server/src/services/search/search-cache.d.ts +132 -0
  302. package/dist/server/src/services/search/search-cache.d.ts.map +1 -0
  303. package/dist/server/src/services/search/search-cache.js +151 -0
  304. package/dist/server/src/services/search/search-core.service.d.ts +108 -0
  305. package/dist/server/src/services/search/search-core.service.d.ts.map +1 -0
  306. package/dist/server/src/services/search/search-core.service.js +187 -0
  307. package/dist/server/src/services/search/search-scorer.d.ts +54 -0
  308. package/dist/server/src/services/search/search-scorer.d.ts.map +1 -0
  309. package/dist/server/src/services/search/search-scorer.js +83 -0
  310. package/dist/server/src/services/search/types.d.ts +20 -0
  311. package/dist/server/src/services/search/types.d.ts.map +1 -0
  312. package/dist/server/src/services/search/types.js +1 -0
  313. package/dist/server/src/services/session/index.d.ts +6 -0
  314. package/dist/server/src/services/session/index.d.ts.map +1 -0
  315. package/dist/server/src/services/session/index.js +4 -0
  316. package/dist/server/src/services/session/session-manager.d.ts +352 -0
  317. package/dist/server/src/services/session/session-manager.d.ts.map +1 -0
  318. package/dist/server/src/services/session/session-manager.js +835 -0
  319. package/dist/server/src/services/session/types.d.ts +32 -0
  320. package/dist/server/src/services/session/types.d.ts.map +1 -0
  321. package/dist/server/src/services/session/types.js +1 -0
  322. package/dist/server/src/services/simple-search.service.d.ts +67 -0
  323. package/dist/server/src/services/simple-search.service.d.ts.map +1 -0
  324. package/dist/server/src/services/simple-search.service.js +82 -0
  325. package/dist/server/src/services/system-tool-handler.d.ts +10 -0
  326. package/dist/server/src/services/system-tool-handler.d.ts.map +1 -0
  327. package/dist/server/src/services/system-tool-handler.js +77 -0
  328. package/dist/server/src/utils/error-handler.d.ts +18 -0
  329. package/dist/server/src/utils/error-handler.d.ts.map +1 -0
  330. package/dist/server/src/utils/error-handler.js +59 -0
  331. package/dist/server/src/utils/format-utils.d.ts +23 -0
  332. package/dist/server/src/utils/format-utils.d.ts.map +1 -0
  333. package/dist/server/src/utils/format-utils.js +58 -0
  334. package/dist/server/src/utils/index.d.ts +2 -0
  335. package/dist/server/src/utils/index.d.ts.map +1 -0
  336. package/dist/server/src/utils/index.js +1 -0
  337. package/dist/server/src/utils/json-utils.d.ts +82 -0
  338. package/dist/server/src/utils/json-utils.d.ts.map +1 -0
  339. package/dist/server/src/utils/json-utils.js +204 -0
  340. package/dist/server/src/utils/log-rotator.d.ts +223 -0
  341. package/dist/server/src/utils/log-rotator.d.ts.map +1 -0
  342. package/dist/server/src/utils/log-rotator.js +306 -0
  343. package/dist/server/src/utils/logger/dev-logger.d.ts +39 -0
  344. package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -0
  345. package/dist/server/src/utils/logger/dev-logger.js +63 -0
  346. package/dist/server/src/utils/logger/index.d.ts +36 -0
  347. package/dist/server/src/utils/logger/index.d.ts.map +1 -0
  348. package/dist/server/src/utils/logger/index.js +46 -0
  349. package/dist/server/src/utils/logger/log-colors.d.ts +27 -0
  350. package/dist/server/src/utils/logger/log-colors.d.ts.map +1 -0
  351. package/dist/server/src/utils/logger/log-colors.js +41 -0
  352. package/dist/server/src/utils/logger/log-context.d.ts +13 -0
  353. package/dist/server/src/utils/logger/log-context.d.ts.map +1 -0
  354. package/dist/server/src/utils/logger/log-context.js +5 -0
  355. package/dist/server/src/utils/logger/log-formatter.d.ts +47 -0
  356. package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -0
  357. package/dist/server/src/utils/logger/log-formatter.js +150 -0
  358. package/dist/server/src/utils/logger/log-modules.d.ts +141 -0
  359. package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -0
  360. package/dist/server/src/utils/logger/log-modules.js +81 -0
  361. package/dist/server/src/utils/logger/log-output.d.ts +68 -0
  362. package/dist/server/src/utils/logger/log-output.d.ts.map +1 -0
  363. package/dist/server/src/utils/logger/log-output.js +320 -0
  364. package/dist/server/src/utils/logger/logger.d.ts +190 -0
  365. package/dist/server/src/utils/logger/logger.d.ts.map +1 -0
  366. package/dist/server/src/utils/logger/logger.js +350 -0
  367. package/dist/server/src/utils/logger.d.ts +12 -0
  368. package/dist/server/src/utils/logger.d.ts.map +1 -0
  369. package/dist/server/src/utils/logger.js +12 -0
  370. package/dist/server/src/utils/mcp-error-handler.d.ts +162 -0
  371. package/dist/server/src/utils/mcp-error-handler.d.ts.map +1 -0
  372. package/dist/server/src/utils/mcp-error-handler.js +270 -0
  373. package/dist/server/src/utils/port-checker.d.ts +16 -0
  374. package/dist/server/src/utils/port-checker.d.ts.map +1 -0
  375. package/dist/server/src/utils/port-checker.js +242 -0
  376. package/dist/server/src/utils/request-context.d.ts +71 -0
  377. package/dist/server/src/utils/request-context.d.ts.map +1 -0
  378. package/dist/server/src/utils/request-context.js +73 -0
  379. package/dist/server/src/utils/tool-args-parser.d.ts +17 -0
  380. package/dist/server/src/utils/tool-args-parser.d.ts.map +1 -0
  381. package/dist/server/src/utils/tool-args-parser.js +34 -0
  382. package/dist/server/src/utils/transports/sse-transport.d.ts +104 -0
  383. package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -0
  384. package/dist/server/src/utils/transports/sse-transport.js +189 -0
  385. package/dist/server/src/utils/transports/stdio-transport.d.ts +122 -0
  386. package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -0
  387. package/dist/server/src/utils/transports/stdio-transport.js +324 -0
  388. package/dist/server/src/utils/transports/streamable-http-transport.d.ts +146 -0
  389. package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -0
  390. package/dist/server/src/utils/transports/streamable-http-transport.js +212 -0
  391. package/dist/server/src/utils/transports/transport-factory.d.ts +26 -0
  392. package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -0
  393. package/dist/server/src/utils/transports/transport-factory.js +104 -0
  394. package/dist/server/src/utils/transports/transport.interface.d.ts +35 -0
  395. package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -0
  396. package/dist/server/src/utils/transports/transport.interface.js +1 -0
  397. package/dist/server/tests/contract/mcp-protocol/initialize.test.d.ts +2 -0
  398. package/dist/server/tests/contract/mcp-protocol/initialize.test.d.ts.map +1 -0
  399. package/dist/server/tests/contract/mcp-protocol/initialize.test.js +103 -0
  400. package/dist/server/tests/contract/mcp-protocol/tools-call.test.d.ts +2 -0
  401. package/dist/server/tests/contract/mcp-protocol/tools-call.test.d.ts.map +1 -0
  402. package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +181 -0
  403. package/dist/server/tests/contract/mcp-protocol/tools-list.test.d.ts +2 -0
  404. package/dist/server/tests/contract/mcp-protocol/tools-list.test.d.ts.map +1 -0
  405. package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +155 -0
  406. package/dist/server/tests/evaluation/evaluation.test.d.ts +2 -0
  407. package/dist/server/tests/evaluation/evaluation.test.d.ts.map +1 -0
  408. package/dist/server/tests/evaluation/evaluation.test.js +102 -0
  409. package/dist/server/tests/helpers/sdk-test-helpers.d.ts +32 -0
  410. package/dist/server/tests/helpers/sdk-test-helpers.d.ts.map +1 -0
  411. package/dist/server/tests/helpers/sdk-test-helpers.js +82 -0
  412. package/dist/server/tests/integration/api/gateway.test.d.ts +2 -0
  413. package/dist/server/tests/integration/api/gateway.test.d.ts.map +1 -0
  414. package/dist/server/tests/integration/api/gateway.test.js +366 -0
  415. package/dist/server/tests/integration/gateway/fault-tolerance.test.d.ts +2 -0
  416. package/dist/server/tests/integration/gateway/fault-tolerance.test.d.ts.map +1 -0
  417. package/dist/server/tests/integration/gateway/fault-tolerance.test.js +109 -0
  418. package/dist/server/tests/integration/gateway/mcp-connection.test.d.ts +2 -0
  419. package/dist/server/tests/integration/gateway/mcp-connection.test.d.ts.map +1 -0
  420. package/dist/server/tests/integration/gateway/mcp-connection.test.js +149 -0
  421. package/dist/server/tests/server.test.d.ts +2 -0
  422. package/dist/server/tests/server.test.d.ts.map +1 -0
  423. package/dist/server/tests/server.test.js +95 -0
  424. package/dist/server/tests/setup.d.ts +7 -0
  425. package/dist/server/tests/setup.d.ts.map +1 -0
  426. package/dist/server/tests/setup.js +53 -0
  427. package/dist/server/tests/types/logger-test-helpers.d.ts +17 -0
  428. package/dist/server/tests/types/logger-test-helpers.d.ts.map +1 -0
  429. package/dist/server/tests/types/logger-test-helpers.js +4 -0
  430. package/dist/server/tests/types/test-helpers.d.ts +27 -0
  431. package/dist/server/tests/types/test-helpers.d.ts.map +1 -0
  432. package/dist/server/tests/types/test-helpers.js +4 -0
  433. package/dist/server/tests/unit/cli/basic-cli.test.d.ts +2 -0
  434. package/dist/server/tests/unit/cli/basic-cli.test.d.ts.map +1 -0
  435. package/dist/server/tests/unit/cli/basic-cli.test.js +33 -0
  436. package/dist/server/tests/unit/cli/cli.test.d.ts +2 -0
  437. package/dist/server/tests/unit/cli/cli.test.d.ts.map +1 -0
  438. package/dist/server/tests/unit/cli/cli.test.js +17 -0
  439. package/dist/server/tests/unit/cli/commands.test.d.ts +2 -0
  440. package/dist/server/tests/unit/cli/commands.test.d.ts.map +1 -0
  441. package/dist/server/tests/unit/cli/commands.test.js +75 -0
  442. package/dist/server/tests/unit/cli/server.test.d.ts +2 -0
  443. package/dist/server/tests/unit/cli/server.test.d.ts.map +1 -0
  444. package/dist/server/tests/unit/cli/server.test.js +68 -0
  445. package/dist/server/tests/unit/server/runner.test.d.ts +2 -0
  446. package/dist/server/tests/unit/server/runner.test.d.ts.map +1 -0
  447. package/dist/server/tests/unit/server/runner.test.js +488 -0
  448. package/dist/server/tests/unit/server/setup.d.ts +2 -0
  449. package/dist/server/tests/unit/server/setup.d.ts.map +1 -0
  450. package/dist/server/tests/unit/server/setup.js +21 -0
  451. package/dist/server/tests/unit/services/gateway-logging.test.d.ts +2 -0
  452. package/dist/server/tests/unit/services/gateway-logging.test.d.ts.map +1 -0
  453. package/dist/server/tests/unit/services/gateway-logging.test.js +47 -0
  454. package/dist/server/tests/unit/services/hub-manager-service.test.d.ts +2 -0
  455. package/dist/server/tests/unit/services/hub-manager-service.test.d.ts.map +1 -0
  456. package/dist/server/tests/unit/services/hub-manager-service.test.js +140 -0
  457. package/dist/server/tests/unit/services/hub-manager.test.d.ts +2 -0
  458. package/dist/server/tests/unit/services/hub-manager.test.d.ts.map +1 -0
  459. package/dist/server/tests/unit/services/hub-manager.test.js +98 -0
  460. package/dist/server/tests/unit/services/hub-tools.service.test.d.ts +2 -0
  461. package/dist/server/tests/unit/services/hub-tools.service.test.d.ts.map +1 -0
  462. package/dist/server/tests/unit/services/hub-tools.service.test.js +674 -0
  463. package/dist/server/tests/unit/services/search/search-cache.test.d.ts +2 -0
  464. package/dist/server/tests/unit/services/search/search-cache.test.d.ts.map +1 -0
  465. package/dist/server/tests/unit/services/search/search-cache.test.js +58 -0
  466. package/dist/server/tests/unit/services/search/search-core.service.test.d.ts +2 -0
  467. package/dist/server/tests/unit/services/search/search-core.service.test.d.ts.map +1 -0
  468. package/dist/server/tests/unit/services/search/search-core.service.test.js +84 -0
  469. package/dist/server/tests/unit/services/search/search-scorer.test.d.ts +2 -0
  470. package/dist/server/tests/unit/services/search/search-scorer.test.d.ts.map +1 -0
  471. package/dist/server/tests/unit/services/search/search-scorer.test.js +97 -0
  472. package/dist/server/tests/unit/services/session-manager.test.d.ts +2 -0
  473. package/dist/server/tests/unit/services/session-manager.test.d.ts.map +1 -0
  474. package/dist/server/tests/unit/services/session-manager.test.js +481 -0
  475. package/dist/server/tests/unit/utils/config.test.d.ts +2 -0
  476. package/dist/server/tests/unit/utils/config.test.d.ts.map +1 -0
  477. package/dist/server/tests/unit/utils/config.test.js +634 -0
  478. package/dist/server/tests/unit/utils/json-utils.test.d.ts +2 -0
  479. package/dist/server/tests/unit/utils/json-utils.test.d.ts.map +1 -0
  480. package/dist/server/tests/unit/utils/json-utils.test.js +296 -0
  481. package/dist/server/tests/unit/utils/log-rotator.test.d.ts +2 -0
  482. package/dist/server/tests/unit/utils/log-rotator.test.d.ts.map +1 -0
  483. package/dist/server/tests/unit/utils/log-rotator.test.js +296 -0
  484. package/dist/server/tests/unit/utils/logger.test.d.ts +2 -0
  485. package/dist/server/tests/unit/utils/logger.test.d.ts.map +1 -0
  486. package/dist/server/tests/unit/utils/logger.test.js +462 -0
  487. package/dist/server/tests/unit/utils/mcp-error-handler.test.d.ts +2 -0
  488. package/dist/server/tests/unit/utils/mcp-error-handler.test.d.ts.map +1 -0
  489. package/dist/server/tests/unit/utils/mcp-error-handler.test.js +163 -0
  490. package/dist/server/tests/unit/utils/request-context.test.d.ts +2 -0
  491. package/dist/server/tests/unit/utils/request-context.test.d.ts.map +1 -0
  492. package/dist/server/tests/unit/utils/request-context.test.js +82 -0
  493. package/dist/server/vite.config.d.ts +3 -0
  494. package/dist/server/vite.config.d.ts.map +1 -0
  495. package/dist/server/vite.config.js +160 -0
  496. package/dist/server/vitest.config.d.ts +3 -0
  497. package/dist/server/vitest.config.d.ts.map +1 -0
  498. package/dist/server/vitest.config.js +53 -0
  499. package/package.json +113 -0
@@ -0,0 +1,352 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MCP Hub Lite CLI Entry Point
4
+ *
5
+ * This module serves as the primary command-line interface for the MCP Hub Lite application,
6
+ * providing a comprehensive set of commands to manage the MCP (Model Context Protocol) gateway service.
7
+ *
8
+ * The CLI enables users to start, stop, restart, and monitor the MCP Hub Lite server through
9
+ * intuitive subcommands, making it easy to manage the lifecycle of the MCP gateway service
10
+ * from the terminal.
11
+ *
12
+ * Key Features:
13
+ * - **Server Management**: Start, stop, restart, and check status of the MCP Hub Lite server
14
+ * - **Daemon Mode**: Automatically runs the server in background mode with proper log rotation
15
+ * - **STDIO Mode**: Supports direct STDIO communication for MCP protocol integration
16
+ * - **Process Monitoring**: Tracks server process via PID files and provides real-time status
17
+ * - **Web UI Integration**: Opens the web-based management interface directly from CLI
18
+ * - **Server Listing**: Displays all configured and managed MCP servers in a tabular format
19
+ * - **Error Handling**: Provides detailed error messages and troubleshooting guidance
20
+ * - **Log Management**: Implements automatic log rotation for long-running server instances
21
+ *
22
+ * Usage Examples:
23
+ * ```bash
24
+ * # Start server in background (default)
25
+ * mcp-hub-lite start
26
+ *
27
+ * # Start server in foreground for debugging
28
+ * mcp-hub-lite start --foreground
29
+ *
30
+ * # Start in STDIO mode for MCP protocol
31
+ * mcp-hub-lite start --stdio
32
+ *
33
+ * # Stop the running server
34
+ * mcp-hub-lite stop
35
+ *
36
+ * # Check system status
37
+ * mcp-hub-lite status
38
+ *
39
+ * # List all managed MCP servers
40
+ * mcp-hub-lite list
41
+ *
42
+ * # Open web UI
43
+ * mcp-hub-lite ui
44
+ * ```
45
+ *
46
+ * The CLI automatically handles daemonization when started without the `--foreground` flag,
47
+ * redirecting logs to rotated log files in the user's home directory under `~/.mcp-hub-lite/logs/`.
48
+ *
49
+ * @module src/index
50
+ * @since 0.0.1
51
+ * @see {@link https://github.com/modelcontextprotocol} for MCP protocol specification
52
+ */
53
+ import { Command } from 'commander';
54
+ import { runServer } from './server/runner.js';
55
+ import { configManager } from './config/config-manager.js';
56
+ import { PidManager } from './pid/manager.js';
57
+ import { spawn } from 'child_process';
58
+ import path from 'path';
59
+ import fs from 'fs';
60
+ import os from 'os';
61
+ import { LogRotator } from './utils/log-rotator.js';
62
+ const program = new Command();
63
+ program.name('mcp-hub-lite').description('MCP Hub Lite CLI').version('0.0.1');
64
+ program
65
+ .command('start')
66
+ .description('Start the MCP Hub Lite server')
67
+ .option('--stdio', 'Run in stdio mode for MCP protocol')
68
+ .option('-p, --port <number>', 'Port to run on')
69
+ .option('-h, --host <string>', 'Host to bind to')
70
+ .option('-f, --foreground', 'Run in foreground (blocking)')
71
+ .action(async (options) => {
72
+ // Daemon mode by default unless --foreground or --stdio is specified
73
+ if (!options.foreground && !options.stdio) {
74
+ const args = [process.argv[1], 'start', '--foreground'];
75
+ if (options.port)
76
+ args.push('--port', options.port);
77
+ if (options.host)
78
+ args.push('--host', options.host);
79
+ const logDir = path.join(os.homedir(), '.mcp-hub-lite', 'logs');
80
+ const logRotator = new LogRotator(logDir, 'mcp-hub', undefined, () => configManager.getConfig());
81
+ // Rotate old logs before starting
82
+ logRotator.rotateLogs();
83
+ const logFile = logRotator.getCurrentLogFilePath();
84
+ const logStream = fs.openSync(logFile, 'a');
85
+ console.log(`Starting server in background...`);
86
+ console.log(`Logs: ${logFile}`);
87
+ const subprocess = spawn(process.argv[0], args, {
88
+ detached: true,
89
+ stdio: ['ignore', logStream, logStream]
90
+ });
91
+ subprocess.unref();
92
+ // Wait for server to initialize and write PID file
93
+ const startTime = Date.now();
94
+ const maxWaitTime = 5000; // 5 seconds max wait
95
+ const checkInterval = 200; // Check every 200ms
96
+ await new Promise((resolve) => {
97
+ const checkPid = setInterval(() => {
98
+ const elapsed = Date.now() - startTime;
99
+ // Check if PID file exists
100
+ if (PidManager.pidFileExists()) {
101
+ clearInterval(checkPid);
102
+ const pid = PidManager.getPid();
103
+ console.log(`✓ Server started successfully (PID: ${pid})`);
104
+ console.log(`\nAccess the web UI at: http://${options.host || 'localhost'}:${options.port || 7788}`);
105
+ resolve();
106
+ return;
107
+ }
108
+ // Timeout - check if subprocess is still running
109
+ if (elapsed > maxWaitTime) {
110
+ clearInterval(checkPid);
111
+ console.error(`\n✗ Server failed to start within ${maxWaitTime}ms`);
112
+ // Try to read the last few lines of log to provide helpful error message
113
+ try {
114
+ const logContent = fs.readFileSync(logFile, 'utf-8');
115
+ const logLines = logContent.trim().split('\n');
116
+ const recentLines = logLines.slice(-10); // Last 10 lines
117
+ // Check for common error patterns
118
+ const portInUsePattern = /EADDRINUSE.*:(\d+)/;
119
+ const alreadyRunningPattern = /MCP Hub Lite is already running/;
120
+ for (const line of recentLines) {
121
+ if (alreadyRunningPattern.test(line)) {
122
+ console.error(`\n⚠️ MCP Hub Lite is already running!`);
123
+ console.error(` Use 'npm run stop' to stop the existing instance.`);
124
+ break;
125
+ }
126
+ else if (portInUsePattern.test(line)) {
127
+ const match = line.match(portInUsePattern);
128
+ const port = match ? match[1] : 'unknown';
129
+ console.error(`\n⚠️ Port ${port} is already in use by another application.`);
130
+ console.error(` Solutions:`);
131
+ console.error(` 1. Stop the application using port ${port}`);
132
+ console.error(` 2. Use a different port: npm run start -- --port <PORT>`);
133
+ break;
134
+ }
135
+ }
136
+ }
137
+ catch {
138
+ // Ignore log read errors
139
+ }
140
+ console.error(`\n📄 Check full logs for details: ${logFile}\n`);
141
+ process.exit(1);
142
+ }
143
+ }, checkInterval);
144
+ });
145
+ process.exit(0);
146
+ }
147
+ await runServer({
148
+ stdio: options.stdio,
149
+ port: options.port ? parseInt(options.port) : undefined,
150
+ host: options.host
151
+ });
152
+ });
153
+ program
154
+ .command('list')
155
+ .description('List all managed MCP servers')
156
+ .action(async () => {
157
+ const config = configManager.getConfig();
158
+ const url = `http://${config.system.host}:${config.system.port}/web/servers`;
159
+ try {
160
+ const controller = new AbortController();
161
+ const timeoutId = setTimeout(() => controller.abort(), 5000);
162
+ const response = await fetch(url, { signal: controller.signal });
163
+ clearTimeout(timeoutId);
164
+ if (!response.ok)
165
+ throw new Error(`HTTP ${response.status}`);
166
+ const servers = await response.json();
167
+ console.table(servers);
168
+ process.exit(0);
169
+ }
170
+ catch (error) {
171
+ console.error('Failed to list servers:', error.message);
172
+ console.error('Is the server running?');
173
+ process.exit(1);
174
+ }
175
+ });
176
+ program
177
+ .command('status')
178
+ .description('Show system status')
179
+ .action(async () => {
180
+ const config = configManager.getConfig();
181
+ const pid = PidManager.getPid();
182
+ const isRunning = PidManager.isRunning();
183
+ // ANSI color codes
184
+ const colors = {
185
+ reset: '\x1b[0m',
186
+ bold: '\x1b[1m',
187
+ cyan: '\x1b[36m',
188
+ green: '\x1b[32m',
189
+ red: '\x1b[31m',
190
+ yellow: '\x1b[33m',
191
+ blue: '\x1b[34m'
192
+ };
193
+ // Display basic system info
194
+ console.log(`${colors.bold}MCP Hub Lite - System Status${colors.reset}`);
195
+ console.log('============================');
196
+ console.log(`${colors.cyan}Process ID:${colors.reset} ${isRunning ? pid : 'Not running'}`);
197
+ console.log(`${colors.cyan}Port:${colors.reset} ${config.system.port}`);
198
+ console.log(`${colors.cyan}Host:${colors.reset} ${config.system.host}`);
199
+ console.log(`${colors.cyan}Status:${colors.reset} ${isRunning ? `${colors.green}Running${colors.reset}` : `${colors.red}Stopped${colors.reset}`}`);
200
+ console.log('');
201
+ // Display MCP connection example
202
+ console.log(`${colors.bold}MCP Integration:${colors.reset}`);
203
+ console.log('================');
204
+ console.log(`${colors.yellow}Endpoint:${colors.reset} http://${config.system.host}:${config.system.port}/mcp`);
205
+ console.log(`${colors.yellow}Transport:${colors.reset} HTTP-Stream`);
206
+ console.log('');
207
+ const mcpClientConfig = {
208
+ mcpServers: {
209
+ 'mcp-hub-lite': {
210
+ type: 'http',
211
+ url: `http://${config.system.host}:${config.system.port}/mcp`
212
+ }
213
+ }
214
+ };
215
+ console.log(JSON.stringify(mcpClientConfig, null, 2));
216
+ console.log('');
217
+ // Try to fetch server list if running
218
+ if (isRunning) {
219
+ try {
220
+ const url = `http://${config.system.host}:${config.system.port}/web/servers`;
221
+ const controller = new AbortController();
222
+ const timeoutId = setTimeout(() => controller.abort(), 5000);
223
+ const response = await fetch(url, { signal: controller.signal });
224
+ clearTimeout(timeoutId);
225
+ const servers = (await response.json());
226
+ if (servers.length > 0) {
227
+ console.log(`${colors.bold}Managed MCP Servers:${colors.reset}`);
228
+ console.log('===================');
229
+ console.table(servers);
230
+ }
231
+ else {
232
+ console.log('No managed MCP servers configured.');
233
+ }
234
+ }
235
+ catch (error) {
236
+ console.error('Warning: Failed to fetch server list:', error.message);
237
+ }
238
+ }
239
+ else {
240
+ console.log('Server is not running. Start it with: npm run start');
241
+ }
242
+ process.exit(0);
243
+ });
244
+ program
245
+ .command('stop')
246
+ .description('Stop the running MCP Hub Lite server')
247
+ .action(() => {
248
+ const pid = PidManager.getPid();
249
+ if (!pid) {
250
+ console.error('No running server found (PID file missing).');
251
+ process.exit(1);
252
+ }
253
+ try {
254
+ console.log(`Stopping server (PID: ${pid})...`);
255
+ process.kill(pid, 'SIGTERM');
256
+ console.log('Stop signal sent.');
257
+ // Wait a bit for signal to process
258
+ setTimeout(() => {
259
+ process.exit(0);
260
+ }, 100);
261
+ }
262
+ catch (error) {
263
+ if (error.code === 'ESRCH') {
264
+ console.error('Server process not found (stale PID file?). Cleaning up...');
265
+ PidManager.removePid();
266
+ process.exit(0);
267
+ }
268
+ else {
269
+ console.error('Failed to stop server:', error.message);
270
+ process.exit(1);
271
+ }
272
+ }
273
+ });
274
+ program
275
+ .command('restart')
276
+ .description('Restart the MCP Hub Lite server')
277
+ .action(async () => {
278
+ // 1. Stop
279
+ const pid = PidManager.getPid();
280
+ if (pid) {
281
+ try {
282
+ console.log(`Stopping server (PID: ${pid})...`);
283
+ process.kill(pid, 'SIGTERM');
284
+ // Simple wait loop
285
+ let tries = 0;
286
+ while (PidManager.isRunning() && tries < 10) {
287
+ await new Promise((r) => setTimeout(r, 500));
288
+ tries++;
289
+ }
290
+ }
291
+ catch (error) {
292
+ if (error.code !== 'ESRCH')
293
+ console.error('Error stopping:', error.message);
294
+ }
295
+ }
296
+ // 2. Start
297
+ // Get the path to the executable (node) and the script (dist/index.js)
298
+ const args = ['start'];
299
+ // Check if we are running from node or binary
300
+ const isNode = process.argv[0].endsWith('node') || process.argv[0].endsWith('node.exe');
301
+ const childArgs = isNode ? [process.argv[1], ...args] : [...args];
302
+ try {
303
+ const child = spawn(process.argv[0], childArgs, {
304
+ detached: false,
305
+ stdio: 'inherit',
306
+ cwd: process.cwd() // Ensure we run in same directory
307
+ });
308
+ child.on('close', (code) => {
309
+ process.exit(code || 0);
310
+ });
311
+ }
312
+ catch (e) {
313
+ console.error('Failed to restart server:', e.message);
314
+ process.exit(1);
315
+ }
316
+ });
317
+ program
318
+ .command('ui')
319
+ .description('Open the Web UI')
320
+ .action(async () => {
321
+ const config = configManager.getConfig();
322
+ const url = `http://${config.system.host}:${config.system.port}`;
323
+ console.log(`Opening Web UI at ${url}...`);
324
+ const { exec } = await import('child_process');
325
+ const start = process.platform == 'darwin' ? 'open' : process.platform == 'win32' ? 'start' : 'xdg-open';
326
+ exec(`${start} ${url}`, (error) => {
327
+ if (error) {
328
+ console.error('Failed to open browser:', error.message);
329
+ process.exit(1);
330
+ }
331
+ else {
332
+ console.log('Browser opened successfully');
333
+ process.exit(0);
334
+ }
335
+ });
336
+ });
337
+ // Handle default execution (if no args provided, maybe just show help or start?)
338
+ // For now, if no args, we default to help.
339
+ // But existing behavior was "start server".
340
+ // To keep backward compatibility or easy usage:
341
+ if (process.argv.length === 2) {
342
+ // No args provided. We can default to start?
343
+ // Usually CLI tools show help.
344
+ // But since this IS the server binary, maybe defaulting to start is better if it's meant to be run as `npm start`.
345
+ // Let's check package.json scripts. "start": "npm start" -> "node dist/index.js".
346
+ // If I change it to require "start" subcommand, `npm start` will fail unless I update package.json.
347
+ // I should update package.json script to "mcp-hub-lite start" or handle default.
348
+ // I'll update package.json script later. For now, let's make it show help.
349
+ }
350
+ // Parse command-line arguments and execute the appropriate command
351
+ // This is the main entry point that processes all CLI commands
352
+ program.parse();
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Event data models
3
+ * Contains all data interface definitions used by the event bus
4
+ */
5
+ import type { ServerConfig, ServerInstanceConfig } from '../config/config.schema.js';
6
+ import type { Tool } from '../../shared/models/tool.model.js';
7
+ import type { Resource } from '../../shared/models/resource.model.js';
8
+ import type { LogLevel } from '../../shared/types/common.types.js';
9
+ export interface ServerAddedEventData {
10
+ name: string;
11
+ config: ServerConfig;
12
+ }
13
+ export interface ServerUpdatedEventData {
14
+ name: string;
15
+ config: ServerConfig;
16
+ }
17
+ export type ServerDeletedEventData = string;
18
+ export interface ServerInstanceAddedEventData {
19
+ name: string;
20
+ instance: ServerInstanceConfig;
21
+ }
22
+ export interface ServerInstanceUpdatedEventData {
23
+ name: string;
24
+ index: number;
25
+ updates: Partial<ServerInstanceConfig>;
26
+ }
27
+ export interface ServerInstanceDeletedEventData {
28
+ name: string;
29
+ index: number;
30
+ }
31
+ export interface ServerConnectedEventData {
32
+ serverId: string;
33
+ status: 'online';
34
+ timestamp: number;
35
+ }
36
+ export interface ServerDisconnectedEventData {
37
+ serverId: string;
38
+ status: 'offline';
39
+ timestamp: number;
40
+ }
41
+ export interface ServerStatusChangeEventData {
42
+ serverId: string;
43
+ status: 'online' | 'offline' | 'error';
44
+ error?: string;
45
+ timestamp: number;
46
+ }
47
+ export interface ToolsUpdatedEventData {
48
+ serverId: string;
49
+ tools: Tool[];
50
+ }
51
+ export interface ToolCallStartedEventData {
52
+ requestId: string;
53
+ serverId: string;
54
+ serverName: string;
55
+ toolName: string;
56
+ timestamp: number;
57
+ args: Record<string, unknown>;
58
+ }
59
+ export interface ToolCallCompletedEventData {
60
+ requestId: string;
61
+ serverId: string;
62
+ serverName: string;
63
+ toolName: string;
64
+ timestamp: number;
65
+ result: unknown;
66
+ }
67
+ export interface ToolCallErrorEventData {
68
+ requestId: string;
69
+ serverId: string;
70
+ serverName: string;
71
+ toolName: string;
72
+ timestamp: number;
73
+ error: string;
74
+ stack?: string;
75
+ }
76
+ export interface ResourcesUpdatedEventData {
77
+ serverId: string;
78
+ resources: Resource[];
79
+ }
80
+ export interface LogEntryEventData {
81
+ serverId: string;
82
+ logs: Array<{
83
+ level: LogLevel;
84
+ message: string;
85
+ timestamp: number;
86
+ }>;
87
+ }
88
+ export interface LogsClearedEventData {
89
+ serverId: string;
90
+ }
91
+ export interface ConfigurationUpdatedEventData {
92
+ timestamp: number;
93
+ config: unknown;
94
+ changes?: unknown;
95
+ }
96
+ export interface ClientConnectedEventData {
97
+ timestamp: number;
98
+ client: unknown;
99
+ }
100
+ export interface ClientDisconnectedEventData {
101
+ timestamp: number;
102
+ clientId: string;
103
+ client?: unknown;
104
+ }
105
+ export type EventData = unknown;
106
+ //# sourceMappingURL=event.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.model.d.ts","sourceRoot":"","sources":["../../../../src/models/event.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAGD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;QACV,KAAK,EAAE,QAAQ,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Event data models
3
+ * Contains all data interface definitions used by the event bus
4
+ */
5
+ export {};
@@ -0,0 +1,19 @@
1
+ import type { ServerStatus, ServerTransport } from '../../shared/types/common.types.js';
2
+ import type { ServerConfig as SharedServerConfig } from '../../shared/models/server.model';
3
+ export interface ServerConfig extends Omit<SharedServerConfig, 'type'> {
4
+ id: string;
5
+ name: string;
6
+ command: string;
7
+ args: string[];
8
+ type: ServerTransport;
9
+ enabled: boolean;
10
+ }
11
+ export interface ServerState {
12
+ status: ServerStatus;
13
+ lastCheck: number;
14
+ error?: string;
15
+ pid?: number;
16
+ }
17
+ export interface Server extends ServerConfig, ServerState {
18
+ }
19
+ //# sourceMappingURL=server.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.model.d.ts","sourceRoot":"","sources":["../../../../src/models/server.model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGtF,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,MAAO,SAAQ,YAAY,EAAE,WAAW;CAAG"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ /**
2
+ * System tools constants for MCP Hub Lite
3
+ * Centralized definition of system tool names and gateway server names
4
+ */
5
+ export type ListServersParams = Record<string, never>;
6
+ export interface FindServersParams {
7
+ pattern: string;
8
+ searchIn?: 'name' | 'description' | 'both';
9
+ caseSensitive?: boolean;
10
+ }
11
+ export interface ListAllToolsInServerParams {
12
+ serverName: string;
13
+ requestOptions?: {
14
+ sessionId?: string;
15
+ tags?: Record<string, string>;
16
+ };
17
+ }
18
+ export interface FindToolsInServerParams {
19
+ serverName: string;
20
+ pattern: string;
21
+ searchIn?: 'name' | 'description' | 'both';
22
+ caseSensitive?: boolean;
23
+ requestOptions?: {
24
+ sessionId?: string;
25
+ tags?: Record<string, string>;
26
+ };
27
+ }
28
+ export interface GetToolParams {
29
+ serverName: string;
30
+ toolName: string;
31
+ requestOptions?: {
32
+ sessionId?: string;
33
+ tags?: Record<string, string>;
34
+ };
35
+ }
36
+ export interface CallToolParams {
37
+ serverName: string;
38
+ toolName: string;
39
+ toolArgs: Record<string, unknown>;
40
+ requestOptions?: {
41
+ sessionId?: string;
42
+ tags?: Record<string, string>;
43
+ };
44
+ }
45
+ export interface FindToolsParams {
46
+ pattern: string;
47
+ searchIn?: 'name' | 'description' | 'both';
48
+ caseSensitive?: boolean;
49
+ }
50
+ export type SystemToolArgs = ListServersParams | FindServersParams | ListAllToolsInServerParams | FindToolsInServerParams | GetToolParams | CallToolParams | FindToolsParams;
51
+ export declare const LIST_SERVERS_TOOL = "list_servers";
52
+ export declare const FIND_SERVERS_TOOL = "find_servers";
53
+ export declare const LIST_ALL_TOOLS_IN_SERVER_TOOL = "list_all_tools_in_server";
54
+ export declare const FIND_TOOLS_IN_SERVER_TOOL = "find_tools_in_server";
55
+ export declare const GET_TOOL_TOOL = "get_tool";
56
+ export declare const CALL_TOOL_TOOL = "call_tool";
57
+ export declare const FIND_TOOLS_TOOL = "find_tools";
58
+ /**
59
+ * List of all system tool names
60
+ * This array is used to identify system tools across the application
61
+ */
62
+ export declare const SYSTEM_TOOL_NAMES: readonly ["list_servers", "find_servers", "list_all_tools_in_server", "find_tools_in_server", "get_tool", "call_tool", "find_tools"];
63
+ /**
64
+ * Type definition for system tool names
65
+ * Provides type safety when working with system tool names
66
+ */
67
+ export type SystemToolName = (typeof SYSTEM_TOOL_NAMES)[number];
68
+ /**
69
+ * MCP Hub Lite server name - represents both the system tools server and the gateway server
70
+ * This single name is used for both system tool identification and gateway server naming
71
+ */
72
+ export declare const MCP_HUB_LITE_SERVER = "mcp-hub-lite";
73
+ //# sourceMappingURL=system-tools.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tools.constants.d.ts","sourceRoot":"","sources":["../../../../src/models/system-tools.constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,0BAA0B,GAC1B,uBAAuB,GACvB,aAAa,GACb,cAAc,GACd,eAAe,CAAC;AAGpB,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAChE,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sIAQpB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAGhE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * System tools constants for MCP Hub Lite
3
+ * Centralized definition of system tool names and gateway server names
4
+ */
5
+ // Individual system tool name constants
6
+ export const LIST_SERVERS_TOOL = 'list_servers';
7
+ export const FIND_SERVERS_TOOL = 'find_servers';
8
+ export const LIST_ALL_TOOLS_IN_SERVER_TOOL = 'list_all_tools_in_server';
9
+ export const FIND_TOOLS_IN_SERVER_TOOL = 'find_tools_in_server';
10
+ export const GET_TOOL_TOOL = 'get_tool';
11
+ export const CALL_TOOL_TOOL = 'call_tool';
12
+ export const FIND_TOOLS_TOOL = 'find_tools';
13
+ /**
14
+ * List of all system tool names
15
+ * This array is used to identify system tools across the application
16
+ */
17
+ export const SYSTEM_TOOL_NAMES = [
18
+ LIST_SERVERS_TOOL,
19
+ FIND_SERVERS_TOOL,
20
+ LIST_ALL_TOOLS_IN_SERVER_TOOL,
21
+ FIND_TOOLS_IN_SERVER_TOOL,
22
+ GET_TOOL_TOOL,
23
+ CALL_TOOL_TOOL,
24
+ FIND_TOOLS_TOOL
25
+ ];
26
+ // Individual gateway server name constant
27
+ /**
28
+ * MCP Hub Lite server name - represents both the system tools server and the gateway server
29
+ * This single name is used for both system tool identification and gateway server naming
30
+ */
31
+ export const MCP_HUB_LITE_SERVER = 'mcp-hub-lite';